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         

为了测试一切是否正常,我使用 wrk 以 3 个线程和 1000 个连接请求机器上的 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

相关内容