Назад | Перейти на главную страницу

Служба OpenVPN не запускается

Я настраиваю OpenVPN на своем VPS (Fedora 23), и у меня проблема с запуском его как службы systemd. Из командной строки (openvpn server.conf) все работает нормально, но когда я пытаюсь запустить его через systemd, ничего не получается.

systemctl status openvpn@server.service покажи мне это:

● openvpn@server.service - OpenVPN Robust And Highly Flexible Tunneling Application On myvps/tcp
  Loaded: loaded (/usr/lib/systemd/system/openvpn@.service; enabled; vendor preset: disabled)
  Active: failed (Result: exit-code) since Thu 2015-12-10 06:04:07 UTC; 13min ago
Main PID: 500 (code=exited, status=1/FAILURE)

Dec 10 06:04:07 myvps openvpn[500]: ROUTE: default_gateway=UNDEF
Dec 10 06:04:07 myvps openvpn[500]: TUN/TAP device tun0 opened
Dec 10 06:04:07 myvps openvpn[500]: TUN/TAP TX queue length set to 100
Dec 10 06:04:07 myvps openvpn[500]: do_ifconfig, tt->ipv6=0, tt->did_ifconfig_ipv6_setup=0
Dec 10 06:04:07 myvps openvpn[500]: /usr/local/sbin/unpriv-ip link set dev tun0 up mtu 1500
Dec 10 06:04:07 myvps openvpn[500]: Linux ip link set failed: could not execute external program
Dec 10 06:04:07 myvps openvpn[500]: Exiting due to fatal error
Dec 10 06:04:07 myvps systemd[1]: openvpn@server.service: Main process exited, code=exited, status=1/FAILURE
Dec 10 06:04:07 myvps systemd[1]: openvpn@server.service: Unit entered failed state.
Dec 10 06:04:07 myvps systemd[1]: openvpn@server.service: Failed with result 'exit-code'.

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

Скрипт unpriv-ip настроен, как описано в официальное руководство.

Сервис OpenVPN запускается после network.target и разыскивается multi-user.target, если это важно.

Может кто-нибудь объяснить мне, в чем проблема?

Спасибо.

UPD (для Анубиоза)

# dnf install iproute
Last metadata expiration check performed 1:27:44 ago on Thu Dec 10 05:52:27 2015.
Package iproute-4.1.1-3.fc23.x86_64 is already installed, skipping.
Dependencies resolved.
Nothing to do.
Complete!

# ls -l /usr/local/sbin/unpriv-ip 
-rwxr-xr-x. 1 root root 27 Dec 10 01:23 /usr/local/sbin/unpriv-ip

UPD2 (для Анубиоза)

# dnf install iputils
Last metadata expiration check performed 1:42:05 ago on Thu Dec 10 05:52:27 2015.
Package iputils-20140519-7.fc23.x86_64 is already installed, skipping.
Dependencies resolved.
Nothing to do.
Complete!
  1. Проверь это /usr/local/sbin/unpriv-ip сценарий имеет выполнять разрешения (+ x флаг chmod)

Вы можете установить его с помощью следующей команды

chmod +x /usr/local/sbin/unpriv-ip

  1. Убедитесь, что в вашей конфигурации openvpn script-security 2 строка, позволяющая выполнять внешние скрипты.

  2. Убедитесь, что у вас есть iproute пакет установлен и ip команда доступна в вашей системе.

Вы можете установить его с помощью:

yum install iproute iputils

  1. Попробуйте добавить sleep 5 к вершине вашего /usr/local/sbin/unpriv-ip скрипт, чтобы убедиться, что он не будет выполнен до того, как устройство tun0 станет доступным.