it-swarm-es.tech

Systemd no puede iniciar openvpn en el contenedor 16.04 administrado por lxd

openvpn comienza bien desde la línea de comando usando la llamada exacta _ExecStart=_ desde el archivo de la unidad 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_ confirma que el proceso está ahí:

_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/
_

Pero _systemctl start [email protected]_ no tiene éxito:

_[email protected] - OpenVPN connection to server
   Loaded: loaded (/lib/systemd/system/[email protected]; 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]: [email protected]: 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]: [email protected]: Unit entered failed state.
Mar 17 09:54:52 vpn systemd[1]: [email protected]: Failed with result 'exit-code'.
_

Interpreto _journalctl | grep ovpn-server | tail -n 100_ que no se bifurcó:

_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
_
26
Christian David

He estado buscando una solución para esto también. Lo que he encontrado que funciona es comentar la línea LimitNPROC en /lib/systemd/system/[email protected].

No olvides ejecutar systemctl daemon-reload después de eso.

45
Iain

Es mejor evitar las unidades systemd modyfying que se originan en los paquetes del sistema. Solo use el menú desplegable de anulación systemd:

systemctl edit [email protected]

El nombre de la unidad para el servidor openvpn puede ser diferente, por ejemplo. para la versión del paquete 2.4.5-xenial0 será

systemctl edit [email protected]

Luego poner en editor:

[Service]
LimitNPROC=infinity

Debe crear el archivo /etc/systemd/system/[email protected]/override.conf (o similar para el nombre de la unidad correspondiente). Para activarlo, es posible que desee volver a cargar systemd con

systemctl daemon-reload

Créditos
Anulación : https://unix.stackexchange.com/a/398541/218321
"límite ilimitado": https://unix.stackexchange.com/a/345596/218321

12
porbas

También tuve que agregar a esos debajo de su respectivo hermano hermano

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

para ejecutarlo en el nivel L2.

1
Thomas