nftablesで決定文「受け入れ」は最終ですか?

nftablesで決定文「受け入れ」は最終ですか?

判決内容を理解するのが困難ですnftables。からman nft、またはでここ、「判決文」というタイトルのすぐ下に次の内容があります。

受け入れと放棄は絶対的な判断です。つまり、ルールセットの評価はすぐに終了します。

しかし、次の文では(強調):

承認:ルールセット評価を終了し、パケットを受け入れます。後で別のフックによってパケットが破棄される可能性があります。[...]

仕方ないけど、それ自体が矛盾ではないか?どちらが本当ですか?ルールセットの評価をすぐに終了しますかaccept?引用されたステートメントの1つだけが本当かもしれません。

accept私は特にHooks内のステートメントの動作に興味がありますingress

答え1

はい、iptablesとnftablesの最終承認が行われました。

しかし...現在のテーブルでのみ動作します。

https://www.frozentux.net/iptables-tutorial/chunkyhtml/c3965.html

パケットの一致仕様が完全に満たされ、ACCEPT を宛先として指定すると、ルールが受け入れられます。現在のチェーンや同じテーブルの他のチェーンを連続して巡回しないでください。。ただし、1つのチェーンで許可されているパケットは、他のテーブルのチェーンを通過することができ、それでもそこで破棄される可能性があります。

nftablesも同じロジックを持っています。

答え2

考えるこれが意味するのは、accept特定のフックがそれを終了するが他のフックがそれをブロックできることです。例えば、この写真を見てくださいフロントフックうんaccept、しかしそれではポストルーティングフックはいdrop、これは「別のフック」なので、後で参照できます。

(私自身の経験だと思いますipchains/iptablesが、似ているように見え、IIRCも同様に動作します。)

答え3

おそらく最初に次の情報を見逃したかもしれませんし、netfilterの人々が文書を更新したかもしれません。しかし、他の答えを考慮しても追加する価値があると思いました。 ~から文書(強調):

パケットが承認され、他のチェーンがある場合同じフックタイプと低い優先順位を持つパケットは異なるチェーンを通過します。したがって、判決を受け入れる- ルールまたは基本チェーンポリシーを通じて -最終的である必要はありません。しかし、これは、ドロップ決定が行われるパケットの場合には該当しない。代わりに、削除は追加のルールやチェーンを評価することなくすぐに適用されます。

私にとっては、これは何の質問も残しません。追加の説明が必要な唯一の方法は、「優先順位」という言葉が少し奇妙に使用されたことです。

優先順位の低い数字(例:-400、-300)は高い優先順位は、優先順位番号の低いチェーン/フックが最初に評価されることを意味します。したがって、このフックは、他のフックがパケットを処理するのを防ぐことを含む、パケットに対してすべての操作を実行できます。自然言語では、これを最優先事項と呼ぶことができます(しかし、私がネイティブスピーカーではないので完全に間違っている可能性があることに注意してください)。

ただし、優先順位の高い数字 (300 対 -300 など) は、次のことも意味します。高い優先順位は、優先順位番号の高いチェーン/フックが優先順位番号の低いチェーン/フックの「受け入れ」決定を上書きできることを意味します。

これを把握するのに時間がかかりました。このような場合は、「優先順位」という単語を削除し、「評価時間」またはネイティブスピーカーが考えるより良い単語に置き換えることをお勧めします。

関連情報