拒绝IPv6广播
本篇已经停止维护,如遇到类似的问题,请参考《解决错误的IPv6路由广播总结》。
这几天有个实验室总是发布错误的IPv6路由广播,给我造成了很大影响。在Windows下可以通过set prefixpolicy的方法解决,但Linux却没有找到对应的方法。改路由表也没有起到作用。
观察发现IPv6地址的分配与MAC地址是对应的,即如果将正确的IPv6地址作为静态地址,然后拒绝IPv6广播,就可以解决这个问题。
拒绝IPv6广播是一个runtime kernel parameter,在net.ipv6.conf.<interface>.accept_ra,置0为拒绝。

4 Responses
解决错误的IPv6路由广播总结...
IPv6路由广播是IPv6的新特性之一——无状态自动配置的实现途径。IPv6协议规定了两种设备自动配置方案,一种由DHCPv6实现,另一种就是无状态自动配置——路由器广播本地子网的前缀和对应的路由器地址,新入网的设备根据这些信息自动配置网络。无状态自动配置的缺点是无法自动配置DNS。与在IPv4网络上随意发布DHCP信息相对应,在IPv6网络上发布错误的前缀也会干扰本地子网的使用者,而由于IPv6用户较少,不容易得到网络管理员的关注,故自己掌握如何解决这样的错误的IPv6路由广播是必要的。 ...
#!/bin/sh
ROUTERMAC=''
#ip6tables -D INPUT -p icmpv6 -m mac ! --mac-source "$ROUTERMAC" -j DROP
ip6tables -F
ip6tables -A INPUT -p icmpv6 -m mac ! --mac-source "$ROUTERMAC" -j DROP
Reply
原来iptables还可以这么用……受教了。
Reply
Windows下set prefixpolicy在我这里仍然无用
Reply