Дерево страниц

Общие сведения

Функция быстрого запуска VPN позволяет запускать и останавливать VPN нажатием на соответствующую кнопку на панели быстрого запуска в режиме «Мобильный» ОС СН.

Конфигурационный файл

Настройки быстрого запуска VPN задаются в конфигурационном файле /etc/xdg/vpn-helperrc.

Отображение кнопки быстрого запуска VPN задается в секции [GENERAL] параметром Enabled (по умолчанию false).

Файлы скриптов запуска, остановки и проверки статуса VPN указываются в секции [SCRIPTS]:

  1. Start — скрипт запуска VPN (по умолчанию /usr/lib/astra-mobile/astra-mobile-vpn-start).
  2. Status — скрипт проверки статуса VPN (по умолчанию /usr/lib/astra-mobile/astra-mobile-vpn-status). Периодичность проверки статуса задается в секции [GENERAL] параметром UpdateTimeout (по умолчанию —  3 секунды).
  3. Stop — скрипт остановки VPN (по умолчанию /usr/lib/astra-mobile/astra-mobile-vpn-stop).

Выполнение скриптов от учетной записи root задается параметром AsRoot. При значении true запуск выполняется от от учетной записи root, при значении false — от имени текущего пользователя.

Скрипты по умолчанию

Скрипт запуска

Скрипт запуска VPN по умолчанию — /usr/lib/astra-mobile/astra-mobile-vpn-start.

Секция Функции содержит описания функций, включающих поддерживаемые по умолчанию реализации VPN с нужными параметрами.

Секция Выбор реализации содержит закомментированные вызовы этих функций.

Скрипт проверки статуса

Скрипт проверки статуса VPN по умолчанию — /usr/lib/astra-mobile/astra-mobile-vpn-status.

Секция Функции содержит описания функций, проверяющих статус поддерживаемых по умолчанию реализаций VPN.

Секция Выбор реализации содержит закомментированные вызовы этих функций.

Скрипт остановки

Скрипт остановки VPN по умолчанию — /usr/lib/astra-mobile/astra-mobile-vpn-stop.

Секция Функции содержит описания функций, выключащих поддерживаемые по умолчанию реализации VPN.

Секция Выбор реализации содержит закомментированные вызовы этих функций.

Порядок настройки быстрого запуска VPN

OpenConnect

  1.  Отредактировать скрипт запуска VPN (/usr/lib/astra-mobile/astra-mobile-vpn-start):

    function main() {
        disconnect
     
    #     connect_not_mpl
        connect_openconnect_impl
    #     connect_vipnet_impl
    #     connect_continent_ap_impl
    #     connect_imitation_impl
     
        return $?
    }

  2.  В скрипте запуска VPN (/usr/lib/astra-mobile/astra-mobile-vpn-start) указать параметры подключения:

    local URL="<URL-адрес сервера VPN>"
    local GROUP="<Рабочая группа>"
    local USERNAME="<Имя пользователя>"
    local PASSWORD="<Пароль>"

    ВНИМАНИЕ! Хранение логина и пароля в открытом виде небезопасно! Рекомендуется настроить подключение по сертификатам и доработать соответствующим образом скрипт запуска.

  3. Отредактировать скрипт проверки статуса VPN (/usr/lib/astra-mobile/astra-mobile-vpn-status):

    function main() {
    #     status_not_mpl
        status_openconnect_impl
    #     status_vipnet_impl
    #     status_continent_ap_impl
    #     status_imitation_impl
     
        return $?
    }

  4. Отредактировать скрипт остановки VPN (/usr/lib/astra-mobile/astra-mobile-vpn-stop):

    function main() {
    #     disconnec_not_mpl
        disconnect_openconnect_impl
    #     disconnect_vipnet_impl
    #     disconnect_continent_ap_impl
    #     disconnect_imitation_impl
     
        return $?
    }

  5. В конфигурационном файле /etc/xdg/vpn-helperrc включить запуск от учетной записи root:

    AsRoot=true

