为什么一组有效的 iptables 规则会使我的服务器变得缓慢?

为什么一组有效的 iptables 规则会使我的服务器变得缓慢?

因此,我实施了一组不同的 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 删除
犯罪

答案1

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

-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

答案2

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

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

-A INPUT -p udp -m udp --sport 53 -j ACCEPT

因为 DNS 响应的 UDP 数据包源自端口 53。

答案3

由于不知道完整设置的详细信息,因此我建议您执行以下操作。在 Drop 规则之前,添加一条规则以记录所有流量。然后检查您的系统日志以查找被丢弃的数据包。您将知道哪些类型的数据包被丢弃或拒绝,然后您可以根据要允许的数据包类型创建规则。

答案4

原因是缺少注释和日志记录:

  • 你能说出大约一个月后每条线路的功能吗?

  • 您是否比较过实施此功能前后的 iptables 防火墙日志?

这两个问题应该可以帮助你找到问题所在,你阻止了太多的东西......

相关内容