iptables で同じトラフィックに対して ACCEPT ルールと DROP ルールを設定する理由は何ですか?

iptables で同じトラフィックに対して ACCEPT ルールと DROP ルールを設定する理由は何ですか?

私のサーバーの iptables でこれを見つけました:

-A INPUT -i eth2.600 -p udp -m udp --sport 53 -m limit --limit 10000/sec --limit-burst 200 -j ACCEPT
-A INPUT -i eth2.600 -p udp -m udp --sport 53 -j DROP

ポート 53 からのパケットは受け入れられるでしょうか? それとも、最初のルールが OK である限り (制限に達していない限り) 受け入れられ、その後ドロップされるのでしょうか?

答え1

この措置は、以下の場合にのみ実施されます。全てルール条件が一致した場合、他のパケットは次のルールに「通過」します。ポートが一致しない場合、プロトコルが一致しない場合、またはレート制限が一致しない場合にも同じことが適用されます。

したがって、パケットが制限を満たしている場合は-m limit受け入れられますが、制限を満たしていない場合はいいえ最初のルールによってアクションが実行され、パケットは 2 番目の (DROP) ルールに渡されます。

明示的な DROP があるかどうかはルールセットによって異なります。これは 100% 必要というわけではありません (たとえば、最後に包括的な DROP があったり、グローバル ドロップ ポリシーがあったりする場合もあります) が、ルールセットが非常に長い場合に明確さが増し、同じパケットが下位の別のルールによって誤って受け入れられるのを防ぐことができます。

関連情報