接続追跡なしの ufw

接続追跡なしの ufw

私は、ubuntu (12.04 または 14.04) 上の高トラフィック Web サーバー (大量の http/https トラフィック) で ufw を使用しています。

接続追跡に関連するカーネルパラメータを調整してみましたある程度の成功

しかし、考えてみると、私は NAT を行っていないので、少なくともポート 80 または 443 の接続については接続追跡は必要ないと思います。

私は以下の指示に従ってみましたこの質問適応すると、次のようになります。

sudo iptables -t raw -A PREROUTING -p tcp --dport 80 -j NOTRACK

私の生のテーブルは次のようになります:

Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination         
NOTRACK    tcp  --  anywhere             anywhere             tcp dpt:http

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         

すべてが機能することをテストするために、3 つのスレッドと 1000 の接続を使用して、wrk を使用するマシン上で nginx インスタンスを要求します。

wrk -t 3 -c 1000 "http://<server_ip>/"

これらは追跡されるべきではないので、conntrackカウントには表示されないはずです。

しかし、私は...

sudo sysctl -A | grep net.netfilter.nf_conntrack_count
net.netfilter.nf_conntrack_count = 1035

テストを実行すると、この値が上下しているのがはっきりとわかります。

何が間違っているのでしょうか?

答え1

OUTPUT ルールも必要です。

-t raw -A PREROUTING -p tcp --dport 80 -j NOTRACK
-t raw -A OUTPUT -p tcp --sport 80 -j NOTRACK

関連情報