页面

2012年9月14日星期五

局域网路由广播导致ipv6无法使用

前一段时间ipv6断掉了,以为又是校园网抽风,过一段时间就会好的,只是这次抽的似乎很厉害,一连几天都是这样。

无意中看了一下IP,发现除了常规的2001:da8开头的地址,还有一个2002开头的,于是去搜“两个ipv6地址”,找到这一篇

有个“临时”还算正常,有个2002开头的地址就不正常了。。。如果有2002开头的IP地址,那就是有人用了路由广播,找到该地址,然后向计算中心 ,举报mac 即可。如果能推测出电脑的使用者,可以上门pk
还有这个
Windows Vista 缺省会安装v6 协议栈,并且会在接口上发送RA(注:route advertise,发送路由器公告),宣告 2002:/16 开头的ipv6前缀,宣告RA干扰了其他用户的v6正常操作,使您的电脑获取到不合法的2002开头的IPv6地址,所以上不了IPv6网站。 ” 


再去搜“路由广播”,找到这一篇,问题说的很详细,解决方法也讲了,用命令
          netsh interface ipv6 set prefixpolicy 2001::/32 35 1 persistent
"将2001::/32的优先级提高,从而屏蔽2002::/16前缀。这样虽然还是会获得2002地址,但默认优先使用2001::/32前缀,不会让2002地址影响用户的网络体验”,可惜我的改了之后不见效果,google依然打不开。

然后折腾折腾折腾,找到另一个办法,绑定一个IPV6地址且绑定一个默认的IPV6网关可惜。。。又不见效~

后来发现只要删除错误路由广播产生的网关,

          netsh interface ipv6 delete route ::/0 int=27 fe80::491b:fe5:285f:1274
立马畅通无阻,只是马上这个网关又自动出现了,。。。

最后的最后无意中又看了一下路由状态,netsh interface ipv6 show route,(这几天这几个命令都敲烂了~~),咦,那个跃点数是什么,google之,找到这一篇,好吧,就改一下网关的跃点数吧,把那个2001开头的网关跃点数改成2,终于,完全好了~~



20120921更新,另外两种方法:
·关闭路由器发现(netsh interface ipv6 set interface 本地连接 routerdiscovery=disable)并配置静态ipv6地址;
·更改Windows防火墙--入站规则--核心网络-路由器播发-属性-作用域-远程IP地址-下列IP地址-删除fe80::/64(默认值,表示接受局域网内所有路由的路由广播),添加所在楼栋默认网关的IPv6地址。这样还有一个好处,就是下面链接中说的,可以避免DoS by RA Packets攻击导致的死机或高CPU占用。
参考http://samsclass.info/ipv6/proj/flood-router6a.htm


没有评论:

发表评论