Как запустить скрипт после успешного подключения OpenVPN?

Проект, над которым я работаю, вычисляет имя файла ui и каждый раз перестраивает диалоговое окно. Он показывает это и заканчивается вызовом gtk.main ().

Различные элементы управления имеют имена в glade-gtk2, а glade-gtk2 также используется для определения кнопок отмены и ok. Обработчики названы в поляне для сигналов, когда эти кнопки нажаты.

В названиях кодов также подключены различные элементы управления. Например:

self.use_vertical_layout = builder.get_object('vertical_layout')

Код определяет определения для обработчиков, и эти обработчики связаны с builder.connect_signals перед отображением диалогового окна.

Когда вызывается обработчик для ok , он может проверять значения различных элементов управления флажками. В приведенном выше примере self.use_vertical_layout, чтобы представить значение флажка, когда было выбрано OK.

Пожалуйста, имейте в виду, что pygtk - это способ gtk-2 делать вещи и текущие версии быстрого использования gtk3 и интроспекции вместо этого (но используя очень похожий подход).

42
задан 6 March 2011 в 13:22

28 ответов

network-manager-openvpn не предоставляет такую ​​функциональность, вы должны использовать openvpn напрямую.

Пропустить --script-security 2 --up /path/to/your/script к нему при подключении. Если вы используете файл конфигурации, расположенный в /etc/openvpn/, добавьте следующие строки в файл конфигурации:

script-security 2
# run /etc/openvpn/up.sh when the connection is set up
up /etc/openvpn/up.sh

Из справочной страницы OpenVPN:

--script-security level [method] This directive offers policy-level control over OpenVPN’s usage of external programs and scripts. Lower level values are more restrictive, higher values are more permissive. Settings for level: 0 -- Strictly no calling of external programs. 1 -- (Default) Only call built-in executables such as ifconfig, ip, route, or netsh. 2 -- Allow calling of built-in executables and user-defined scripts. 3 -- Allow passwords to be passed to scripts via environmental variables (potentially unsafe). --up cmd Shell command to run after successful TUN/TAP device open (pre --user UID change). The up script is useful for specifying route commands which route IP traffic destined for private subnets which exist at the other end of the VPN connection into the tunnel. Script Order of Execution --up Executed after TCP/UDP socket bind and TUN/TAP open. --down Executed after TCP/UDP and TUN/TAP close.

больше событий для выполнения скриптов, их можно найти в man-странице OpenVPN .

Создайте /etc/openvpn/up.sh и дайте ему разрешения на выполнение (например, 755 или 700). Пример содержимого для добавления адреса IPv6 и маршрута (показано в образовательных целях, не копируйте его напрямую):

#!/bin/sh
# add an IPv6 address to device $dev (environment variable)
ip -6 addr add 2001:db8::1:2/112 dev $dev
# and the IPv6 route for this net using gateway 2001:db8::1
ip -6 route add 2001:db8::1:0/112 via 2001:db8::1 dev $dev

Обратите внимание, что этот скрипт up запускается как root. Если вы не указали параметр User и Group, OpenVPN будет запускать скрипты, такие как down, как root.

46
ответ дан 25 May 2018 в 22:44
  • 1
    Если вы не знаете, как напрямую использовать openvpn, добавьте текущие сведения о конфигурации: Тип подключения (например, X509-сертификаты), Порт шлюза, LZO-сжатие, сила TCP, использование устройства-ответчика, шифрования, HMAC и TLS. Упоминайте свои настройки IP, если они не являются автоматическими. В вашей конфиденциальности, оставьте свои фактические адреса. – Lekensteyn 2 March 2011 в 22:39
  • 2
    Хорошо, я решил использовать OpenVPN напрямую (и да, у меня есть .conf-файл), но будет ли он автоматически подключаться, если соединение потеряно? И как я могу подключить его автоматически, когда есть интернет-соединение? И, наконец, я не понял, где я должен добавить строки, которые вы упомянули в ответе. – Oxwivi 5 March 2011 в 17:44
  • 3
    Я расширил ответ, чтобы использовать openvpn напрямую. При настройке сервера я заметил, что OpenVPN попытается снова подключиться, когда сервер опустится. Не уверен, что OpenVPN продолжит попытки, когда ваш сетевой интерфейс снизится. – Lekensteyn 5 March 2011 в 18:26
  • 4
    Моя проблема не в том, что сетевой интерфейс не работает - он пытается восстановить соединение, когда интернет-соединение потеряно и восстановлено. Я просто хочу подключиться к VPN, когда я получаю подключение к Интернету. – Oxwivi 5 March 2011 в 20:09
  • 5
    О, и применим ли сценарий ко всем VPN-соединениям? И , пожалуйста, тег @Oxwivi при ответе, я не буду уведомляться иначе. – Oxwivi 5 March 2011 в 20:10

network-manager-openvpn не предоставляет такую ​​функциональность, вы должны использовать openvpn напрямую.

Пропустить --script-security 2 --up /path/to/your/script к нему при подключении. Если вы используете файл конфигурации, расположенный в /etc/openvpn/, добавьте следующие строки в файл конфигурации:

script-security 2 # run /etc/openvpn/up.sh when the connection is set up up /etc/openvpn/up.sh

Из справочной страницы OpenVPN:

--script-security level [method] This directive offers policy-level control over OpenVPN’s usage of external programs and scripts. Lower level values are more restrictive, higher values are more permissive. Settings for level: 0 -- Strictly no calling of external programs. 1 -- (Default) Only call built-in executables such as ifconfig, ip, route, or netsh. 2 -- Allow calling of built-in executables and user-defined scripts. 3 -- Allow passwords to be passed to scripts via environmental variables (potentially unsafe). --up cmd Shell command to run after successful TUN/TAP device open (pre --user UID change). The up script is useful for specifying route commands which route IP traffic destined for private subnets which exist at the other end of the VPN connection into the tunnel. Script Order of Execution --up Executed after TCP/UDP socket bind and TUN/TAP open. --down Executed after TCP/UDP and TUN/TAP close.

больше событий для выполнения скриптов, их можно найти в man-странице OpenVPN .

Создайте /etc/openvpn/up.sh и дайте ему разрешения на выполнение (например, 755 или 700). Пример содержимого для добавления адреса IPv6 и маршрута (показано в образовательных целях, не копируйте его напрямую):

#!/bin/sh # add an IPv6 address to device $dev (environment variable) ip -6 addr add 2001:db8::1:2/112 dev $dev # and the IPv6 route for this net using gateway 2001:db8::1 ip -6 route add 2001:db8::1:0/112 via 2001:db8::1 dev $dev

Обратите внимание, что этот скрипт up запускается как root. Если вы не указали параметр User и Group, OpenVPN будет запускать скрипты, такие как down, как root.

48
ответ дан 25 July 2018 в 22:24

network-manager-openvpn не предоставляет такую ​​функциональность, вы должны использовать openvpn напрямую.

Пропустить --script-security 2 --up /path/to/your/script к нему при подключении. Если вы используете файл конфигурации, расположенный в /etc/openvpn/, добавьте следующие строки в файл конфигурации:

script-security 2 # run /etc/openvpn/up.sh when the connection is set up up /etc/openvpn/up.sh

Из справочной страницы OpenVPN:

--script-security level [method] This directive offers policy-level control over OpenVPN’s usage of external programs and scripts. Lower level values are more restrictive, higher values are more permissive. Settings for level: 0 -- Strictly no calling of external programs. 1 -- (Default) Only call built-in executables such as ifconfig, ip, route, or netsh. 2 -- Allow calling of built-in executables and user-defined scripts. 3 -- Allow passwords to be passed to scripts via environmental variables (potentially unsafe). --up cmd Shell command to run after successful TUN/TAP device open (pre --user UID change). The up script is useful for specifying route commands which route IP traffic destined for private subnets which exist at the other end of the VPN connection into the tunnel. Script Order of Execution --up Executed after TCP/UDP socket bind and TUN/TAP open. --down Executed after TCP/UDP and TUN/TAP close.

больше событий для выполнения скриптов, их можно найти в man-странице OpenVPN .

Создайте /etc/openvpn/up.sh и дайте ему разрешения на выполнение (например, 755 или 700). Пример содержимого для добавления адреса IPv6 и маршрута (показано в образовательных целях, не копируйте его напрямую):

#!/bin/sh # add an IPv6 address to device $dev (environment variable) ip -6 addr add 2001:db8::1:2/112 dev $dev # and the IPv6 route for this net using gateway 2001:db8::1 ip -6 route add 2001:db8::1:0/112 via 2001:db8::1 dev $dev

Обратите внимание, что этот скрипт up запускается как root. Если вы не указали параметр User и Group, OpenVPN будет запускать скрипты, такие как down, как root.

48
ответ дан 26 July 2018 в 21:19

network-manager-openvpn не предоставляет такую ​​функциональность, вы должны использовать openvpn напрямую.

Пропустить --script-security 2 --up /path/to/your/script к нему при подключении. Если вы используете файл конфигурации, расположенный в /etc/openvpn/, добавьте следующие строки в файл конфигурации:

script-security 2 # run /etc/openvpn/up.sh when the connection is set up up /etc/openvpn/up.sh

Из справочной страницы OpenVPN:

--script-security level [method] This directive offers policy-level control over OpenVPN’s usage of external programs and scripts. Lower level values are more restrictive, higher values are more permissive. Settings for level: 0 -- Strictly no calling of external programs. 1 -- (Default) Only call built-in executables such as ifconfig, ip, route, or netsh. 2 -- Allow calling of built-in executables and user-defined scripts. 3 -- Allow passwords to be passed to scripts via environmental variables (potentially unsafe). --up cmd Shell command to run after successful TUN/TAP device open (pre --user UID change). The up script is useful for specifying route commands which route IP traffic destined for private subnets which exist at the other end of the VPN connection into the tunnel. Script Order of Execution --up Executed after TCP/UDP socket bind and TUN/TAP open. --down Executed after TCP/UDP and TUN/TAP close.

больше событий для выполнения скриптов, их можно найти в man-странице OpenVPN .

Создайте /etc/openvpn/up.sh и дайте ему разрешения на выполнение (например, 755 или 700). Пример содержимого для добавления адреса IPv6 и маршрута (показано в образовательных целях, не копируйте его напрямую):

#!/bin/sh # add an IPv6 address to device $dev (environment variable) ip -6 addr add 2001:db8::1:2/112 dev $dev # and the IPv6 route for this net using gateway 2001:db8::1 ip -6 route add 2001:db8::1:0/112 via 2001:db8::1 dev $dev

Обратите внимание, что этот скрипт up запускается как root. Если вы не указали параметр User и Group, OpenVPN будет запускать скрипты, такие как down, как root.

48
ответ дан 2 August 2018 в 03:51

network-manager-openvpn не предоставляет такую ​​функциональность, вы должны использовать openvpn напрямую.

Пропустить --script-security 2 --up /path/to/your/script к нему при подключении. Если вы используете файл конфигурации, расположенный в /etc/openvpn/, добавьте следующие строки в файл конфигурации:

script-security 2 # run /etc/openvpn/up.sh when the connection is set up up /etc/openvpn/up.sh

Из справочной страницы OpenVPN:

--script-security level [method] This directive offers policy-level control over OpenVPN’s usage of external programs and scripts. Lower level values are more restrictive, higher values are more permissive. Settings for level: 0 -- Strictly no calling of external programs. 1 -- (Default) Only call built-in executables such as ifconfig, ip, route, or netsh. 2 -- Allow calling of built-in executables and user-defined scripts. 3 -- Allow passwords to be passed to scripts via environmental variables (potentially unsafe). --up cmd Shell command to run after successful TUN/TAP device open (pre --user UID change). The up script is useful for specifying route commands which route IP traffic destined for private subnets which exist at the other end of the VPN connection into the tunnel. Script Order of Execution --up Executed after TCP/UDP socket bind and TUN/TAP open. --down Executed after TCP/UDP and TUN/TAP close.

больше событий для выполнения скриптов, их можно найти в man-странице OpenVPN .

Создайте /etc/openvpn/up.sh и дайте ему разрешения на выполнение (например, 755 или 700). Пример содержимого для добавления адреса IPv6 и маршрута (показано в образовательных целях, не копируйте его напрямую):

#!/bin/sh # add an IPv6 address to device $dev (environment variable) ip -6 addr add 2001:db8::1:2/112 dev $dev # and the IPv6 route for this net using gateway 2001:db8::1 ip -6 route add 2001:db8::1:0/112 via 2001:db8::1 dev $dev

Обратите внимание, что этот скрипт up запускается как root. Если вы не указали параметр User и Group, OpenVPN будет запускать скрипты, такие как down, как root.

48
ответ дан 4 August 2018 в 19:55

network-manager-openvpn не предоставляет такую ​​функциональность, вы должны напрямую использовать openvpn .

Pass - script- безопасность 2 --up / path / to / your / script к нему при подключении. Если вы используете файл конфигурации, расположенный в / etc / openvpn / , добавьте следующие строки в файл конфигурации:

  script-security 2 # run / etc  /openvpn/up.sh, когда соединение установлено вверх /etc/openvpn/up.sh  

Из man-страницы OpenVPN :

  ] - уровень безопасности скрипта [метод] Эта директива предлагает на уровне политик контролировать использование OpenVPN внешних программ и скриптов.  Более низкие значения более строгие, более высокие значения более разрешительны.  Настройки для уровня: 0 - Строго нет вызова внешних программ.  1 - (по умолчанию) Выполнять вызов только встроенных исполняемых файлов, таких как ifconfig, ip, route или netsh.  2 - Разрешить вызов встроенных исполняемых файлов и пользовательских скриптов.  3 - Разрешить передачу паролей в сценарии через переменные среды (потенциально опасные).  --up cmd Команда Shell для запуска после успешного открытия устройства TUN / TAP (изменение UID перед пользователем).  Сценарий up полезен для указания команд маршрута, которые маршрутизируют IP-трафик, предназначенный для частных подсетей, которые существуют на другом конце VPN-соединения в туннеле.  Порядок выполнения скрипта --up Выполняется после соединения сокета TCP / UDP и TUN / TAP.  --down Выполняется после закрытия TCP / UDP и TUN / TAP.  

Для выполнения скриптов больше событий, их можно найти на странице manual .

Создать /etc/openvpn/up.sh и дать ему разрешения на выполнение (например, 755 или 700). Пример содержимого для добавления адреса IPv6 и маршрута (показано в образовательных целях, не копируйте его напрямую):

  #! / Bin / sh # добавить адрес IPv6 к устройству $ dev (переменная среды  ) ip -6 addr add 2001: db8 :: 1: 2/112 dev $ dev # и маршрут IPv6 для этой сети с использованием шлюза 2001: db8 :: 1 ip -6 route add 2001: db8 :: 1: 0/112  через 2001: db8 :: 1 dev $ dev  

Обратите внимание, что этот скрипт up запускается как root. Если вы не указали параметр User и Group , OpenVPN будет запускать скрипты, такие как down , как root тоже.

48
ответ дан 6 August 2018 в 03:57

network-manager-openvpn не предоставляет такую ​​функциональность, вы должны напрямую использовать openvpn .

Pass - script- безопасность 2 --up / path / to / your / script к нему при подключении. Если вы используете файл конфигурации, расположенный в / etc / openvpn / , добавьте следующие строки в файл конфигурации:

  script-security 2 # run / etc  /openvpn/up.sh, когда соединение установлено вверх /etc/openvpn/up.sh  

Из man-страницы OpenVPN :

  ] - уровень безопасности скрипта [метод] Эта директива предлагает на уровне политик контролировать использование OpenVPN внешних программ и скриптов.  Более низкие значения более строгие, более высокие значения более разрешительны.  Настройки для уровня: 0 - Строго нет вызова внешних программ.  1 - (по умолчанию) Выполнять вызов только встроенных исполняемых файлов, таких как ifconfig, ip, route или netsh.  2 - Разрешить вызов встроенных исполняемых файлов и пользовательских скриптов.  3 - Разрешить передачу паролей в сценарии через переменные среды (потенциально опасные).  --up cmd Команда Shell для запуска после успешного открытия устройства TUN / TAP (изменение UID перед пользователем).  Сценарий up полезен для указания команд маршрута, которые маршрутизируют IP-трафик, предназначенный для частных подсетей, которые существуют на другом конце VPN-соединения в туннеле.  Порядок выполнения скрипта --up Выполняется после соединения сокета TCP / UDP и TUN / TAP.  --down Выполняется после закрытия TCP / UDP и TUN / TAP.  

Для выполнения скриптов больше событий, их можно найти на странице manual .

Создать /etc/openvpn/up.sh и дать ему разрешения на выполнение (например, 755 или 700). Пример содержимого для добавления адреса IPv6 и маршрута (показано в образовательных целях, не копируйте его напрямую):

  #! / Bin / sh # добавить адрес IPv6 к устройству $ dev (переменная среды  ) ip -6 addr add 2001: db8 :: 1: 2/112 dev $ dev # и маршрут IPv6 для этой сети с использованием шлюза 2001: db8 :: 1 ip -6 route add 2001: db8 :: 1: 0/112  через 2001: db8 :: 1 dev $ dev  

Обратите внимание, что этот скрипт up запускается как root. Если вы не указали параметр User и Group , OpenVPN будет запускать скрипты, такие как down , как root тоже.

48
ответ дан 7 August 2018 в 21:55

network-manager-openvpn не предоставляет такую ​​функциональность, вы должны напрямую использовать openvpn .

Pass - script- безопасность 2 --up / path / to / your / script к нему при подключении. Если вы используете файл конфигурации, расположенный в / etc / openvpn / , добавьте следующие строки в файл конфигурации:

  script-security 2 # run / etc  /openvpn/up.sh, когда соединение установлено вверх /etc/openvpn/up.sh  

Из man-страницы OpenVPN :

  ] - уровень безопасности скрипта [метод] Эта директива предлагает на уровне политик контролировать использование OpenVPN внешних программ и скриптов.  Более низкие значения более строгие, более высокие значения более разрешительны.  Настройки для уровня: 0 - Строго нет вызова внешних программ.  1 - (по умолчанию) Выполнять вызов только встроенных исполняемых файлов, таких как ifconfig, ip, route или netsh.  2 - Разрешить вызов встроенных исполняемых файлов и пользовательских скриптов.  3 - Разрешить передачу паролей в сценарии через переменные среды (потенциально опасные).  --up cmd Команда Shell для запуска после успешного открытия устройства TUN / TAP (изменение UID перед пользователем).  Сценарий up полезен для указания команд маршрута, которые маршрутизируют IP-трафик, предназначенный для частных подсетей, которые существуют на другом конце VPN-соединения в туннеле.  Порядок выполнения скрипта --up Выполняется после соединения сокета TCP / UDP и TUN / TAP.  --down Выполняется после закрытия TCP / UDP и TUN / TAP.  

Для выполнения скриптов больше событий, их можно найти на странице manual .

Создать /etc/openvpn/up.sh и дать ему разрешения на выполнение (например, 755 или 700). Пример содержимого для добавления адреса IPv6 и маршрута (показано в образовательных целях, не копируйте его напрямую):

  #! / Bin / sh # добавить адрес IPv6 к устройству $ dev (переменная среды  ) ip -6 addr add 2001: db8 :: 1: 2/112 dev $ dev # и маршрут IPv6 для этой сети с использованием шлюза 2001: db8 :: 1 ip -6 route add 2001: db8 :: 1: 0/112  через 2001: db8 :: 1 dev $ dev  

Обратите внимание, что этот скрипт up запускается как root. Если вы не указали параметр User и Group , OpenVPN будет запускать скрипты, такие как down , как root тоже.

48
ответ дан 10 August 2018 в 10:10

network-manager-openvpn не предоставляет такую ​​функциональность, вы должны напрямую использовать openvpn .

Pass - script- безопасность 2 --up / path / to / your / script к нему при подключении. Если вы используете файл конфигурации, расположенный в / etc / openvpn / , добавьте следующие строки в файл конфигурации:

  script-security 2 # run / etc  /openvpn/up.sh, когда соединение установлено вверх /etc/openvpn/up.sh  

Из man-страницы OpenVPN :

  ] - уровень безопасности скрипта [метод] Эта директива предлагает на уровне политик контролировать использование OpenVPN внешних программ и скриптов.  Более низкие значения более строгие, более высокие значения более разрешительны.  Настройки для уровня: 0 - Строго нет вызова внешних программ.  1 - (по умолчанию) Выполнять вызов только встроенных исполняемых файлов, таких как ifconfig, ip, route или netsh.  2 - Разрешить вызов встроенных исполняемых файлов и пользовательских скриптов.  3 - Разрешить передачу паролей в сценарии через переменные среды (потенциально опасные).  --up cmd Команда Shell для запуска после успешного открытия устройства TUN / TAP (изменение UID перед пользователем).  Сценарий up полезен для указания команд маршрута, которые маршрутизируют IP-трафик, предназначенный для частных подсетей, которые существуют на другом конце VPN-соединения в туннеле.  Порядок выполнения скрипта --up Выполняется после соединения сокета TCP / UDP и TUN / TAP.  --down Выполняется после закрытия TCP / UDP и TUN / TAP.  

