iptablesはVPNが再接続するのを防ぎます

iptablesはVPNが再接続するのを防ぎます

VPNアクセスに提案したソリューションに問題があります。

これが私が望むものです:

  • 洪水によるすべてのトラフィックは常にVPNを通過します。
  • VPN 接続が失われると、Deluge のインターネット接続が失われます。
  • VPN接続が失われても、SSHとシンクライアントを介してローカルでデーモンにアクセスできます。
  • VPNが再接続したら、大洪水は接続を再確立したいと思います。

現在持っているiptablesは次のとおりです。

sudo iptables -A OUTPUT -m owner --gid-owner pi -o lo -j ACCEPT
sudo iptables -A OUTPUT -m owner --gid-owner pi -d 10.0.0.0/16 \! -o tun0 -j ACCEPT
sudo iptables -A OUTPUT -m owner --gid-owner pi  \! -o tun0 -j REJECT

この種の作品です。いくつかの問題があります。

  • VPN 接続が切断された後、2 番目のルールのため再接続できません。

いくつかの調査の結果、プロセス/アプリケーションに基づいてルールを適用する機能がiptablesにないようです。ルールはgidまたはuidとしてのみ適用できます。そうですか?

もしそうなら、唯一の解決策は、他のユーザーとして洪水を実行し、それをiptableルールでその特定のユーザーをターゲットにすることだと思いますか?これにより、VPN(現在の洪水と同じユーザーが実行中)を再接続できます。

PS。私の現在のiptablesのレビューを書いてくれてありがとう!

みんなありがとうございます。助けてくれてありがとう!

ベストアンサー1

Netfilter ルールの順序が正しくありません。 3番目のルールは2番目のルールの特別なケースなので、ヒットされません。

openvpn通常、インターフェイスとルーティングを設定するにはスーパーユーザー権限が必要なため、送信されたパケットはルートに属します。したがって、ユーザー固有のルールは一致しないでください。

これを使用して、tcpdump新しいOpenVPN接続用のパケットがシステムを離れていることを確認できます。そうでない場合は、Netfilter ターゲット TRACE を使用して何が起こるかを確認できます。

おすすめ記事