複数の ethX インターフェイスがあります。
eth0
インターネットに接続しました。eth1
信頼できるネットワークに接続しました。eth2
ネットワークに接続するには、使用規則を適用する必要があります。
私が望むのは、「見やすい」ルールを維持するために分離され、独自のチェーン(信頼できる/信頼できない)に入ることですeth1
。eth2
: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
私にとって必要なのは、基本的に以下を「話す」一連の規則です。
- 発信インターネットトラフィックが
eth0
pingされない場合は破棄されます。 eth1
インターネットに接続している場合はeth0
受け入れてください()eth2
TCPポート80を介してインターネットにアクセスしている場合は、そのポートを受け入れて他のすべてのエントリを削除します。- インターネットにアクセスするには、次のように迷彩を使用してください。
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/24
Networkに変更します。eth2
これにより、eth2
ネットワークで発生したパケットのみが偽装されます。
また、ポリシーに依存するのではなく、チェーンの終わりにパケットをドロップするルールを明示的に追加することを好みます。
これは質問の重要な点に対処する必要があります。