Для выполнения скриптов больше событий, их можно найти на странице manual .

Создать /etc/openvpn/up.sh и дать ему разрешения на выполнение (например, 755 или 700). Пример содержимого для добавления адреса IPv6 и маршрута (показано в образовательных целях, не копируйте его напрямую):

  #! / Bin / sh # добавить адрес IPv6 к устройству $ dev (переменная среды  ) ip -6 addr add 2001: db8 :: 1: 2/112 dev $ dev # и маршрут IPv6 для этой сети с использованием шлюза 2001: db8 :: 1 ip -6 route add 2001: db8 :: 1: 0/112  через 2001: db8 :: 1 dev $ dev  

Обратите внимание, что этот скрипт up запускается как root. Если вы не указали параметр User и Group , OpenVPN будет запускать скрипты, такие как down , как root тоже.

48
ответ дан 13 August 2018 в 16:31
  • 1
    Если вы не знаете, как напрямую использовать openvpn, добавьте текущие сведения о конфигурации: Тип подключения (например, X509-сертификаты), Порт шлюза, LZO-сжатие, сила TCP, использование устройства-ответчика, шифрования, HMAC и TLS. Упоминайте свои настройки IP, если они не являются автоматическими. В вашей конфиденциальности, оставьте свои фактические адреса. – Lekensteyn 2 March 2011 в 22:39
  • 2
    Хорошо, я решил использовать OpenVPN напрямую (и да, у меня есть .conf-файл), но будет ли он автоматически подключаться, если соединение потеряно? И как я могу подключить его автоматически, когда есть интернет-соединение? И, наконец, я не понял, где я должен добавить строки, которые вы упомянули в ответе. – Oxwivi 5 March 2011 в 17:44
  • 3
    Я расширил ответ, чтобы напрямую использовать openvpn . При настройке сервера я заметил, что OpenVPN попытается снова подключиться, когда сервер опустится. Не уверен, что OpenVPN продолжит попытки, когда ваш сетевой интерфейс снизится. – Lekensteyn 5 March 2011 в 18:26
  • 4
    Моя проблема не в том, что сетевой интерфейс не работает - он пытается восстановить соединение, когда интернет-соединение потеряно и восстановлено. Я просто хочу подключиться к VPN, когда я получаю подключение к Интернету. – Oxwivi 5 March 2011 в 20:09
  • 5
    О, и применим ли сценарий ко всем VPN-соединениям? И пожалуйста тег @Oxwivi при ответе, я не получаю уведомление в противном случае. – Oxwivi 5 March 2011 в 20:10

На вопрос: «Как связать скрипт с OpenVPN, чтобы он запускался, когда VPN подключен успешно?» Я хочу отметить, что Лекенштейн дал отличный ответ. Но в то время, когда его ответ был составлен, ему не хватало ясности относительно того, как должны быть предоставлены аргументы командной строки openvpn, чтобы запустить openvpn на машине ubuntu, тем более, что он будет работать так же после перезагрузки.

Аргументы командной строки Openvpn на Ubuntu:

Естественно, что можно запустить openvpn из командной строки с любыми доступными юридическими параметрами. Но на машине Ubuntu, если вы хотите запустить openvpn с теми же аргументами командной строки после перезагрузки, они должны рассмотреть возможность редактирования файла /etc/default/openvpn. Изучите следующие строки:

# Optional arguments to openvpn's command line
OPTARGS="" 

Из Lekensteyn на --script-security

--script-security level This directive offers policy-level control over OpenVPN's usage of external programs and scripts. Lower level values are more restrictive, higher values are more permissive. Settings for level: 0 -- Strictly no calling of external programs. 1 -- (Default) Only call built-in executables such as ifconfig, ip, route, or netsh. 2 -- Allow calling of built-in executables and user-defined scripts. 3 -- Allow passwords to be passed to scripts via environmental variables (potentially unsafe). OpenVPN releases before v2.3 also supported a method flag which indicated how OpenVPN should call external commands and scripts. This could be either execve or system. As of OpenVPN v2.3, this flag is no longer accepted. In most *nix environments the execve() approach has been used without any issues. Some directives such as --up allow options to be passed to the external script. In these cases make sure the script name does not contain any spaces or the configuration parser will choke because it can't determine where the script name ends and script options start.

В сочетании с сокращенным разделом --up [!d8 ] --up cmd Run command cmd after successful TUN/TAP device open (pre --user UID change). cmd consists of a path to script (or executable program), optionally followed by arguments. The path and arguments may be single- or double-quoted and/or escaped using a backslash, and should be separated by one or more spaces.

Пример:

На моей машине с openpvn server.conf у меня есть следующие строки в файле /etc/default/openvpn:

[ f4]

Неприменимо nat.sh устанавливает трансляцию сетевых адресов для маршрутизации трафика частной сети с клиентов openvpn в общедоступный Интернет; что хорошо, когда человек не доверяет публичной точке доступа WIFI.

Помимо возможности перезапуска, как и ожидалось после перезагрузки, когда файлы /etc/openvpn/[client or server].conf и /etc/default/openvpn настроены правильно, openvpn можно запустить или остановить с помощью:

sudo service openvpn start
sudo service openvpn stop

Другие полезные опции, доступные для service openvpn, включают cond-restart,force-reload,reload, restart,soft-restart, start, status, stop.

2
ответ дан 25 May 2018 в 22:44

Поскольку это довольно старая нить, я не уверен, если все еще интересно. Если вы все еще хотите использовать NetworkManager для подключения к VPN, вы можете добавить простое правило udev:

KERNEL=="vpn0", RUN+="/PATH_TO_THE_SCRIPT/SCRIPT_NAME"

Это должно запускать любой скрипт после создания VPN .

1
ответ дан 25 May 2018 в 22:44

На вопрос: «Как связать скрипт с OpenVPN, чтобы он запускался, когда VPN подключен успешно?» Я хочу отметить, что Лекенштейн дал отличный ответ. Но в то время, когда его ответ был составлен, ему не хватало ясности относительно того, как должны быть предоставлены аргументы командной строки openvpn, чтобы запустить openvpn на машине ubuntu, тем более, что он будет работать так же после перезагрузки.

Аргументы командной строки Openvpn на Ubuntu:

Естественно, что можно запустить openvpn из командной строки с любыми доступными юридическими параметрами. Но на машине Ubuntu, если вы хотите запустить openvpn с теми же аргументами командной строки после перезагрузки, они должны рассмотреть возможность редактирования файла /etc/default/openvpn. Изучите следующие строки:

# Optional arguments to openvpn's command line OPTARGS=""

Из Lekensteyn на --script-security

