起動ごとにすべき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を取得するにはどうすればよいですか?
これを行う必要はありませんが、見かけの外部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を介してルーティングされます。
mtr
とpings
を同時に(そして継続的に!!)指定した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
またはping
、ping-restart
、ping-exit
の適切な組み合わせを使用して、接続のステータスを自動的に制御できます。
あなたはおそらくopenvpnの組み合わせを使うことができます:
up、down、uprestart、ping-restart
設定ファイル(または対応するコマンドライン)ディレクティブ?
別のユーザーが示したように、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が接続されている可能性があります。