Ubuntu 15.04でOpenVPNクライアントサービスを開始する方法


21

OpenVPNを起動して構成ファイルを指定すると、次のようなすべてが正常に機能します。

sudo openvpn /etc/openvpn/myvpn.conf

しかし、私がサービスを開始しようとすると

sudo /etc/init.d/openvpn start

私が得るのは、syslogの出力だけです:

Jun 23 21:02:30 pc systemd[1]: Starting OpenVPN service...
Jun 23 21:02:30 pc systemd[1]: Started OpenVPN service.

しかし、それは私に嘘をついています、実行中のopenvpnサービスはありません:

gk@pc:/etc/openvpn$ ps -aux | grep openvpn
gk   15456  0.0  0.0  13688  2128 pts/0    S+   21:18   0:00 grep --color=auto openvpn

他のopenvpnプロセスは実行されていません。サービスを開始するにはどうすればよいですか?

/lib/systemd/system/openvpn.serviceの中には次のようなものがあることに気付きます:

[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/bin/true
ExecReload=/bin/true
WorkingDirectory=/etc/openvpn

openvpnクライアントアプリケーションが/ bin / true ISNTであると確信しています。Ubuntu 15.04でコマンドラインからopenvpnクライアントが機能しないのはなぜですか?

回答:


37

Ubuntu 15.04でコマンドラインからopenvpnクライアントが機能しないのはなぜですか?

いいえ。理由は、ユニットファイルの先頭にあるコメントを読んでおらず、System 5 rcスクリプトを直接呼び出しているためです。 特にSystem 5 が使用されていないシステム( Ubuntuバージョン15など)では、System 5 rcスクリプトを直接呼び出さないでくださいrc

serviceOpenVPNの場合も、コマンドを介して間接的にそれらを呼び出すことは間違っています。

OpenVPNはsystemdでテンプレート化されたサービスです。サービスの名前はです。したがって、インスタンスを開始する必要がありますopenvpn@config.service/etc/openvpn/myvpn.conf

systemctl start openvpn@myvpn.service

参考文献


OK、答えてくれてありがとう。Ubuntuが現在、fedoraのサービス処理方法に従っていることを知りませんでした。15.04のサービスの開始/停止に関するドキュメントはほとんどないようです。実際、私がグーグルと同じくらい難しいので、まったく見つけられません。「systemctl start openvpn」などで設定名を渡さずに開始することはどういうわけですか?
ユーザー296916

ここsystemd初心者...あなたが話しているユニットファイルは何ですか?それはfreedesktop.org/software/systemd/man/systemd.unit.html
ジェリー・シーター

質問者が質問でフルパス名を与えるものです。冒頭に解説があります。
JdeBP

4
参考までに、Ubuntu 15のこれらのファイルのいずれにも、私がやっていたことが間違っていたことを示すコメントはありません。そのsystemctlは今、使用する正しい方法であることを示すためにドキュメントを介して、非常に少ない本当にあり、実際にその/etc/init.d/xxxxが示唆十分なドキュメントが存在しなければならないだけで舞台裏systemctlを使用し、それがあるべき既存のスクリプトがすべて壊れないように、ユーザーに対して透過的です。
user296916

2
タイプミス systemctl start openvpn@myvpn.serviceがありますsystemctl start openvpn@myvpn
ブライアンラーセン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.