Este é o arquivo de serviço para o OpenVPN ( /lib/systemd/system/[email protected]
):
[Unit]
Description=OpenVPN connection to %i
PartOf=openvpn.service
ReloadPropagatedFrom=openvpn.service
Before=systemd-user-sessions.service
Documentation=man:openvpn(8)
Documentation=https://community.openvpn.net/openvpn/wiki/Openvpn23ManPage
Documentation=https://community.openvpn.net/openvpn/wiki/HOWTO
[Service]
PrivateTmp=true
KillMode=mixed
Type=forking
ExecStart=/usr/sbin/openvpn --daemon ovpn-%i --status /run/openvpn/%i.status 10 --cd /etc/openvpn --config /etc/openvpn/%i.conf --writepid /run/openvpn/%i.pid
PIDFile=/run/openvpn/%i.pid
ExecReload=/bin/kill -HUP $MAINPID
WorkingDirectory=/etc/openvpn
ProtectSystem=yes
CapabilityBoundingSet=CAP_IPC_LOCK CAP_NET_ADMIN CAP_NET_BIND_SERVICE CAP_NET_RAW CAP_SETGID CAP_SETUID CAP_SYS_CHROOT CAP_DAC_READ_SEARCH CAP_AUDIT_WRITE
LimitNPROC=10
DeviceAllow=/dev/null rw
DeviceAllow=/dev/net/tun rw
[Install]
WantedBy=multi-user.target
Existem três coisas que limitam o que pode ser feito:
-
CapabilityBoundingSet
limita as coisas que esta unidade pode fazer. Existem provavelmente algumas funcionalidades necessárias para "ip netns" que não estão lá. Por exemplo,ip netns
faz uma ligaçãomount --bind
que requerCAP_SYS_ADMIN
. -
ProtectSystem
impede que a unidade modifique o sistema de arquivos (não acho que isso impeça a montagem da ligação); -
LimitNPROC
limitam o número de processos na unidade. É provavelmente a fonte do seu problema, mas pode ser um problema para scripts complexos.