--script-security level This directive offers policy-level control over OpenVPN's usage of external programs and scripts. Lower level values are more restrictive, higher values are more permissive. Settings for level: 0 -- Strictly no calling of external programs. 1 -- (Default) Only call built-in executables such as ifconfig, ip, route, or netsh. 2 -- Allow calling of built-in executables and user-defined scripts. 3 -- Allow passwords to be passed to scripts via environmental variables (potentially unsafe). OpenVPN releases before v2.3 also supported a method flag which indicated how OpenVPN should call external commands and scripts. This could be either execve or system. As of OpenVPN v2.3, this flag is no longer accepted. In most *nix environments the execve() approach has been used without any issues. Some directives such as --up allow options to be passed to the external script. In these cases make sure the script name does not contain any spaces or the configuration parser will choke because it can't determine where the script name ends and script options start.

В сочетании с сокращенным разделом --up

--up cmd Run command cmd after successful TUN/TAP device open (pre --user UID change). cmd consists of a path to script (or executable program), optionally followed by arguments. The path and arguments may be single- or double-quoted and/or escaped using a backslash, and should be separated by one or more spaces.

Пример:

На моей машине с openpvn server.conf у меня есть следующие строки в файле /etc/default/openvpn:

OPTARGS=" --script-security 2 --up /etc/openvpn/nat.sh "

Неприменимо nat.sh устанавливает трансляцию сетевых адресов для маршрутизации трафика частной сети с клиентов openvpn в общедоступный Интернет; что хорошо, когда человек не доверяет публичной точке доступа WIFI.

Помимо возможности перезапуска, как и ожидалось после перезагрузки, когда файлы /etc/openvpn/[client or server].conf и /etc/default/openvpn настроены правильно, openvpn можно запустить или остановить с помощью:

sudo service openvpn start sudo service openvpn stop

Другие полезные опции, доступные для service openvpn, включают cond-restart,force-reload,reload, restart,soft-restart, start, status, stop.

2
ответ дан 25 July 2018 в 22:24

Поскольку это довольно старая нить, я не уверен, если все еще интересно. Если вы все еще хотите использовать NetworkManager для подключения к VPN, вы можете добавить простое правило udev:

KERNEL=="vpn0", RUN+="/PATH_TO_THE_SCRIPT/SCRIPT_NAME"

Это должно запускать любой скрипт после создания VPN .

1
ответ дан 25 July 2018 в 22:24

На вопрос: «Как связать скрипт с OpenVPN, чтобы он запускался, когда VPN подключен успешно?» Я хочу отметить, что Лекенштейн дал отличный ответ. Но в то время, когда его ответ был составлен, ему не хватало ясности относительно того, как должны быть предоставлены аргументы командной строки openvpn, чтобы запустить openvpn на машине ubuntu, тем более, что он будет работать так же после перезагрузки.

Аргументы командной строки Openvpn на Ubuntu:

Естественно, что можно запустить openvpn из командной строки с любыми доступными юридическими параметрами. Но на машине Ubuntu, если вы хотите запустить openvpn с теми же аргументами командной строки после перезагрузки, они должны рассмотреть возможность редактирования файла /etc/default/openvpn. Изучите следующие строки:

# Optional arguments to openvpn's command line OPTARGS=""

Из Lekensteyn на --script-security

--script-security level This directive offers policy-level control over OpenVPN's usage of external programs and scripts. Lower level values are more restrictive, higher values are more permissive. Settings for level: 0 -- Strictly no calling of external programs. 1 -- (Default) Only call built-in executables such as ifconfig, ip, route, or netsh. 2 -- Allow calling of built-in executables and user-defined scripts. 3 -- Allow passwords to be passed to scripts via environmental variables (potentially unsafe). OpenVPN releases before v2.3 also supported a method flag which indicated how OpenVPN should call external commands and scripts. This could be either execve or system. As of OpenVPN v2.3, this flag is no longer accepted. In most *nix environments the execve() approach has been used without any issues. Some directives such as --up allow options to be passed to the external script. In these cases make sure the script name does not contain any spaces or the configuration parser will choke because it can't determine where the script name ends and script options start.

В сочетании с сокращенным разделом --up

--up cmd Run command cmd after successful TUN/TAP device open (pre --user UID change). cmd consists of a path to script (or executable program), optionally followed by arguments. The path and arguments may be single- or double-quoted and/or escaped using a backslash, and should be separated by one or more spaces.

Пример:

На моей машине с openpvn server.conf у меня есть следующие строки в файле /etc/default/openvpn:

OPTARGS=" --script-security 2 --up /etc/openvpn/nat.sh "

Неприменимо nat.sh устанавливает трансляцию сетевых адресов для маршрутизации трафика частной сети с клиентов openvpn в общедоступный Интернет; что хорошо, когда человек не доверяет публичной точке доступа WIFI.

Помимо возможности перезапуска, как и ожидалось после перезагрузки, когда файлы /etc/openvpn/[client or server].conf и /etc/default/openvpn настроены правильно, openvpn можно запустить или остановить с помощью:

sudo service openvpn start sudo service openvpn stop

Другие полезные опции, доступные для service openvpn, включают cond-restart,force-reload,reload, restart,soft-restart, start, status, stop.

2
ответ дан 26 July 2018 в 21:19

Поскольку это довольно старая нить, я не уверен, если все еще интересуюсь. Если вы все еще хотите использовать NetworkManager для подключения к VPN, вы можете добавить простое правило udev:

KERNEL=="vpn0", RUN+="/PATH_TO_THE_SCRIPT/SCRIPT_NAME"

Это должно запускать любой скрипт после создания VPN .

1
ответ дан 26 July 2018 в 21:19

На вопрос: «Как связать скрипт с OpenVPN, чтобы он запускался, когда VPN подключен успешно?» Я хочу отметить, что Лекенштейн дал отличный ответ. Но в то время, когда его ответ был составлен, ему не хватало ясности относительно того, как должны быть предоставлены аргументы командной строки openvpn, чтобы запустить openvpn на машине ubuntu, тем более, что он будет работать так же после перезагрузки.

Аргументы командной строки Openvpn на Ubuntu:

Естественно, что можно запустить openvpn из командной строки с любыми доступными юридическими параметрами. Но на машине Ubuntu, если вы хотите запустить openvpn с теми же аргументами командной строки после перезагрузки, они должны рассмотреть возможность редактирования файла /etc/default/openvpn. Изучите следующие строки:

# Optional arguments to openvpn's command line OPTARGS=""

Из Lekensteyn на --script-security

--script-security level This directive offers policy-level control over OpenVPN's usage of external programs and scripts. Lower level values are more restrictive, higher values are more permissive. Settings for level: 0 -- Strictly no calling of external programs. 1 -- (Default) Only call built-in executables such as ifconfig, ip, route, or netsh. 2 -- Allow calling of built-in executables and user-defined scripts. 3 -- Allow passwords to be passed to scripts via environmental variables (potentially unsafe). OpenVPN releases before v2.3 also supported a method flag which indicated how OpenVPN should call external commands and scripts. This could be either execve or system. As of OpenVPN v2.3, this flag is no longer accepted. In most *nix environments the execve() approach has been used without any issues. Some directives such as --up allow options to be passed to the external script. In these cases make sure the script name does not contain any spaces or the configuration parser will choke because it can't determine where the script name ends and script options start.

