Killswitch: 動的 IP VPN を除くすべての接続をブロックします。 (IPがわからない場合はiptablesを使用できません。)

Killswitch: 動的 IP VPN を除くすべての接続をブロックします。 (IPがわからない場合はiptablesを使用できません。)

IP以外のドメイン名を介して接続するVPNがあります。 (Debian で OpenVPN を使用)

VPNのIPは動的であり、いつでも変更される可能性があります。これは意図的に設計されており、私は制御できません。私は私のマシンが欲しいたださらに、インターネットとの通信はtun0my.vpn.domain.com私の意見ではOpenDNSを介して)そして何もない他のもの。漏れはありません。

これで、ドメインで有効なVPN IPを手動で確認し、iptables / ufwを使用して適切に制限します。ただし、完全自動(再)接続ソリューションが必要です。

私の考えの唯一のオプションは、iptables(レイヤ3 + 4)がドメイン検証を処理できないため、アプリケーションレイヤ(レイヤ7)ソリューションを使用することです。 OpenDNSを使用してVPN用のIPを自動的にインポートしますが、上記の漏れの問題がないことを望むようです。

どうすればいいですか? PFSenseではこれを行うことができますが、PFSenseを使用することはできません。

答え1

解決策はスクリプトを持っていると思います。

  1. 名前の確認
  2. Netfilter/ルーティングテーブルの変更

そして、このスクリプトをOpenVPNのランチャーに統合します。これはできます

  1. OpenVPN内部スクリプトを使用する(--up
  2. 起動スクリプトのOpenVPNの外部(例:ExecStartPre=systemd)

最初のケースはわかりませんが、どちらの場合も、トンネルがダウンした後にOpenVPNが接続を再確立しようとするのを防ぐことが必要であるか、少なくとも役に立つと思います。やり直しより)。

どちらの場合も、システム単位ファイルなどのopenvpn外部再起動が必要です。Restart=always

関連情報