我在ubuntu(12.04或14.04)上使用ufw在高stream量的networking服务器上(很多http / httpsstream量)。
我试着调整与连接跟踪有关的内核参数,并取得了一些成功
但是考虑一下,我不做NAT,因此我不认为我至less需要连接跟踪端口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
为了testing一切正常,我使用wrk使用3个线程和1000个连接请求机器上的一个nginx实例。
wrk -t 3 -c 1000 "http://<server_ip>/"
由于这些不应该被追踪,我不应该看到他们的连锁数量
不过,我呢…
sudo sysctl -A | grep net.netfilter.nf_conntrack_count net.netfilter.nf_conntrack_count = 1035
当我运行testing时,我可以清楚地看到这个值。
我究竟做错了什么?
你也需要一个OUTPUT规则。
-t raw -A PREROUTING -p tcp --dport 80 -j NOTRACK -t raw -A OUTPUT -p tcp --sport 80 -j NOTRACK