私はDebianベースのシステムを開発しており、まだ学んでいます。systemctlとサービスopenvpn
しかし、この問題を解決するために私の設定をユースケースとして使用しようとしています。
現在の設定では、openvpn
実行方法と管理方法は非常に混乱しています。
起動時にopenvpn
開始されるプロセスは次のとおりです。
> ps aux | ag 'openvpn'
nobody 952 0.0 0.0 5800 1108 ? Ss 13:29 0:00 /usr/sbin/openvpn --daemon ovpn-server --status /run/openvpn/server.status 10 --cd /etc/openvpn --config /etc/openvpn/server.conf
root 1537 0.0 0.1 6088 2544 ? Ss 13:30 0:00 /usr/sbin/openvpn --daemon --auth-nocache --config /root/.vpn_conf/pia.ovpn
起動時に起動するためにどのコントロールを使用しているのかわかりません。
最初のプロセスは(無効にしたい)サーバーであり、他のプロセスは維持して使用したいクライアントです。
systemctl
私の理解は、すべてのサービスを一覧表示するために使用できることです。
> systemctl list-unit-files --type=service | ag 'openvpn'
openvpn.service disabled
[email protected] disabled
2つの違いは何ですか?これら2つのサービスは上記のプロセスを制御しますか?無効になっている場合、なぜ起動時に起動し続けるのですか?
service
を使用して状態を取得しようとすると、openvpn
次のような結果が得られます。
> service openvpn status
● openvpn.service - OpenVPN service
Loaded: loaded (/lib/systemd/system/openvpn.service; disabled)
Active: active (exited) since Sun 2017-02-19 13:29:51 PST; 18min ago
Process: 936 ExecStart=/bin/true (code=exited, status=0/SUCCESS)
Main PID: 936 (code=exited, status=0/SUCCESS)
CGroup: /system.slice/openvpn.service
Feb 19 13:29:51 systemd[1]: Started OpenVPN service
これにより、私は次のように尋ねました。
openvpnのsystemctlに2つのエントリがある場合、使用時に2番目のエントリの名前は何ですかservice openvpn_2nd? status
?
もしかしたら/etc/init.d/openvpn
スクリプトがあります。
上記の問題のいくつかについての洞察力をお寄せいただきありがとうございます。
答え1
systemdを学んでいるなら、OpenVPNは単なるサービスではないので、始めるのに最適な場所ではありません。
OpenVPNはテンプレートサービスシステム化の下。これサービスユニット名前、すべて1つから派生openvpn@config.service
サービス単位ファイル.soという名前でインスタンスを[email protected]
起動します。/etc/openvpn/server.conf
システム制御の開始[Eメール保護]ブートローダで自動的に起動するようにしてください。
システム制御の有効化[Eメール保護]明らかに、同様のコマンドを使用して停止および無効にすることができます。
ただし、これはOpenVPNクライアントを実行するプログラムではありません。サービスユニットを検索するには、次のコマンドを実行して、コントロールグループ名からユニット名を見つけることができます。
systemd-cgls/
非テンプレートは、openvpn.service
サービス単位ファイルの上部にあるコメントとして記述されます。繰り返しますが、これはsystemdに初めて触れる初心者にとってはもっと複雑なことです。