В сочетании с сокращенным разделом --up

--up cmd Run command cmd after successful TUN/TAP device open (pre --user UID change). cmd consists of a path to script (or executable program), optionally followed by arguments. The path and arguments may be single- or double-quoted and/or escaped using a backslash, and should be separated by one or more spaces.

Пример:

На моей машине с openpvn server.conf у меня есть следующие строки в файле /etc/default/openvpn:

OPTARGS=" --script-security 2 --up /etc/openvpn/nat.sh "

Неприменимо nat.sh устанавливает трансляцию сетевых адресов для маршрутизации трафика частной сети с клиентов openvpn в общедоступный Интернет; что хорошо, когда человек не доверяет публичной точке доступа WIFI.

Помимо возможности перезапуска, как и ожидалось после перезагрузки, когда файлы /etc/openvpn/[client or server].conf и /etc/default/openvpn настроены правильно, openvpn можно запустить или остановить с помощью:

sudo service openvpn start sudo service openvpn stop

Другие полезные опции, доступные для service openvpn, включают cond-restart,force-reload,reload, restart,soft-restart, start, status, stop.

2
ответ дан 2 August 2018 в 03:51

Поскольку это довольно старая нить, я не уверен, если все еще интересно. Если вы все еще хотите использовать NetworkManager для подключения к VPN, вы можете добавить простое правило udev:

KERNEL=="vpn0", RUN+="/PATH_TO_THE_SCRIPT/SCRIPT_NAME"

Это должно запускать любой скрипт после создания VPN .

1
ответ дан 2 August 2018 в 03:51

На вопрос: «Как связать скрипт с OpenVPN, чтобы он запускался, когда VPN подключен успешно?» Я хочу отметить, что Лекенштейн дал отличный ответ. Но в то время, когда его ответ был составлен, ему не хватало ясности относительно того, как должны быть предоставлены аргументы командной строки openvpn, чтобы запустить openvpn на машине ubuntu, тем более, что он будет работать так же после перезагрузки.

Аргументы командной строки Openvpn на Ubuntu:

Естественно, что можно запустить openvpn из командной строки с любыми доступными юридическими параметрами. Но на машине Ubuntu, если вы хотите запустить openvpn с теми же аргументами командной строки после перезагрузки, они должны рассмотреть возможность редактирования файла /etc/default/openvpn. Изучите следующие строки:

# Optional arguments to openvpn's command line OPTARGS=""

Из Lekensteyn на --script-security

--script-security level This directive offers policy-level control over OpenVPN's usage of external programs and scripts. Lower level values are more restrictive, higher values are more permissive. Settings for level: 0 -- Strictly no calling of external programs. 1 -- (Default) Only call built-in executables such as ifconfig, ip, route, or netsh. 2 -- Allow calling of built-in executables and user-defined scripts. 3 -- Allow passwords to be passed to scripts via environmental variables (potentially unsafe). OpenVPN releases before v2.3 also supported a method flag which indicated how OpenVPN should call external commands and scripts. This could be either execve or system. As of OpenVPN v2.3, this flag is no longer accepted. In most *nix environments the execve() approach has been used without any issues. Some directives such as --up allow options to be passed to the external script. In these cases make sure the script name does not contain any spaces or the configuration parser will choke because it can't determine where the script name ends and script options start.

В сочетании с сокращенным разделом --up

--up cmd Run command cmd after successful TUN/TAP device open (pre --user UID change). cmd consists of a path to script (or executable program), optionally followed by arguments. The path and arguments may be single- or double-quoted and/or escaped using a backslash, and should be separated by one or more spaces.

Пример:

На моей машине с openpvn server.conf у меня есть следующие строки в файле /etc/default/openvpn:

OPTARGS=" --script-security 2 --up /etc/openvpn/nat.sh "

Неприменимо nat.sh устанавливает трансляцию сетевых адресов для маршрутизации трафика частной сети с клиентов openvpn в общедоступный Интернет; что хорошо, когда человек не доверяет публичной точке доступа WIFI.

Помимо возможности перезапуска, как и ожидалось после перезагрузки, когда файлы /etc/openvpn/[client or server].conf и /etc/default/openvpn настроены правильно, openvpn можно запустить или остановить с помощью:

sudo service openvpn start sudo service openvpn stop

Другие полезные опции, доступные для service openvpn, включают cond-restart,force-reload,reload, restart,soft-restart, start, status, stop.

2
ответ дан 4 August 2018 в 19:55

Поскольку это довольно старая нить, я не уверен, если все еще интересуюсь. Если вы все еще хотите использовать NetworkManager для подключения к VPN, вы можете добавить простое правило udev:

KERNEL=="vpn0", RUN+="/PATH_TO_THE_SCRIPT/SCRIPT_NAME"

Это должно запускать любой скрипт после создания VPN .

1
ответ дан 4 August 2018 в 19:55

Поскольку это довольно старая нить, я не уверен, если еще интересно. Если вы все еще хотите использовать NetworkManager для подключения к VPN, вы можете добавить простое правило udev:

KERNEL == "vpn0", RUN + = "/ PATH_TO_THE_SCRIPT / SCRIPT_NAME"

Это должно запускать любой скрипт после создания VPN.

1
ответ дан 6 August 2018 в 03:57

На вопрос: «Как связать скрипт с OpenVPN, чтобы он запускался, когда VPN подключен успешно?» Хочу отметить, что Lekensteyn предоставил отличный ответ . Но в то время, когда его ответ был составлен, ему не хватало ясности относительно того, как должны быть предоставлены аргументы командной строки openvpn, чтобы запустить openvpn на машине ubuntu, тем более, что он будет работать так же после перезагрузки.


Аргументы командной строки Openvpn в Ubuntu:

Естественно, можно запустить openvpn из командной строки с любыми доступными юридическими параметрами. Но на машине Ubuntu, если вы хотите запустить openvpn с теми же аргументами командной строки после перезагрузки, им следует рассмотреть возможность редактирования файла / etc / default / openvpn . Изучите следующие строки:

  # Дополнительные аргументы командной строки openvpn OPTARGS = ""  

Из сообщества communityvvnn man on - script-security

 - уровень безопасности скрипта Эта директива предлагает на уровне политик контролировать использование OpenVPN внешних программ и скриптов.  Более низкие значения более строгие, более высокие значения более разрешительны.  Настройки для уровня: 0 - Строго нет вызова внешних программ.  1 - (по умолчанию) Выполнять вызов только встроенных исполняемых файлов, таких как ifconfig, ip, route или netsh.  2 - Разрешить вызов встроенных исполняемых файлов и пользовательских скриптов.  3 - Разрешить передачу паролей в сценарии через переменные среды (потенциально опасные).  Открытия OpenVPN до версии 2.3 также поддерживали флаг метода, который указывал, как OpenVPN должен вызывать внешние команды и скрипты.  Это может быть либо execve, либо system.  Начиная с OpenVPN v2.3, этот флаг больше не принимается.  В большинстве средах * nix метод execve () использовался без каких-либо проблем.  Некоторые директивы, такие как -up, позволяют передавать параметры во внешний скрипт.  В этих случаях убедитесь, что имя сценария не содержит пробелов, или синтаксический анализатор конфигурации захлестнет, потому что он не может определить, где заканчивается имя сценария и параметры сценария.  

