OpenVPNが接続されているかどうかを確認するには?

OpenVPNが接続されているかどうかを確認するには?

私のVPN接続には一種の「保護」が必要です。接続が切断されると、デバイスはインターネットにアクセスすることもできません。 (他の方法で機械にアクセスできます。)

可能ですか?
私の記憶が正しい場合、Windowsにはいくつかの「安全デバイス」がありますが、Linux用のソリューションについては聞いたことがありません。 cliは言うまでもありません。

答え1

クライアント構成のディレクティブを使用して、down接続が失われたときにカスタムスクリプトをトリガーできます。スクリプトでは、パブリックネットワーク接続を制限するいくつかのタスクを実行できます。これが私の考えです:

  • VPNサーバーへの接続のみを許可するように一部のiptablesを設定すると、他のすべての接続は削除されます。もちろん、クライアントが回復したら、この制限を削除することを忘れないでください。
  • resolv.conf ファイルを変更して名前解決を制限またはオフにします。
  • カスタムルーティングテーブルのマージ

答え2

これにはファイアウォールを使用できます。デフォルトでは、着信および発信トラフィックはすべて無効になっています。 openvpn ネットワークインターフェイスから発信されるトラフィックを許可します。すべてのインターフェイスでVPNサーバーへのアクセスを許可します(したがってVPNに接続できます)。

ホスト名を介してのみVPNサーバーにアクセスできる場合は、これらの規則をより軽減する必要があります。名前解決と発信 VPN ポートに発信ポート 53 を許可します。

ufw(簡単なファイアウォール)の設定​​コマンドを入れます。このコマンドは以下に基づいています。askubuntu "OpenVPN用UFW"回答

# Adapt this value to your config!
VPN_ADDRESS=...

ufw --force reset

ufw default deny incoming
ufw default deny outgoing

ufw allow out on tun0
ufw allow out to $VPN_ADDRESS

ufw enable

関連情報