ip6tables 正向链过滤所有端口

ip6tables 正向链过滤所有端口

在 centos 6 节点上尝试以下操作(运行 openvz 内核)

ip6tables -F ip6tables -X ip6tables -P FORWARD DROP ip6tables -A FORWARD -p tcp -m multiport --dports 21,22,80,443 -j ACCEPT ip6tables -A FORWARD -p udp -m multiport --dports 21,22,80,443 -j ACCEPT ip6tables -A FORWARD -p ipv6-icmp -j ACCEPT

但是,这似乎禁用了从 openvz VPS 向外到节点或互联网的 ipv6 连接,并且在端口扫描器上它显示所有端口都被防火墙过滤/阻止。

但是,从节点内部 ping 到 VPS 可以正常工作。

我所要做的就是放弃所有转发,接受上面显示的多个端口,并允许 ipv6 连接通过。

这绝对是 ip6tables 的问题,因为当我停止 ip6tables 时,它运行良好,并且 ping 完全正常。

非常感谢您的帮助。

答案1

问题在于您的防火墙不是状态式的,它只允许流量单向通过。这里没有任何东西允许返回流量。因此,当客户端请求通过时,来自服务器的响应不符合任何规则并被丢弃。

改为编写正常的状态规则。例如:

-A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -m conntrack --ctstate NEW -m tcp -p tcp -m multiport --dports 21,22,80,443 -j ACCEPT

第二条规则允许初始连接尝试,而第一条规则允许所有剩余流量,只要连接保持打开状态。之所以排在第一位,是因为匹配频率最高,而排在第一位可以加快速度。

您的 ICMP 规则很好,应该保持原样。

相关内容