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.

相关文章

insmod和modprobe加-f参数导致Invalid module format错误 这...
将ArchLinux安装到U盘 几个月前入门Arch的时候上网搜了不少安...
1、安装Apache。 1)执行如下命令,安装Apache服务及其扩展包...
一、先说一下用ansible批量采集机器信息的实现办法: 1、先把...
安装配置 1. 安装vsftpd 检查是否安装了vsftpd # rpm -qa | ...
如何抑制stable_secret读取关键的“net.ipv6.conf.all.stabl...