Как запустить OpenVPN как root в фоновом режиме, в скрипте?

Я хотел бы написать скрипт, который сначала называет openvpn, а затем ssh. При вводе команды

sudo openvpn ~/my_connection.ovpn

в командной строке я получаю следующий вывод:

...
Wed Jan  4 21:04:35 2017 do_ifconfig, tt->ipv6=0, tt->did_ifconfig_ipv6_setup=0
Wed Jan  4 21:04:35 2017 /sbin/ip link set dev tun0 up mtu 1500
Wed Jan  4 21:04:35 2017 /sbin/ip addr add dev tun0 local IP_FOO peer IP_FOO
Wed Jan  4 21:04:35 2017 Initialization Sequence Completed

Эта команда блокируется, и оболочка не освобождается. Чтобы начать ssh-соединение после этого, мне нужно нажать процесс openvpn в фоновом режиме, набрав Ctrl + Z, а затем bg.

Однако я бы хотел вызвать шаг соединения openvpn и ssh автоматически, вызывая только мой файл bash. Как я могу эмулировать шаги Ctrl + Z и bg в этом файле?

Я попытался добавить & к команде openvpn и чтобы поставить nohup перед ним. Ничего не работает.

1
задан 9 January 2017 в 01:37

1 ответ

TL; DR Запустите его в режиме демона: openvpn --config Windscribe-Japan.ovpn --daemon

Передача файла конфигурации (.ovpn) в openvpn работает только в том случае, если не указаны другие параметры. Если я укажу опцию --daemon, тогда openvpn попытается проанализировать имя файла в качестве параметра параметра и выбрасывает TL; DR .

Ответ:

Чтобы избежать этого , имя файла должно быть указано с опцией --config. Например, openvpn --config Windscribe.ovpn --daemon. Затем запустите syslog с tail -f /var/log/syslog для дальнейшего контроля.

Вы также можете проверить до и после вывода этой команды curl curl ifconfig.co, чтобы убедиться, что VPN подключен.

[d8 ] Примечание. Это приведет к тому, что демон будет запущен даже после выхода из сеанса SSH.

1
ответ дан 23 May 2018 в 02:44

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

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