回答:
そのため、1つを除くすべてのインターフェイスについて、すべてのトラフィックを受け入れ、eth0でftpおよびsshを除くすべての着信トラフィックをドロップします。
まず、デフォルトですべてのトラフィックを受け入れるポリシーを設定できます。
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
その後、ファイアウォールルールをリセットできます。
iptables -F
これで、すでに許可した接続の一部であるeth0での着信トラフィックを許可したいと言うことができます。
iptables -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT
また、eth0で着信ssh接続を許可することも必要です。
iptables -A INPUT -i eth0 -p tcp --dport 22 -j ACCEPT
しかし、eth0に着信する他のものはすべてドロップする必要があります。
iptables -A INPUT -i eth0 -j DROP
もう少し詳しくは、このCentOS wikiエントリを参照してください。
FTPはランダムポートを使用できるため、sshよりも扱いにくいので、この前の質問を参照してください。
iptablesルールでインターフェースを指定するオプションは-i
、例えば:-i eth0
です。
iptables
ルールを作成する場合、インターフェイスを指定する必要があるのは非常に簡単です。LANカードを指定するオプションiptables
は-i
ルールに従うことはあなたに良い例を与えることができます
iptables -A INPUT -p tcp -i eth0 --dport 22 -j ACCEPT
iptables -A INPUT -p tcp -i eth0 --dport 21 -j ACCEPT
iptables -A INPUT -p tcp -i eth0 -j REJECT --reject-with tcp-reset
最後のルールは、最初の2つのルールに一致しない他のパケットを拒否することです。のすべてのルールiptables
は指定された順序で実行されるため、パケットを拒否するルールは常に最後になります。