Я настраиваю 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!
/usr/local/sbin/unpriv-ip
сценарий имеет выполнять разрешения (+ x флаг chmod)Вы можете установить его с помощью следующей команды
chmod +x /usr/local/sbin/unpriv-ip
Убедитесь, что в вашей конфигурации openvpn script-security 2
строка, позволяющая выполнять внешние скрипты.
Убедитесь, что у вас есть iproute
пакет установлен и ip
команда доступна в вашей системе.
Вы можете установить его с помощью:
yum install iproute iputils
sleep 5
к вершине вашего /usr/local/sbin/unpriv-ip
скрипт, чтобы убедиться, что он не будет выполнен до того, как устройство tun0 станет доступным.