linux – ip6tables需要特殊规则吗?

前端之家收集整理的这篇文章主要介绍了linux – ip6tables需要特殊规则吗?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在使用iptables设置规则并检查一切正常后,我还为IPv6地址设置了相同的规则,并注意到我无法连接到任何服务器的IPv6地址和端口.默认策略是DROP除手动允许的端口以外的所有内容.

规则如下:

-P INPUT DROP
-A INPUT -i lo -j ACCEPT
-A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
...

说实话,我使用iptables和ip6tables运行这些命令,虽然IPv4的一切正常,但我无法通过IPv6从外部连接.

我是否应该允许IPv4不需要的其他内容

解决方法

IPv4使用单独的协议来查找属于IPv4地址的MAC地址:ARP.因为它是一个单独的协议iptables不会影响它.

IPv6集成了该功能,不需要/使用ARP.该功能使用ICMPv6消息实现.区别在于ICMPv6受ip6tables的影响.如果您不允许通过正确的ICMPv6消息阻止自己使用网络.您将无法在LAN上找到其他系统(如默认网关),而其他系统则找不到您.

您至少需要接受邻居请求和邻居广告消息.如果您使用路由器广告为默认网关提供资金和/或使用地址自动配置,您也需要接受这些广告. ping你的机器进行调试也很有用,所以也许你也想接受echo-r​​equest消息.

有关可能的ICMPv6消息的完整列表,请参阅https://www.iana.org/assignments/icmpv6-parameters.

猜你在找的Linux相关文章