私のコンピュータにファイアウォールキルスイッチを設定したいのですが、どのように実行するのかわかりません。すべての着信トラフィックをブロックしたいです。特定のIPアドレス、ポート、およびインターフェイスからのみ発信されるトラフィックを許可します。
ufwの代替は次のとおりです。
ufw default deny incoming
ufw default deny outgoing
ufw allow out to $IP port $PORT proto { udp | tcp }
ufw allow out on $VPN_INTERFACE
ufw allow in on $VPN_INTERFACE from any to any port 60002
ありがとうございます!
ベストアンサー1
これは私のものから来ました。自分のブログここでは、ゾーン、ポリシー、および強化ルールについてもう少し説明します。
Firewalldはゾーンとポリシーで動作します。必要なものを達成するには、すべてのインターネット接続カードをVPN専用ゾーンに割り当て、そのゾーンに入ってくるすべてのトラフィックをフィルタリングするポリシーを作成する必要があります。
ここでは、自分のコンピュータからの着信トラフィックのみをフィルタリングしようとしているため、ポリシーに着信領域HOSTと発信領域VPNのみが含まれているとします。
VPN専用ゾーンを作成します。
firewall-cmd --permanent --new-zone VPN-Only
VPN-Killswtich ポリシーを作成します。
firewall-cmd --permanent --new-policy VPN-Killswitch
ポリシーの基本目標(明示的に許可されていない項目を削除することを意味):
firewall-cmd --permanent --policy VPN-Killswitch --set-target DROP
変更を適用するには更新してください。
firewall-cmd --reload
次に、アウトバウンドトラフィックがVPN IPに到達できるようにするポリシールールを追加しましょう。各地域についてこの規則を繰り返して、1.2.3.4をVPNのIPに置き換えます。 wireguardを使用している場合は、openvpnをwireguardに変更してください。
firewall-cmd --policy VPN-Killswitch --add-rich-rule='rule family="ipv4" destination address="1.2.3.4" service name="openvpn" accept'
ローカルネットワークへのトラフィックを許可します。
firewall-cmd --policy VPN-Killswitch --add-rich-rule='rule family="ipv4" destination address="192.168.1.0/24" accept'
入口領域を設定します。
firewall-cmd --policy VPN-Killswitch --add-ingress-zone HOST
出口エリア:
firewall-cmd --policy VPN-Killswitch --add-egress-zone VPN-Only
これで、VPN専用ゾーンにネットワークカードを追加するだけです。これはNetworkManager GUI(またはCLI)またはファイアウォールを介して実行できます。
NetworkManagerを使用してフィルタリングする接続のプロパティウィンドウを開き、[全般設定]タブでファイアウォール領域をVPNのみに設定します。
またはファイアウォールを使用してください。
firewall-cmd --permanent --zone VPN-Only --add-interface=enp0s8
設定をテストして永久に作成します。
firewall-cmd --runtime-to-permanent