ルータが自分自身に転送されたパケットを拒否するのはなぜですか?

ルータが自分自身に転送されたパケットを拒否するのはなぜですか?

FORWARD チェーンの最初のルールは興味深いです。ポリシーが DROP である場合、なぜこれが必要なルールなのでしょうか?

root@tomato:/tmp/home/root# iptables -L --line-numbers
Chain INPUT (policy DROP)
num  target     prot opt source               destination
1    REJECT     tcp  --  anywhere             tomato               multiport dports www,https,ssh reject-with tcp-reset
2    REJECT     tcp  --  anywhere             tomato-lan1          multiport dports www,https,ssh reject-with tcp-reset
3    DROP       all  --  anywhere             anywhere             state INVALID
4    ACCEPT     all  --  anywhere             anywhere             state RELATED,ESTABLISHED
5    shlimit    tcp  --  anywhere             anywhere             tcp dpt:ssh state NEW
6    ACCEPT     all  --  anywhere             anywhere
7    ACCEPT     all  --  anywhere             anywhere
8    ACCEPT     all  --  anywhere             anywhere

Chain FORWARD (policy DROP)
num  target     prot opt source               destination
1    REJECT     tcp  --  anywhere             tomato               multiport dports www,https,ssh reject-with tcp-reset
2    REJECT     tcp  --  anywhere             tomato-lan1          multiport dports www,https,ssh reject-with tcp-reset
3    ACCEPT     all  --  anywhere             anywhere
4    ACCEPT     all  --  anywhere             anywhere
5    DROP       all  --  anywhere             anywhere             state INVALID
6    ACCEPT     all  --  anywhere             anywhere             state RELATED,ESTABLISHED
7    DROP       all  --  anywhere             anywhere
8    DROP       all  --  anywhere             anywhere
9    wanin      all  --  anywhere             anywhere
10   wanout     all  --  anywhere             anywhere
11   ACCEPT     all  --  anywhere             anywhere
12   ACCEPT     all  --  anywhere             anywhere

Chain OUTPUT (policy ACCEPT)
num  target     prot opt source               destination

Chain shlimit (1 references)
num  target     prot opt source               destination
1               all  --  anywhere             anywhere             recent: SET name: shlimit side: source
2    DROP       all  --  anywhere             anywhere             recent: UPDATE seconds: 60 hit_count: 4 name: shlimit side: source

Chain wanin (1 references)
num  target     prot opt source               destination
1    ACCEPT     tcp  --  anywhere             oldtimer             tcp dpt:3300

Chain wanout (1 references)
num  target     prot opt source               destination

答え1

1) ルールは、より高レベルの記述を受け取るプログラムによって自動的に生成されます。ルールがそこに表示されているからといって、それが「必要」であると想定しないでください。

2) ルールが厳密に必要ではない場合でも、何かが許可されていないことを明示的に示すために、ルールを含めることは良い習慣です。

3) ただし、テーブルの末尾に到達してデフォルトの DROP ポリシーが適用される前にパケットを受け入れる他のルールがある場合には、このルールを含めることが実際に必要になる場合があります。

特に、FORWARD チェーンのルール 11 と 12 は同一に見え、すべてを受け入れるように見えます (したがって、リストされていない属性がある可能性があります。-Sの代わりにを試してください-L)。実際にそうである場合、それは ACCEPT のデフォルト ポリシーと同じであるため、ドロップしたいものをすべて明示的にドロップする必要があります。

関連情報