В сочетании с сокращенным разделом на - up

 --up cmd Выполнить команду cmd после успешного открытия устройства TUN / TAP (pre -user UID  изменение).  cmd состоит из пути к скрипту (или исполняемой программе), необязательно сопровождаемого аргументами.  Путь и аргументы могут быть одно- или двухкаскадными и / или экранированными с использованием обратного слэша и должны быть разделены одним или несколькими пробелами. 

Пример:

Вкл. моя машина с openpvn server.conf, у меня есть следующие строки в файле / etc / default / openvpn :

  OPTARGS = "--script-security 2  --up /etc/openvpn/nat.sh " 

Неприменимо nat.sh устанавливает трансляцию сетевых адресов для маршрутизации трафика частной сети с клиентов openvpn в общедоступный Интернет; что хорошо, когда человек не доверяет публичной точке доступа WIFI.


Помимо возможности перезапуска, как и ожидалось после перезагрузки, когда / etc / openvpn / [клиент или сервер] .conf и / etc / default / openvpn правильно настроены, openvpn может быть запущен или остановлен с помощью:

  sudo service openvpn start sudo service openvpn stop  

Другие полезные параметры доступный для службы openvpn , включает cond-restart, принудительное перезагрузка, перезагрузка, перезапуск, перезапуск, запуск, статус, останов .

2
ответ дан 6 August 2018 в 03:57

Поскольку это довольно старая нить, я не уверен, если еще интересно. Если вы все еще хотите использовать NetworkManager для подключения к VPN, вы можете добавить простое правило udev:

KERNEL == "vpn0", RUN + = "/ PATH_TO_THE_SCRIPT / SCRIPT_NAME"

Это должно запускать любой скрипт после создания VPN.

1
ответ дан 7 August 2018 в 21:55

На вопрос: «Как связать скрипт с OpenVPN, чтобы он запускался, когда VPN подключен успешно?» Хочу отметить, что Lekensteyn предоставил отличный ответ . Но в то время, когда его ответ был составлен, ему не хватало ясности относительно того, как должны быть предоставлены аргументы командной строки openvpn, чтобы запустить openvpn на машине ubuntu, тем более, что он будет работать так же после перезагрузки.


Аргументы командной строки Openvpn в Ubuntu:

Естественно, можно запустить openvpn из командной строки с любыми доступными юридическими параметрами. Но на машине Ubuntu, если вы хотите запустить openvpn с теми же аргументами командной строки после перезагрузки, им следует рассмотреть возможность редактирования файла / etc / default / openvpn . Изучите следующие строки:

  # Дополнительные аргументы командной строки openvpn OPTARGS = ""  

Из сообщества communityvvnn man on - script-security

 - уровень безопасности скрипта Эта директива предлагает на уровне политик контролировать использование OpenVPN внешних программ и скриптов.  Более низкие значения более строгие, более высокие значения более разрешительны.  Настройки для уровня: 0 - Строго нет вызова внешних программ.  1 - (по умолчанию) Выполнять вызов только встроенных исполняемых файлов, таких как ifconfig, ip, route или netsh.  2 - Разрешить вызов встроенных исполняемых файлов и пользовательских скриптов.  3 - Разрешить передачу паролей в сценарии через переменные среды (потенциально опасные).  Открытия OpenVPN до версии 2.3 также поддерживали флаг метода, который указывал, как OpenVPN должен вызывать внешние команды и скрипты.  Это может быть либо execve, либо system.  Начиная с OpenVPN v2.3, этот флаг больше не принимается.  В большинстве средах * nix метод execve () использовался без каких-либо проблем.  Некоторые директивы, такие как -up, позволяют передавать параметры во внешний скрипт.  В этих случаях убедитесь, что имя сценария не содержит пробелов, или синтаксический анализатор конфигурации захлестнет, потому что он не может определить, где заканчивается имя сценария и параметры сценария.  

В сочетании с сокращенным разделом на - up

 --up cmd Выполнить команду cmd после успешного открытия устройства TUN / TAP (pre -user UID  изменение).  cmd состоит из пути к скрипту (или исполняемой программе), необязательно сопровождаемого аргументами.  Путь и аргументы могут быть одно- или двухкаскадными и / или экранированными с использованием обратного слэша и должны быть разделены одним или несколькими пробелами. 

Пример:

Вкл. моя машина с openpvn server.conf, у меня есть следующие строки в файле / etc / default / openvpn :

  OPTARGS = "--script-security 2  --up /etc/openvpn/nat.sh " 

Неприменимо nat.sh устанавливает трансляцию сетевых адресов для маршрутизации трафика частной сети с клиентов openvpn в общедоступный Интернет; что хорошо, когда человек не доверяет публичной точке доступа WIFI.


Помимо возможности перезапуска, как и ожидалось после перезагрузки, когда / etc / openvpn / [клиент или сервер] .conf и / etc / default / openvpn правильно настроены, openvpn может быть запущен или остановлен с помощью:

  sudo service openvpn start sudo service openvpn stop  

Другие полезные параметры доступный для службы openvpn , включает cond-restart, принудительное перезагрузка, перезагрузка, перезапуск, перезапуск, запуск, статус, останов .

2
ответ дан 7 August 2018 в 21:55

Поскольку это довольно старая нить, я не уверен, если еще интересно. Если вы все еще хотите использовать NetworkManager для подключения к VPN, вы можете добавить простое правило udev:

KERNEL == "vpn0", RUN + = "/ PATH_TO_THE_SCRIPT / SCRIPT_NAME"

Это должно запускать любой скрипт после создания VPN.

1
ответ дан 10 August 2018 в 10:10

На вопрос: «Как связать скрипт с OpenVPN, чтобы он запускался, когда VPN подключен успешно?» Хочу отметить, что Lekensteyn предоставил отличный ответ . Но в то время, когда его ответ был составлен, ему не хватало ясности относительно того, как должны быть предоставлены аргументы командной строки openvpn, чтобы запустить openvpn на машине ubuntu, тем более, что он будет работать так же после перезагрузки.


Аргументы командной строки Openvpn в Ubuntu:

Естественно, можно запустить openvpn из командной строки с любыми доступными юридическими параметрами. Но на машине Ubuntu, если вы хотите запустить openvpn с теми же аргументами командной строки после перезагрузки, им следует рассмотреть возможность редактирования файла / etc / default / openvpn . Изучите следующие строки:

  # Дополнительные аргументы командной строки openvpn OPTARGS = ""  

