デフォルトでは、systemd openvpnクライアントデバイスファイルは、すべての設定ファイルが.conf
.で終わると想定しています.ovpn
。私の環境では、ファイル拡張子を変更することは望ましくありません。
デフォルトのopenvpnクライアントデバイスファイルは次のとおりです。/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
ExecStart
このようにファイルを編集し、.conf拡張子を削除して行を変更しない理由はありますか?
ExecStart=/usr/bin/openvpn --suppress-timestamps --nobind --config %i
この場合、拡張子を含む完全な構成ファイル名をsystemctlに渡します。 systemdに関する限り、拡張機能を含めると問題が発生しますか?ファイル拡張子が利用できない他の理由がありますか?
ラインに関する質問ExecStart
:
通常、私のopenvpnコマンドラインは--daemon
systemdを使って起動する必要はありませんか?上記は含まれていないことがわかりました。デーモンとして実行するにはそれを含める必要がありますか?
また、なぜ--suppress-timestamps
含まれていますか?現在、ログ/ログに重複したタイムスタンプは表示されません。 systemdで起動すると状況が変わりますか?
私が提案した(テストされていない)ユニットファイルは次のとおりです。
[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
ベストアンサー1
拡張子がなくても機能する必要があります。これは単にユニットファイルによって設定されたルールです。systemctl
ユニット名のドットについて文句を言わないでください。
systemdデバイスは通常起動するコマンドをデーモン化しないため、systemdが実行されているプロセスを追跡しやすくなります。
--suppress-timestamps
とにかく時間が追加されるからですjournald
。どちらも試してみて、違いを確認してください。