VPN接続が切断された場合、コンピューターがインターネットにアクセスできなくなるようにgufwをセットアップしようとしています。
私の計画はすべての発信をブロックすることでしたが、VPNサーバーのIPへの接続のみを許可しましたが、ファイアウォールが実装されていると、VPNが接続されていてもサイトをロードできません。
上記は現在試している設定です(部分的に非表示のIPは私のvpnサーバーです)、何が間違っていますか?
このようなものを試してください
ufw
ステータスに基づいてinterface
ルールを変更します。
この種のアクションに最適な場所は、/etc/network/if-down.d/
および/etc/network/if-up.d/
です
このフォルダにスクリプトを入れてアクションを実行できます。たとえば、このスクリプトを/etc/network/if-down.d/
に配置して、tun0
goがダウンするたびにufw
ルールを変更します。
script
というスクリプトを実行許可付きで作成します755
Sudo nano /etc/network/if-down.d/script
スクリプトは
# Check interface
[ "$IFACE" != "tun0" ] || exit 0
# Do something
Sudo ufw default deny outgoing
Sudo ufw allow out to xxx.xxx.xxx.xxx
スクリプトの許可を変更する
chmod 755 /etc/network/if-down.d/script
script
xxx.xxx.xxx.xxx
は、vpn
サーバーのIPを表します
vpn
再接続したら、ufw
ルールを再度変更する必要があります。もう1つのスクリプト、別名script2
を作成します
Sudo nano /etc/network/if-up.d/script2
スクリプトはこのようなものです
# Check interface
[ "$IFACE" != "tun0" ] || exit 0
# Do something
Sudo ufw default allow outgoing
#also you can add more ufw rules ...
Sudo ufw ....
スクリプトの許可を変更する
chmod 755 /etc/network/if-up.d/script2
最初のスクリプトは、tun0
がダウンした場合、デフォルトの発信ポリシーを拒否しますが、vpn
サーバーへのアクセスを許可します。 2番目のスクリプトは、デフォルトの発信ポリシーをallow
に変更します
Ufw GUIを使用するだけでこれを実行できます。
eth0
がパブリックインターフェイスであり、tun0
がVPNによって作成されたインターフェイスであり、xxx.xxx.68.138
がVPN IPである場合、次の2つのルールを追加します。Policy=Allow
、Direction=Out
、Interface=eth0
およびTo=xxx.xxx.68.138
を使用してルールを追加しますPolicy=Allow
、Direction=Out
、Interface=tun0
、およびTo=0.0.0.0/0
を使用してルールを追加しますそれで全部です!
VPNで作成されたものを含むすべてのインターフェイスに発信トラフィックがグローバルに拒否されるため、VPNを介した発信トラフィックを許可することを忘れてしまいました。
ちなみに、着信トラフィックをグローバルに拒否することをお勧めします。これにより、ネットワークで実行されている悪意のある人またはボットが、実行中のネットワークサービスのバグまたは誤設定を悪用してコンピューターをハッキングするのを防ぐことができます(デフォルトでは、Ubuntuはローカルだけでなく、すべてのインターフェイスでリッスンするネットワークサービス)。