微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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.

原文地址:https://www.jb51.cc/linux/397064.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