在Windows XP上禁用IPv6地址自动configuration

在Windows Vista和更高版本中,您可以通过GUI或使用netsh将静态IPv6地址和网关分配给接口。 地址也可以在Windows XP上静态configuration

 netsh interface ipv6 add address "Local Area Network" 2001:db8::bad:f00d 

和默认路由:

 netsh interface ipv6 add route ::/0 "Local Area Network" 2001:db8::1 

但问题是,如果RA-emmiting路由器出现在链路上,Windows XP也将根据通告的前缀和路由器的本地链路本地( fe80::地址为自己分配一个自动生成的地址作为默认值网关。

如果主机静态寻址,如何closures自动configuration?

UPDATE

似乎没有直接禁用SLAAC而不禁用IPv6本身的方法。 有没有registry设置这样做?

在我的本地IPv6networking上获得一个XP的盒子是有趣的。 不。

所以,在一个图像中,问题在于:XP对IPv6的支持最less。 我不相信有可能禁用无状态的自动configuration – 甚至不使用任何东西。

Windows XP IPv6 FAIL

首先,我得到我的无状态自动configuration,以及我的隐私地址。 隐私地址适用于全球互联网,我通过访问Google Chrome中的IP地址工具进行了确认。

所以我们开始摆弄。

首先,GUI不提供任何IPv6configuration选项; 看到“属性”是灰色的。 你可能想要做的一切必须从命令行完成。

routerdiscovery=disabledbuild议不起作用,因为这个命令根本不支持XP。 它需要Vista或更高版本。

用于Windows XP的所谓高级networking包可以下载用于SP1系统,但是此function包含在SP2中,并且任何提供的任何应用程序都应在任何SP2或更高版本的系统上提供。

一旦安装,一个ipv6命令变得可用,但它不提供任何有关禁用邻居发现。

不幸的是,XP 上的 Windows防火墙并没有区分IPv4和IPv6连接 ,因此selectICMPv6消息来阻止防火墙是不可能的。 这排除了任何Windows防火墙解决方法。

最后, XP甚至不支持DHCPv6 。

自从2003年这个代码发布以来,IPv6本身已经成熟了(而且微软似乎从来没有在XP上更新过),所以它几乎十年前就被IPv6所知晓。 据我所知,Windows XP中的IPv6支持应该被认为是“技术预览”,而不是在生产中使用,或者至less在使用时要格外小心并充分理解其局限性。

当然,XP在这个时候已经接近它的使用寿命了(有些人会说它已经超过了它的使用寿命),所以如果你升级这个盒子的话,这可能是最简单的解决scheme。

TL; DR:看看漂亮的照片。 哭泣。 升级到当前版本的Windows。

如果主机静态寻址,如何closures自动configuration?

值得一提的是,如果您的路由器上已经有了ipv6 autoconfiguration,为什么要分配一个静态的默认地址和地址?

但是,要完成要查找的内容,请使用pipe理员的cmd.exeshell程序中的此命令。

 netsh interface ipv6 set interface "Local Area Connection" routerdiscovery=disabled 

来源: MSDN technet

编辑

由于您使用的是XP,因此使用Windows防火墙阻止RA消息。

我不能命名一个具有function,但内置的XP防火墙不是唯一的软件防火墙。 也许其他防火墙软件包之一可以为你挑出这些数据包?