
簡単に言うと、私は Softether VPN クライアント用にこの SystemD ユニットを持っています:
[Unit]
Description=SoftEther VPN Client
After=network.target
Wants=softethervpn-server.service
[Service]
Type=forking
ExecStart=/srv/vpnserver/vpnclient start
ExecStop=/srv/vpnserver/vpnclient stop
[Install]
WantedBy=multi-user.target
dhclient vpn_vpn
これで、リンクを確定するために呼び出す必要があるものがすべて揃いました。
これを最も効果的に自動化するにはどうすればよいでしょうか? 私の知る限りでは、Systemd ユニットにはワンショット タイプがありますが、正直なところ、いくつかの例外を除いて、ほとんどをコピーして貼り付けています。
ありがとう、良い一日をお過ごしください! :)
答え1
サービスのタイプを から に変更するとforking
、プロセスの開始後にコマンドを実行する行をsimple
追加できます。ExecStartPost=
または、dhcp_client 用の別の .service ファイルを作成し、After=softether-client.service
クライアント サービスと呼ぶものを設定するか、または任意の名前を設定することもできます。次に、サービスを作成しType=oneshot
、 を作成しますExecStart=<path_to_dhcp_client_executable> vpn_vpn
。
チェックしてくださいシステムd.サービスそしてシステムユニット詳細についてはドキュメントをご覧ください。
ただし、これについては 100% 確信しているわけではありません。おそらく、もっと有能な人がより良い答えを出すかもしれません。
これが役に立つことを願っています!