因此,我实施了一组不同的 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 防火墙日志?
这两个问题应该可以帮助你找到问题所在,你阻止了太多的东西......