Из сообщества communityvvnn man on - script-security

 - уровень безопасности скрипта Эта директива предлагает на уровне политик контролировать использование OpenVPN внешних программ и скриптов.  Более низкие значения более строгие, более высокие значения более разрешительны.  Настройки для уровня: 0 - Строго нет вызова внешних программ.  1 - (по умолчанию) Выполнять вызов только встроенных исполняемых файлов, таких как ifconfig, ip, route или netsh.  2 - Разрешить вызов встроенных исполняемых файлов и пользовательских скриптов.  3 - Разрешить передачу паролей в сценарии через переменные среды (потенциально опасные).  Открытия OpenVPN до версии 2.3 также поддерживали флаг метода, который указывал, как OpenVPN должен вызывать внешние команды и скрипты.  Это может быть либо execve, либо system.  Начиная с OpenVPN v2.3, этот флаг больше не принимается.  В большинстве средах * nix метод execve () использовался без каких-либо проблем.  Некоторые директивы, такие как -up, позволяют передавать параметры во внешний скрипт.  В этих случаях убедитесь, что имя сценария не содержит пробелов, или синтаксический анализатор конфигурации захлестнет, потому что он не может определить, где заканчивается имя сценария и параметры сценария.  

В сочетании с сокращенным разделом на - up

 --up cmd Выполнить команду cmd после успешного открытия устройства TUN / TAP (pre -user UID  изменение).  cmd состоит из пути к скрипту (или исполняемой программе), необязательно сопровождаемого аргументами.  Путь и аргументы могут быть одно- или двухкаскадными и / или экранированными с использованием обратного слэша и должны быть разделены одним или несколькими пробелами. 

Пример:

Вкл. моя машина с openpvn server.conf, у меня есть следующие строки в файле / etc / default / openvpn :

  OPTARGS = "--script-security 2  --up /etc/openvpn/nat.sh " 

Неприменимо nat.sh устанавливает трансляцию сетевых адресов для маршрутизации трафика частной сети с клиентов openvpn в общедоступный Интернет; что хорошо, когда человек не доверяет публичной точке доступа WIFI.


Помимо возможности перезапуска, как и ожидалось после перезагрузки, когда / etc / openvpn / [клиент или сервер] .conf и / etc / default / openvpn правильно настроены, openvpn может быть запущен или остановлен с помощью:

  sudo service openvpn start sudo service openvpn stop  

Другие полезные параметры доступный для службы openvpn , включает cond-restart, принудительное перезагрузка, перезагрузка, перезапуск, перезапуск, запуск, статус, останов .

3
ответ дан 10 August 2018 в 10:10

Поскольку это довольно старая нить, я не уверен, если еще интересно. Если вы все еще хотите использовать NetworkManager для подключения к VPN, вы можете добавить простое правило udev:

KERNEL == "vpn0", RUN + = "/ PATH_TO_THE_SCRIPT / SCRIPT_NAME"

Это должно запускать любой скрипт после создания VPN.

1
ответ дан 13 August 2018 в 16:31

На вопрос: «Как связать скрипт с OpenVPN, чтобы он запускался, когда VPN подключен успешно?» Хочу отметить, что Lekensteyn предоставил отличный ответ . Но в то время, когда его ответ был составлен, ему не хватало ясности относительно того, как должны быть предоставлены аргументы командной строки openvpn, чтобы запустить openvpn на машине ubuntu, тем более, что он будет работать так же после перезагрузки.


Аргументы командной строки Openvpn в Ubuntu:

Естественно, можно запустить openvpn из командной строки с любыми доступными юридическими параметрами. Но на машине Ubuntu, если вы хотите запустить openvpn с теми же аргументами командной строки после перезагрузки, им следует рассмотреть возможность редактирования файла / etc / default / openvpn . Изучите следующие строки:

  # Дополнительные аргументы командной строки openvpn OPTARGS = ""  

Из сообщества communityvvnn man on - script-security

 - уровень безопасности скрипта Эта директива предлагает на уровне политик контролировать использование OpenVPN внешних программ и скриптов.  Более низкие значения более строгие, более высокие значения более разрешительны.  Настройки для уровня: 0 - Строго нет вызова внешних программ.  1 - (по умолчанию) Выполнять вызов только встроенных исполняемых файлов, таких как ifconfig, ip, route или netsh.  2 - Разрешить вызов встроенных исполняемых файлов и пользовательских скриптов.  3 - Разрешить передачу паролей в сценарии через переменные среды (потенциально опасные).  Открытия OpenVPN до версии 2.3 также поддерживали флаг метода, который указывал, как OpenVPN должен вызывать внешние команды и скрипты.  Это может быть либо execve, либо system.  Начиная с OpenVPN v2.3, этот флаг больше не принимается.  В большинстве средах * nix метод execve () использовался без каких-либо проблем.  Некоторые директивы, такие как -up, позволяют передавать параметры во внешний скрипт.  В этих случаях убедитесь, что имя сценария не содержит пробелов, или синтаксический анализатор конфигурации захлестнет, потому что он не может определить, где заканчивается имя сценария и параметры сценария.  

В сочетании с сокращенным разделом на - up

 --up cmd Выполнить команду cmd после успешного открытия устройства TUN / TAP (pre -user UID  изменение).  cmd состоит из пути к скрипту (или исполняемой программе), необязательно сопровождаемого аргументами.  Путь и аргументы могут быть одно- или двухкаскадными и / или экранированными с использованием обратного слэша и должны быть разделены одним или несколькими пробелами. 

Пример:

Вкл. моя машина с openpvn server.conf, у меня есть следующие строки в файле / etc / default / openvpn :

  OPTARGS = "--script-security 2  --up /etc/openvpn/nat.sh " 

Неприменимо nat.sh устанавливает трансляцию сетевых адресов для маршрутизации трафика частной сети с клиентов openvpn в общедоступный Интернет; что хорошо, когда человек не доверяет публичной точке доступа WIFI.


Помимо возможности перезапуска, как и ожидалось после перезагрузки, когда / etc / openvpn / [клиент или сервер] .conf и / etc / default / openvpn правильно настроены, openvpn может быть запущен или остановлен с помощью:

  sudo service openvpn start sudo service openvpn stop  

Другие полезные параметры доступный для службы openvpn , включает cond-restart, принудительное перезагрузка, перезагрузка, перезапуск, перезапуск, запуск, статус, останов .

3
ответ дан 13 August 2018 в 16:31

Я наткнулся на ответ в своем исследовании, чтобы решить эту проблему, и я выяснил, что лучшим решением является (используя сервер openvpn) следующим образом:

Создайте скрипт, который будет выполнен:

# nano /etc/openvpn/up.sh
<file:contents>
#!/bin/sh

# export >> /var/log/openvpn/openvpn-up.log
D=`date "+%Y-%m-%d %H:%M"`
echo "[$D] ($local_port_1:$proto_1) $X509_0_CN: $trusted_ip => $ifconfig_pool_remote_ip" >> /var/log/openvpn/openvpn-up.log
</file>

Добавьте следующие строки в конфигурацию openvpn (обычно /etc/openvpn/server.conf). В ответе выше он использовался вверх и вниз, которые используются, когда сервер запускается (перезапускается). Директива client-connect (и клиент-разъединение) используется, когда клиент подключается (отключается).

# nano /etc/openvpn/server.conf
<file:add>
script-security 2
client-connect /etc/openvpn/up.sh
</file>
0
ответ дан 9 October 2018 в 11:18

Другие вопросы по тегам:

Похожие вопросы: