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

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

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

  *过滤

 :FORWARD ACCEPT [0:0]
 :OUTPUT ACCEPT [0:0]
 :fail2ban-ssh  -  [0:0]
 -Ainput-p tcp -m tcp --dport 80 -j ACCEPT 
 -A INPUT -p tcp -m tcp --dport 2012 -j ACCEPT 
 -A INPUT -p tcp -m tcp --dport 1194 -j ACCEPT 
 -Ainput-p icmp -m icmp -icmp-type 8 -j ACCEPT 
 -Ainput-i lo -j接受 


 -A OUTPUT -j ACCEPT 

 -Ainput-j DROP 
承诺

您错过了一个规则来接受基于现有stream量的stream量(使iptables有状态的规则)。 这应该是你的第一条规则:

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

您阻止传入的DNS响应,显然,lighttpd(或wp)configuration为将IP地址parsing为主机名。

你应该可以用类似的东西解决这个问题

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

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

由于有关完整的设置的细节不知道,那么我可以build议你跟随。 就在丢弃规则之前,添加一个规则来logging所有的stream量。 然后检查你的系统日志中的那些被丢弃的数据包。 你会知道什么types的数据包被丢弃或被拒绝,那么你可以创build一个基于这些types的数据包允许的规则。

原因是缺less评论和日志logging:

  • 你能告诉大家现在一个月左右每条线路是干什么的吗?

  • 你把你的iptables防火墙的日志比较了吗?

这两个问题应该帮助你find问题,你阻止了太多的东西…