OpenVPNから切断する方法は?


29

私はVPNBookサーバーを使用して接続していますが、このコマンドでうまく機能します:

 sudo openvpn --config /etc/openvpn/vpnbook-udp-53.ovpn --auth-user-pass /etc/openvpn/password.txt

しかし、再起動せずに停止する方法がわからないようです。

私が試したservice openvpn stop/etc/init.d/vpnbook stop、それはそれに影響を与えていないようです。


ifconfigでどのくらい正確ですか?
アダム

どっち?eth0、lo、tun2、またはwlan0
アダム

単にdo> sudo /etc/init.d/network-manager restart <
Qasim

私は、VPNがこの方法で開始されたときに、ネットワークマネージャーに表示されないことに興味があります。ネットワークマネージャーの接続と切断を常に使用しているだけで、現在テストするVPNはありませんが、疑問に思いました。
デニス14

回答:


45

このコマンドは私にとっては間違いなく機能し、あなたにとっても機能するはずです。

sudo killall openvpn

必要となる場合がありますsudo apt-get install psmiscいくつかのビルドに
geotheory

Ubuntu 16.04で-9を殺さなければなりませんでした(はい...)
Gregor

11

私の場合の成功した手順は次のとおりです。

# stop the service    
$ sudo /etc/init.d/openvpn stop

# find the process if for some reason it keeps running
$ lsof -i | grep openvpn

# kill the proccess(s) by its PID
$ kill -9 <PID>

# if necessary restart the service again
$ sudo /etc/init.d/openvpn start


何らかの理由でkillall -SIGIN openvpnうまくいきませんでしたが、上記の手順はうまくいきました。


まあ、これは私の意見で最高の答えです。プロセスの強制終了は奇妙な方法ですが、サービスの停止を要求することは必要なことを行う必要があります。
ソパラホデアリエレス

一般に、割り込みを試みるか、さもなければ最初にそれをきれいに存在させるまで、「-9を殺す」べきではありません。プログラムは割り込みをキャッチしてクリーンアップできますが、シグナル9(期間)をキャッチできません。特にopenvpnの場合、それを殺すと-9postスクリプトを実行できず、無効になったルートが残っている可能性が非常に高くなります。理想的にkill -SIGINTは、pidが終了するまで数秒間待機し、その前に終了しない場合にのみ-SIGTERM/ -9を使用します。
ダニーザウアー

4

これを試して

killall -SIGINT openvpn

ここで送信できるさまざまなシグナルに関する詳細情報を取得できます:http : //openvpn.net/index.php/open-source/documentation/howto.html#control


killall -SIGINT openvpnopenvpn(15360):操作は許可されていませんopenvpn:プロセスが見つかりません sudo killall -SICINT openvpn SICINT:不明なシグナル。killall -lはシグナルをリストします。
アダム

1
sudo killall openvpn新しい端末で私のために働いた。
アダム

@Adam:それはだSIGINT、ではないSICINT
Dzamoノートン

killおよびkillallコマンドはデフォルトでSIGTERMを送信しますが、ドキュメントにはSIGINTと同じ効果があると書かれています。したがって、どちらも同じように機能します-適切につづられていれば。;)
ダニーザウアー

3

ただ、ヒットCTRL+をCあなただけのOpenVPNを開始し、端末で。


2
-daemon(バックグラウンド)フラグで開始された場合はどうなりますか?この場合は不可能です。
mr-sk

1
また、これはインターフェイスとして「tun0」を残すため、実行中に再起動またはシステム構成ファイルの編集を行わずに再起動することはできません。
デニス

1
ターミナルが誤って閉じられた場合はどうなりますか。?
バルン

@Dennis ifconfig tun0 downはこの場合に役立ちます。
gnysek

2

sudo killall openvpn仕事を終わらせない場合(私はそれを数回経験しました)、鋭くて致命的な解決策は次のようになります:

pgrep openvpn | xargs sudo kill -9

0

実行後、sudo killall openvpnまたはservice openvpn stop仮想インターフェイス「tun0」が開かれたままで、ルートテーブルで参照されるため、openvpnサービスが強制終了されるため、実際に関連する接続が失われます。

解決策は、openvpnサービスが接続されるたびに作成されるため、openvpnサービスを終了した後にこの仮想接続を削除することです。

そのため、openvpnを切断するために以下のコマンドを実行する必要があります。

$ sudo killall openvpn
$ sudo ip link delete tun0

-1

sudo update-rc.d openvpn disable

または、/ etc / default / openvpnの構成ファイルを編集します

sudo nano / etc / default / openvpn

そして、行のコメントを外します:

#AUTOSTART="none"

次のようになります:

AUTOSTART="none"

次に、実行する必要があります:

sudo service openvpn start < vpn-name > VPNを手動で開始します。

sudo service openvpn stop < vpn-name > VPNを手動で停止します。

<vpn-name>は、.conf拡張子のない構成ファイル名です

/ etc / openvpnにあり、<>なし

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.