OpenVPN завершается при восстановлении сетевого подключения

Я использую OpenVPN в качестве демона, и когда я теряю интернет-соединение, OpenVPN ждет 2 минуты, а затем пытается перезапускаться каждые 5 секунд. Это как я хочу, чтобы он вел себя. Однако, когда интернет-соединение снова установлено, OpenVPN пытается сбросить tun0, завершается неудачно и завершается, и, поскольку это демон, он не будет пытаться снова, но останется мертвым.

Сбой 2 с IP-адресом del из-за отказа в разрешении.

Я пытался установить chmod +s к исполняемому файлу OpenVPN без везения. Я также использую NetworkManager для управления сетевыми подключениями, если это может быть проблемой.

Однако, похоже, что действия выполняются успешно, поскольку, если я вручную перезапускаю OpenVPN, это работает.

1 ответ

Чтобы избежать "отказа в разрешении", попробуйте запустить клиент OpenVPN от имени пользователя root и изменить пользователей на менее привилегированных позже в файле конфигурации клиента.

Например:

user nobody
group nogroup 

Я запускаю клиент как сервис systemctl, используя следующий скрипт systemd. Он автоматически переподключается при восстановлении сетевого подключения.

https://github.com/thilinaba/systemd-scripts/blob/master/openvpn-client.service

В скрипте установите путь /etc/openvpn/client.ovpn указать ваш файл конфигурации клиента в соответствии с вашими настройками и скопировать скрипт в /etc/systemd/system/, После копирования запустить systemctl daemon reload загрузить новый сервис.

Затем вы можете запустить и остановить клиент как сервис, используя команду systemctl

Например:

sudo systemctl start openvpn-client.service
sudo systemctl stop openvpn-client.service
sudo systemctl status openvpn-client.service

Однако вам нужно установить следующие параметры в файле конфигурации клиента, чтобы включить функцию автоматического переподключения.

proto udp
resolv-retry infinite
persist-tun

Если вы хотите, чтобы по какой-то причине соединение было TCP (обычно вам не нужен TCP), вам придется прервать работу клиента и снова подключиться в случае прерывания.

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