LINUX.ORG.RU

Автостарт openvpn

 , ,


0

3

Не стартует при загрузке openvpn

systemctl --failed
  UNIT                   LOAD   ACTIVE SUB    DESCRIPTION
● openvpn@server.service loaded failed failed OpenVPN Robust And Highly Flexible Tunneling Application On server

systemctl status openvpn@server.service
● openvpn@server.service - OpenVPN Robust And Highly Flexible Tunneling Application On server
   Loaded: loaded (/usr/lib/systemd/system/openvpn@.service; enabled; vendor preset: disabled)
   Active: failed (Result: exit-code) since Вт 2016-08-23 11:59:18 KRAT; 24min ago
  Process: 964 ExecStart=/usr/sbin/openvpn --daemon --writepid /var/run/openvpn/%i.pid --cd /etc/openvpn/ --config %i.conf (c
 Main PID: 986 (code=exited, status=1/FAILURE)

авг 23 11:59:17 fedora systemd[1]: Starting OpenVPN Robust And Highly Flexible Tunneling Application On server...
авг 23 11:59:18 fedora systemd[1]: Started OpenVPN Robust And Highly Flexible Tunneling Application On server.
авг 23 11:59:18 fedora systemd[1]: openvpn@server.service: Main process exited, code=exited, status=1/FAILURE
авг 23 11:59:18 fedora systemd[1]: openvpn@server.service: Unit entered failed state.
авг 23 11:59:18 fedora systemd[1]: openvpn@server.service: Failed with result 'exit-code'.

Если стартануть вручную systemctl start openvpn@server.service то все запускается

Ну так смотри в логах, из-за чего он там валится.

Deleted ()
Ответ на: комментарий от thematt
library versions: OpenSSL 1.0.2h-fips  3 May 2016, LZO 2.08
Tue Aug 23 14:21:21 2016 us=551014 Diffie-Hellman initialized with 2048 bit key
Tue Aug 23 14:21:21 2016 us=559709 TLS-Auth MTU parms [ L:1541 D:1212 EF:38 EB:0 ET:0 EL:3 ]
Tue Aug 23 14:21:21 2016 us=559861 Socket Buffers: R=[212992->212992] S=[212992->212992]
Tue Aug 23 14:21:21 2016 us=560002 TCP/UDP: Socket bind failed on local address [AF_INET]80.91.xx.xx:1194: Cannot assign requested address
Tue Aug 23 14:21:21 2016 us=560017 Exiting due to fatal error
un7known ()
Ответ на: комментарий от un7known

Даже не знаю почему с systemd openvpn стартует так быстро. Добавлял network-online.target в unit, тоже в итоге повесил на 0.0.0.0. По идеи хорошо бы openvpn unit, после dhclient запускать, но по моему это в рамках systemd network.target. Есть кто-нибудь кто может объяснить ситуацию?

anonymous_sama ★★★★★ ()
Последнее исправление: anonymous_sama (всего исправлений: 1)
Ответ на: комментарий от anonymous_sama

А чем ты поднимаешь сеть?

NM, например, работает асинхронно, поэтому запуск NM и достижение network.target ни о чём не говорит; его указывают скорее для того, чтобы во время шатдауна твой демон был потушен до отключения сети.

intelfx ★★★★★ ()
Ответ на: комментарий от anonymous_sama

Судя по тому, что я помню на ЛОРе кучу похожих вопросов (сеть через interfaces, network.target не помогает, network-online.target тоже) — этот ваш interfaces поднимает сеть асинхронно.

Тогда тебе придётся написать скрипт, который поллит нужный интерфейс до момента появления на нём адреса, засунуть его в Type=oneshot-юнит и добавить в Wants= к network-online.target. Как вариант, можно переползти на systemd-networkd, там для такого ожидания есть специальная тулза.

И да, все эти таргеты сами по себе ничего полезного не делают. Ожидание сети нужно делать вручную, если в твоём конфигураторе сети никто этим не озаботился.

intelfx ★★★★★ ()
Последнее исправление: intelfx (всего исправлений: 1)
Ответ на: комментарий от anonymous_sama

Увы, ничего лучше в голову не приходит, enjoy your shell.

intelfx ★★★★★ ()
Ответ на: комментарий от intelfx

Тогда тебе придётся написать скрипт, который поллит нужный интерфейс до момента появления на нём адреса, засунуть его в Type=oneshot-юнит и добавить в Wants= к network-online.target.

А хрен ли тогда просто не захреначить nm-диспетчер скрипт который будет стартовать openvpn@server.service ?

no-dashi ★★★★★ ()
Ответ на: комментарий от no-dashi

В данном конкретном случае — то, что у anonymous_sama не NM.

В общем случае — мне кажется, что настраивать запуск демонов удобнее, когда они все перечислены в одном месте, а не в двух разных.

intelfx ★★★★★ ()
Последнее исправление: intelfx (всего исправлений: 4)
Ответ на: комментарий от intelfx

В данном конкретном случае — то, что у anonymous_sama не NM.

Хм. Убунтоиды сумели собрать systemd, но не осилили плагин к NM? Нууу, тогда всё печально. Тогда проще написать в unit-файле рестарт и сделать таймаут для рестарта, или использовать какой-нибудь setup-скрипт в конфиге openvpn.

no-dashi ★★★★★ ()
Ответ на: комментарий от no-dashi

Нет, в NM как раз есть своя wait-online тулза (достаточно только включить NetworkManager-wait-online.service и притянуть из юнита network-online.target), но человек NM не использует.

intelfx ★★★★★ ()
Последнее исправление: intelfx (всего исправлений: 1)
Ответ на: комментарий от intelfx

Не самая удачная идея, IMHO. Правильней не завязываться на конфигурацию IP для OpenVPN, об этом в лоб заявляется по манулам ***-wait-online.

no-dashi ★★★★★ ()
Ответ на: комментарий от no-dashi

Верно. Но если OpenVPN не умеет биндить адреса с IP_FREEBIND или динамически ждать появления нужного адреса — то этот воркэраунд как раз для него.

intelfx ★★★★★ ()
Последнее исправление: intelfx (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.