ViPNet

  1.  Отредактировать скрипт запуска VPN (/usr/lib/astra-mobile/astra-mobile-vpn-start):

    function main() {
        disconnect
     
    #     connect_not_mpl
    #     connect_openconnect_impl
         connect_vipnet_impl
    #     connect_continent_ap_impl
    #     connect_imitation_impl
     
        return $?
    }

  2. Отредактировать скрипт проверки статуса VPN (/usr/lib/astra-mobile/astra-mobile-vpn-status):

    function main() {
    #     status_not_mpl
    #     status_openconnect_impl
         status_vipnet_impl
    #     status_continent_ap_impl
    #     status_imitation_impl
     
        return $?
    }

  3. Отредактировать скрипт остановки VPN (/usr/lib/astra-mobile/astra-mobile-vpn-stop):

    function main() {
    #     disconnec_not_mpl
    #     disconnect_openconnect_impl
         disconnect_vipnet_impl
    #     disconnect_continent_ap_impl
    #     disconnect_imitation_impl
     
        return $?
    }

  4. Если предполагается использование одного общего ключа (заданного учетной записи root), то включить запуск от учетной записи root, указав в конфигурационном файле /etc/xdg/vpn-helperrc параметр AsRoot=true. Если предполагается использование индивидуального ключа для каждого пользователя, то указать AsRoot=false.

Континент-АП

  1.  Отредактировать скрипт запуска VPN (/usr/lib/astra-mobile/astra-mobile-vpn-start):

    function main() {
        disconnect
     
    #     connect_not_mpl
    #     connect_openconnect_impl
    #     connect_vipnet_impl
         connect_continent_ap_impl
    #     connect_imitation_impl
     
        return $?
    }

  2. В скрипте запуска VPN (/usr/lib/astra-mobile/astra-mobile-vpn-start) указать параметры подключения:

    local NAME="<Имя пользователя>"
    local PASS="<Пароль>"

    ВНИМАНИЕ! Хранение логина и пароля в открытом виде небезопасно! Рекомендуется настроить подключение по сертификатам и доработать соответствующим образом скрипт запуска.

  3. Отредактировать скрипт проверки статуса VPN (/usr/lib/astra-mobile/astra-mobile-vpn-status):

    function main() {
    #     status_not_mpl
    #     status_openconnect_impl
    #     status_vipnet_impl
         status_continent_ap_impl
    #     status_imitation_impl
     
        return $?
    }

  4. Отредактировать скрипт остановки VPN (/usr/lib/astra-mobile/astra-mobile-vpn-stop):

    function main() {
    #     disconnec_not_mpl
    #     disconnect_openconnect_impl
    #     disconnect_vipnet_impl
         disconnect_continent_ap_impl
    #     disconnect_imitation_impl
     
        return $?
    }

Использование других реализаций

Если используется реализация VPN, не поддерживаемая по умолчанию, необходимо либо доработать существующие скрипты, либо написать новые и указать их расположение в конфигурационном файле /etc/xdg/vpn-helperrc (см. Конфигурационный файл). В качестве шаблонов можно использовать скрипты по умолчанию (см. Скрипты по умолчанию).

Скрипт запуска VPN должен удовлетворять следующим требованиям:

  • При успешном запуске VPN программа должна возвращать 0;
  • При неуспешном запуске VPN программа должна возвращать 1;
  • Запуск VPN не должен блокировать программу, т. е. программа выполняется, запускает VPN и сразу завершается. Процесс VPN должен продолжать существовать.

Скрипт проверки статуса VPN должен удовлетворять следующим требованиям:

  • При активном VPN программа должна возвращать 0;
  • При неактивном VPN программа должна возвращать 1;
  • В случае если программа существует но по какой либо причине не удаётся реализовать функционал, программа должна возвращать -1. В данном случае система будет игнорировать обновление статуса, как будто эта программа не указана в конфигурационном файле. Рекомендуется не использовать данное поведение, а в конфигурационном файле сделать путь к программе пустым (Status=).

Скрипт остановки VPN должен удовлетворять следующим требованиям:

  • При успешной остановке VPN программа должна возвращать 0;
  • При неуспешной остановке VPN программа должна возвращать 1.

Данная статья применима к: