IPtablesにはルールのリストがあり、各パケットについて、ルールのリストを順番にチェックします。パケットに一致し、ポリシー(ACCEPT、REJECT、DROP)を指定するルールが見つかると、一致するパケットの運命が決定されます。これ以上のルールは検査されません。
これは、コマンドを実行する順序が重要であることを意味します。を使用する場合iptables -A、ルールのリストの最後にルールを追加するので、次のようなルールリストが作成されます。
Chain FORWARD (policy ACCEPT)
target prot opt source destination
REJECT all -- anywhere anywhere reject-with icmp-host-prohibited
ACCEPT all -- anywhere anywhere
REJECTルールはルールの前にあるため、ACCEPT最初にトリガーされ、転送は行われません。
したがって、REJECTルールを追加する代わりに、ルールを削除する必要がありますACCEPT。REJECTルールを削除するには、次を実行します。
iptables -D FORWARD -j REJECT
詳細については、iptablesのマンページを参照してください。
-A、多分あなたは、使用したい-P設定するPの olicy(チェーン内の他のルールが適用されないデフォルトアクション)。たとえば、iptables -P FORWARD DROP(にすることはできませんREJECT)。