Systemd не запускает openvpn в lxd управляемом контейнере 16.04

openvpn отлично запускается из командной строки, используя точный вызов ExecStart= из файла systemd:

/usr/sbin/openvpn --daemon ovpn-server --status /run/openvpn/server.status 10 --cd /etc/openvpn --script-security 2 --config /etc/openvpn/server.conf /run/openvpn/server.pid

ps ax подтверждает, что процесс: [!d1 ]

1634 ?        Ss     0:00 /usr/sbin/openvpn --daemon ovpn-server --status /run/openvpn/server.status 10 --cd /etc/openvpn --script-security 2 --config /etc/openvpn/server.conf --writepid /run/openvpn/

Но systemctl start openvpn@server не увенчался успехом:

● openvpn@server.service - OpenVPN connection to server
   Loaded: loaded (/lib/systemd/system/openvpn@.service; disabled; vendor preset: enabled)
   Active: failed (Result: exit-code) since Thu 2016-03-17 09:54:52 UTC; 4s ago
     Docs: man:openvpn(8)
           https://community.openvpn.net/openvpn/wiki/Openvpn23ManPage
           https://community.openvpn.net/openvpn/wiki/HOWTO
  Process: 1679 ExecStart=/usr/sbin/openvpn --daemon ovpn-server --status /run/openvpn/server.status 10 --cd /etc/openvpn --script-security 2 --config /etc/openvpn/server.conf --writepid /run/openvpn/s
 Main PID: 819 (code=exited, status=1/FAILURE)

Mar 17 09:54:52 vpn ovpn-server[1679]:   push_ifconfig_ipv6_remote = ::
Mar 17 09:54:52 vpn ovpn-server[1679]:   enable_c2c = DISABLED
Mar 17 09:54:52 vpn ovpn-server[1679]:   duplicate_cn = DISABLED
Mar 17 09:54:52 vpn ovpn-server[1679]:   cf_max = 0
Mar 17 09:54:52 vpn ovpn-server[1679]:   cf_per = 0
Mar 17 09:54:52 vpn ovpn-server[1679]:   max_clients = 1024
Mar 17 09:54:52 vpn systemd[1]: openvpn@server.service: Control process exited, code=exited status=1
Mar 17 09:54:52 vpn systemd[1]: Failed to start OpenVPN connection to server.
Mar 17 09:54:52 vpn systemd[1]: openvpn@server.service: Unit entered failed state.
Mar 17 09:54:52 vpn systemd[1]: openvpn@server.service: Failed with result 'exit-code'.

Я интерпретирую journalctl | grep ovpn-server | tail -n 100, что он не был вилок:

Mar 17 09:57:44 vpn ovpn-server[1693]: OpenVPN 2.3.10 x86_64-pc-linux-gnu [SSL (OpenSSL)] [LZO] [EPOLL] [PKCS11] [MH] [IPv6] built on Feb  2 2016
Mar 17 09:57:44 vpn ovpn-server[1693]: library versions: OpenSSL 1.0.2g  1 Mar 2016, LZO 2.08
Mar 17 09:57:44 vpn ovpn-server[1693]: daemon() failed or unsupported: Resource temporarily unavailable (errno=11)
Mar 17 09:57:44 vpn ovpn-server[1693]: Exiting due to fatal error
1
задан 17 March 2016 в 14:01

2 ответа

Лучше избегать модуляции системных блоков, исходящих из системных пакетов. Просто используйте dropdan systemd override:

systemctl edit openvpn@

Название узла для сервера openvpn может быть другим, например. для версии пакета 2.4.5-xenial0 он будет

systemctl edit openvpn-server@

Затем помещен в редактор:

[Service]
LimitNPROC=infinity

Он должен создать файл /etc/systemd/system/openvpn@.service.d/override.conf (или аналогичный для соответствующего имени элемента). Чтобы активировать его, вы можете перезагрузить systemd с помощью

systemctl daemon-reload

Кредиты: переопределить: https://unix.stackexchange.com/a/398541/218321 «неограниченный лимит»: https: // unix. stackexchange.com/a/345596/218321

3
ответ дан 23 May 2018 в 12:47
  • 1
    это также фиксирует openvpn внутри openvz контейнеров – Stuart Cardall 11 March 2018 в 19:08
  • 2
    Это лучшее решение, чем принятое. Я только что обновил свой контейнер, и openvpn перестала работать. Это связано с тем, что я обновил файл system systemd вместо переопределения. – WoJ 9 May 2018 в 23:14

Мне также пришлось добавить их ниже, их соответствующий брат

DeviceAllow=/dev/net/tap rw
DeviceAllow=/dev/net/tap1 rw

, чтобы запустить его на уровне L2.

1
ответ дан 23 May 2018 в 12:47
  • 1
    Добро пожаловать в Ask Ubuntu! Я рекомендую изменить этот ответ, чтобы развернуть его с подробными сведениями о том, как это сделать. (См. Также Как написать хороший ответ? для общих советов о том, какие ответы наиболее ценны в Ask Ubuntu.) – David Foerster 25 June 2017 в 17:17

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

Похожие вопросы: