为什么一组有效的 iptables 规则会减慢我的服务器的速度?

Hac*_*ell 2 ubuntu iptables lighttpd ubuntu-11.10

所以我实现了一些不同的 iptables 规则,现在如果我启用它们,那么 lighttpd 只需永远加载启用 php 的页面(如 wp)。服务器上没有负载,处理器使用率保持较低。

这是我的配置,这可能是什么原因?

*筛选

:前向接受[0:0]
:输出接受[0:0]
:fail2ban-ssh - [0:0]
-A 输入 -p tcp -m tcp --dport 80 -j 接受 
-A 输入 -p tcp -m tcp --dport 2012 -j 接受 
-A 输入 -p tcp -m tcp --dport 1194 -j 接受 
-A 输入 -p icmp -m icmp --icmp-type 8 -j 接受 
-A 输入 -i lo -j 接受 


-A 输出 -j 接受 

-A 输入 -j 删除 
犯罪

Mic*_*ton 9

您缺少根据现有流量接受流量的规则(使 iptables 有状态的规则)。这应该是你的第一条规则:

-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
Run Code Online (Sandbox Code Playgroud)

  • 请注意,这可以进一步适应`-A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT`。我发现 `conntrack` 在最近的内核中更受欢迎,而 `state` 是后备。 (4认同)

Der*_*rfK 7

您正在阻止传入的 DNS 响应,并且显然 lighttpd(或 wp)被配置为将 IP 地址解析为主机名。

你应该能够用类似的东西来解决这个问题

-A INPUT -p udp -m udp --sport 53 -j ACCEPT
Run Code Online (Sandbox Code Playgroud)

因为用于 DNS 响应的 UDP 数据包来自端口 53。