我想知道如何拒绝我的 ipv6 地址上的 ping 回复。我们一直在工作中处理 ipv6 上的 ping 泛洪问题,而阻止 icmp 请求的常用方法不起作用。
我已经尝试使用 imcp 文件夹(在 linux 中)中预装的脚本,但是 ipv6 没有相应的脚本。
我也尝试过通过 iptables 进行操作,但没有成功:
/sbin/iptables -A OUTPUT -p icmp -o eth0 -j ACCEPT
/sbin/iptables -A INPUT -p icmp –icmp-type echo-reply -s 0/0 -i eth0 -j ACCEPT
/sbin/iptables -A INPUT -p icmp –icmp-type destination-unreachable -s 0/0 -i eth0 -j ACCEPT
/sbin/iptables -A INPUT -p icmp –icmp-type time-exceeded -s 0/0 -i eth0 -j ACCEPT
/sbin/iptables -A INPUT -p icmp -i eth0 -j DROP
如果知道这是否可行以及如何适用于 win 和 mac OSX 机器那就好了。
答案1
首先,要提醒大家。丢弃某些类型的 ICMPv6 流量可能会彻底破坏您的网络。因此,在做任何事情时一定要小心谨慎,不要丢弃任何流量。RFC 4890是开始学习什么该做、什么不该做的好地方。
解决了这个问题...
您给出的示例iptables
仅管理 IPv4 流量。IPv6 防火墙是独立的,通过 进行管理ip6tables
。
例如,如果你确实想丢弃传入的 ping,你可以执行以下操作(不推荐;请参阅 RFC):
ip6tables -A INPUT -p icmpv6 --icmpv6-type echo-request -j DROP
请参阅ip6tables
手册页。上面的 RFC 还包括一些ip6tables
示例配置。