web-dev-qa-db-ja.com

OpenVPN接続のステータスを継続的に確認する

起動ごとにすべきOpenVPN接続のステータス(接続済み/未接続)とサーバーのホスト名/ cnを確認して表示しようとしています。

/var/log/syslogに接続がログに記録されていることがわかりました。これを使用して、Initialization Sequence Completedがログに記録されているかどうかを判断し、[brimstone] Peer Connection Initiated with [AF_INET]1.2.3.4:1234から19行上のホスト名/ cnを取得できます。

このログを取得すると、Initialization Sequence Completedを確認できます。これは、接続されていることと、別のスクリプトで使用したいホスト名を意味します。

今私の問題は、接続がまだ生きているかどうか、および/または別のサーバーに接続しているかどうかが現在わからないことです。ログの変更を定期的にチェックすることはできましたが、それはかなり基本的なタスクとしては少し極端に思えます。

OpenVPNの接続ステータスを確認し、接続されている場合はサーバーのホスト名/ cnを取得するにはどうすればよいですか?

4
apoc

これを行う必要はありませんが、見かけの外部IPアドレスを確認することで実行できます。次のコマンド

   wget 216.146.38.70:80

checkip.dyndns.orgに外部IPを照会します。このようにして、接続の現在のステータスを認識できるはずです。

または、ルーティングテーブルを確認することもできます。

   $ ip route show
   0.0.0.0/1 via 10.8.0.17 dev tun0 
   default via 192.168.73.1 dev eth0  proto static 
   10.8.0.0/24 via 10.8.0.17 dev tun0 
   10.8.0.17 dev tun0  proto kernel  scope link  src 10.8.0.18 
   128.0.0.0/1 via 10.8.0.17 dev tun0 
   192.168.73.0/24 dev eth0  proto kernel  scope link  src 192.168.73.74  metric 1 
   IP.Address.Of.Your.OpenVPN.server via 192.168.73.1 dev eth0 

(これはルーティングされたOpenVPN用ですが、これは問題ではありません)。重要な行は最後の行です。このようなものがある場合、パケットはOpenVPNを介してルーティングされます。

mtrpingsを同時に(そして継続的に!!)指定したIPアドレスであるtraceroutesのような機器を使用することもできます。

   mtr www.debian.org

OpenVPNが稼働している場合、通常のゲートウェイではなく、トンネル(tun0またはtap0)を介してルーティングされたパケットが表示されます。

ただし、冒頭で述べたように、これを行う必要はありません。OpenVPNは、接続のステータスを継続的にチェックし、必要に応じて再起動するメカニズムを提供します。

-キープアライブn m

サーバーモード構成での--pingおよび--ping-restartの表現を簡略化するように設計されたヘルパーディレクティブ。たとえば、-keepalive 1060は次のように展開されます。

 if mode server:
   ping 10
   ping-restart 120
   Push "ping 10"
   Push "ping-restart 60"
 else
   ping 10
   ping-restart 60

keepaliveまたはpingping-restartping-exitの適切な組み合わせを使用して、接続のステータスを自動的に制御できます。

5
MariusMatutiae

あなたはおそらくopenvpnの組み合わせを使うことができます:

up、down、uprestart、ping-restart

設定ファイル(または対応するコマンドライン)ディレクティブ?

1
Tim Small

別のユーザーが示したように、ip routeは接続されたvpnのサンプル出力を表示します:192.121.241.129を介した0.0.0.0/1 192.168.0.1を介したdev tun0 default 192.121.245.129を介したdev eth0 128.0.0.0/1 dev tun0 192.121.241.5を介した192.168.0.1開発者eth0

着信トンネルNAT(ネットワークアドレス変換)を192.168であるローカルサブネットに読み取ります。同じNATを介した発信トンネル)これは、192.121である限りVPNの非常に強力な指標です。 241をISPまでさかのぼることはできません。私のVPNは同じ都市にありますが、調べてみると、別のISP、つまりそのVPNサーバーのVPNの背後にあるISPと表示されています。

別の方法として、IPアドレスを調べて、どのISPに関連付けられているかを確認します。あなたの場合、あなたのVPNは接続されていません。それ以外の場合は、VPNが接続されている可能性があります。

0
user1098412