2016-07-02 4 views
0

たとえば、私は2つのテーブルがあります。私が欲しいものではありませんこれは、テーブルのチェーンの順序はどのように決められていますか?

table inet filter2 { 
    chain forward { 
    type filter hook forward priority 0; policy accept; 
    ct state established,related accept 
    iifname $wireif oifname $wirelessif accept 
    } 
} 

table inet filter { 
    chain forward { 
    type filter hook forward priority 0; policy accept; 
    drop 
    } 
} 

filterは、最初に実行されるので、すべての私の前方にパケットが破棄されます。ようやくデフォルトのオプションとして動作させるために、テーブル/チェーンを最後に実行するように設定するにはどうすればよいですか?

答えて

1

Nftablesは、Linuxカーネルネットワークスタック内の異なる場所にあるhas 6 hooks pointsというネットワークフィルタフレームワークを使用します。

同じフックポイントnetfilterフレームワークの優先順位で1つ以上のルールが追加された場合、そのルールはpriority typeで指定されます。

たとえば、チェーンを追加する際には、チェーンごとに異なる優先度タイプを使用できます。 あなたがfilter2 table

forward chainより

filter tableforward chainを定義したルールに高い優先順位を与えたいとしましょう。今

nft add table ip filter2

nft add chain ip filter2 forward {type filter hook forward priority 0 \;}

nft add table inet filter

未満filterテーブルアサイン優先のforward chainに高い優先順位を与えます

ここで、プライオリティ値が高いほどプライオリティが低くなり、逆の場合はプライオリティが低くなります。

ただし、優先順位の異なるタイプを使用しているときは、意図しない動作が発生する可能性があるため、注意してください。詳しくはthis

PS:different syntax for negative priorityが少しあります。

+0

質問が投稿されたとき、優先度は実装されていませんでした(指定することはできますが、単に機能しません)。それでも私はあなたの答えを受け入れるでしょう。ありがとう! –

関連する問題