ip6tables 导致速度缓慢

ip6tables 导致速度缓慢

运行类似ntpq -p或的命令时apt-get update,需要很长时间才能显示结果。如果我删除所有 ipv6 规则,一切正常。

我检查了系统日志,没有删除任何 iptables,因此规则正在运行。我猜是我缺少了一些规则,导致进程变慢。

我如何才能提高性能?IPv4 流量没有这个问题。

下面是我的 ip6tables 配置示例:

  # Allow loopback access
  ip6tables -A INPUT -i lo -j ACCEPT
  ip6tables -A OUTPUT -o lo -j ACCEPT

  # Allow link-local
  ip6tables -A INPUT -s fe80::/10 -j ACCEPT
  ip6tables -A OUTPUT -s fe80::/10 -j ACCEPT

  # Allow multicast
  ip6tables -A INPUT -d ff00::/8 -j ACCEPT
  ip6tables -A OUTPUT -d ff00::/8 -j ACCEPT

  # Allow inbound PING
  ip6tables -A INPUT -i eth0 -p icmpv6 --icmpv6-type echo-request -j ACCEPT
  ip6tables -A OUTPUT -o eth0 -p icmpv6 --icmpv6-type echo-reply -j ACCEPT

  # Allow outbound PING
  ip6tables -A OUTPUT -o eth0 -p icmpv6 --icmpv6-type echo-request -j ACCEPT
  ip6tables -A INPUT -i eth0 -p icmpv6 --icmpv6-type echo-reply -j ACCEPT

  # Allow outbound DNS
  ip6tables -A OUTPUT -o eth0 -p udp --dport 53 -j ACCEPT
  ip6tables -A INPUT -i eth0 -p udp --sport 53 -j ACCEPT


     # Allow outbound NTP
  ip6tables -A OUTPUT -o eth0 -p udp --dport 123 -j ACCEPT
  ip6tables -A INPUT -i eth0 -p udp --sport 123 -j ACCEPT


  # Allow outbound SMTP
  ip6tables -A OUTPUT -o eth0 -p tcp --dport 25 -m conntrack --ctstate NEW,ESTABLISHED -j$
  ip6tables -A INPUT -i eth0 -p tcp --sport 25 -m conntrack --ctstate ESTABLISHED -j ACCE$

  # Allow outbound HTTP
  ip6tables -A OUTPUT -o eth0 -p tcp --dport 80 -m conntrack --ctstate NEW,ESTABLISHED -j$
  ip6tables -A INPUT -i eth0 -p tcp --sport 80 -m conntrack --ctstate ESTABLISHED -j ACCE$

答案1

您似乎过滤了太多 ICMPv6。IPv6 使用 ICMP 的次数比 IPv4 多得多,而且您过滤了太多 ICMP,以至于实际上破坏了 IPv6。不起作用的包括邻居发现、数据包过大错误消息和其他错误消息。这些对于 IPv6 至关重要。

在构建自己的防火墙规则时,你应该查看RFC 4890其中包含有关如何过滤 ICMPv6 的良好指南。

相关内容