Por padrão, o arquivo systemd openvpn client unit assume que todos os arquivos de configuração terminam em .conf
. Muitos dos meus arquivos de configuração terminam com .ovpn
. Alterar extensões de nome de arquivo é indesejável no meu ambiente.
O arquivo da unidade do cliente openvpn padrão é /usr/lib/systemd/system/[email protected]
[Unit]
Description=OpenVPN tunnel for %I
After=syslog.target network-online.target
Wants=network-online.target
Documentation=man:openvpn(8)
Documentation=https://community.openvpn.net/openvpn/wiki/Openvpn24ManPage
Documentation=https://community.openvpn.net/openvpn/wiki/HOWTO
[Service]
Type=notify
PrivateTmp=true
WorkingDirectory=/etc/openvpn/client
ExecStart=/usr/bin/openvpn --suppress-timestamps --nobind --config %i.conf
CapabilityBoundingSet=CAP_IPC_LOCK CAP_NET_ADMIN CAP_NET_RAW CAP_SETGID CAP_SETUID CAP_SYS_CHROOT CAP_DAC_OVERRIDE
LimitNPROC=10
DeviceAllow=/dev/null rw
DeviceAllow=/dev/net/tun rw
ProtectSystem=true
ProtectHome=true
KillMode=process
[Install]
WantedBy=multi-user.target
Existe uma razão para eu não editar esse arquivo e alterar a linha ExecStart
removendo a extensão .conf assim?
ExecStart=/usr/bin/openvpn --suppress-timestamps --nobind --config %i
Nesse caso, eu passaria o nome completo do arquivo de configuração com extensão para systemctl. Incluir a extensão quebra qualquer coisa no que diz respeito ao systemd? Existe outra razão pela qual uma extensão de nome de arquivo não pode ser usada?
Questões relacionadas com a linha ExecStart
:
Normalmente, minha linha de comando openvpn inclui --daemon
. Isso não é necessário ao iniciar via systemd? Eu vejo que não está incluído acima. Se eu quiser que ele seja executado como um daemon, preciso incluí-lo?
Além disso, por que --suppress-timestamps
está incluído? Atualmente, não recebo carimbos de data e hora duplicados nos logs / diário. Isso mudará se eu começar pelo systemd?
O seguinte é o meu arquivo de unidade proposto (não testado):
[Unit]
Description=OpenVPN tunnel for %i
After=syslog.target network-online.target
StartLimitIntervalSec=0
Wants=network-online.target
[Service]
Type=notify
PrivateTmp=true
WorkingDirectory=/etc/openvpn/client
ExecStart=/usr/bin/openvpn --suppress-timestamps --nobind --daemon --config %i
CapabilityBoundingSet=CAP_IPC_LOCK CAP_NET_ADMIN CAP_NET_RAW CAP_SETGID CAP_SETUID CAP_SYS_CHROOT CAP_DAC_OVERRIDE
LimitNPROC=10
DeviceAllow=/dev/null rw
DeviceAllow=/dev/net/tun rw
ProtectSystem=true
ProtectHome=true
KillMode=process
Restart=always
RestartSec=5
[Install]
WantedBy=multi-user.target