IPTablesファイアウォール/ルーター/ゲートウェイはユーザーのアウトバウンドトラフィックをブロックする必要があります。

IPTablesファイアウォール/ルーター/ゲートウェイはユーザーのアウトバウンドトラフィックをブロックする必要があります。

複数の ethX インターフェイスがあります。

  • eth0インターネットに接続しました。
  • eth1信頼できるネットワークに接続しました。
  • eth2ネットワークに接続するには、使用規則を適用する必要があります。

私が望むのは、「見やすい」ルールを維持するために分離され、独自のチェーン(信頼できる/信頼できない)に入ることですeth1eth2

:INPUT DROP
-A INPUT ! -i eth0 -j ACCEPT    # allows INPUT on traffic not internet based
... # More rules for eth0 allowing PING and shunting most everything else
-A INPUT -i eth1 -j trusted
-A INPUT -i eth2 -j untrusted

これらの問題により、OUTPUTとFORWARDは現在ACCEPTに設定されています。

今はeth1ただ連鎖仮面舞踏会に飛び込めばいいのですが、これまではまったく大丈夫でしたが、eth2試したようにうまくいかず、どのように操作すべきか混乱します。

eth2私の考えでは、許可されているすべてのポート/プロトコルを一覧表示することですが、これまではファイアウォールサーバーのDNS / DHCPではなく、接続されたデバイスを介して何も接続できないため、機能しません。

:untrusted
-A untrusted -i eth2 -p tcp -m tcp --dport 80 -j ACCEPT

私にとって必要なのは、基本的に以下を「話す」一連の規則です。

  1. 発信インターネットトラフィックがeth0pingされない場合は破棄されます。
  2. eth1インターネットに接続している場合はeth0受け入れてください()
  3. eth2TCPポート80を介してインターネットにアクセスしている場合は、そのポートを受け入れて他のすべてのエントリを削除します。
  4. インターネットにアクセスするには、次のように迷彩を使用してください。eth0

どんなアイデアや提案でも大変感謝します!

ベストアンサー1

-A OUTPUT -o eth0 -p icmp --icmp-type ping -j ACCEPT
-A OUTPUT -o eth0 -j DROP

-A FORWARD -i eth1 -o eth0 -j ACCEPT
-A FORWARD -i eth0 -o eth1 -m state --state ESTABLISHED,RELATED -j ACCEPT

-A FORWARD -i eth2 -o eth0 -p tcp --dport 80 -j ACCEPT
-A FORWARD -i eth2 -o eth0 -j DROP
-A FORWARD -i eth0 -o eth2 -m state --state ESTABLISHED,RELATED -j ACCEPT

*nat
-A POSTROUTING -s 192.168.2.0/24 -o eth0 -j MASQUERADE

最後の行をNetworkから192.168.2.0/24Networkに変更します。eth2これにより、eth2ネットワークで発生したパケットのみが偽装されます。

また、ポリシーに依存するのではなく、チェーンの終わりにパケットをドロップするルールを明示的に追加することを好みます。

これは質問の重要な点に対処する必要があります。

おすすめ記事