Проблемой назвать это сложно, но странность при запуске сервиса OpenVPN в Debian 9 имеет место быть. Мост до домашней сети у меня был настроен давно, и сбоев в его работе я не замечал. Информацию о том, что не всё там гладко, сообщил один товарищ с форума https://www.linux.org.ru.
После перехода Debian на Systemd скрипты запуска OpenVPN были переписаны на service-юниты. Юнит для управления сразу всеми экземплярами называется "openvpn.service", кроме него есть еще шаблон для управления экземплярами индивидуально "openvpn@.service". Настройки берутся из каталога "/etc/openvpn".
Проблема возникла из-за зависимостей. Юниты запускались еще до поднятия и настройки сети, т.е. сетевых интерфейсов в системе фактически ещё нет. При этом в режиме сервера без явного указания прослушиваемого сетевого интерфейса всё работало исправно. Если адрес для прослушивания в конфиге был указан явно, то сервис не запускался из-за отсутствия сети.
Решение проблемы есть, но у него есть один серьезный недостаток.
Для начала надо остановить и выключить все запущенные экземпляры:
sudo systemctl stop openvpn.service sudo systemctl disable openvpn.service # возможно, что придётся еще отдельно отключить # все экземпляры # bla-bla-bla - имя conf-файла в /etc/openvpn sudo systemctl stop openvpn@bla-bla-bla.service sudo systemctl disable openvpn@bla-bla-bla.service
Теперь надо перенести все серверные конфигурации в каталог "/etc/openvpn/server", клиентские конфигурации в каталог "/etc/openvpn/client" и включить и запустить соответствующие сервисы:
# client1 - имя conf-файла в /etc/openvpn/client # server1 - имя conf-файла в /etc/openvpn/server sudo systemctl enable openvpn-client@client1.service sudo systemctl start openvpn-client@client1.service sudo systemctl enable openvpn-server@server1.service sudo systemctl start openvpn-server@server1.service
Эти сервисы запускаются уже после настройки сети. А недостаток решения заключается в том, что управлять сразу всеми экземплярами без дополнительных средств не получится.