在 Windows XP 上禁用 IPv6 地址自动配置

在 Windows XP 上禁用 IPv6 地址自动配置

在 Windows Vista 及更高版本中,您可以通过 GUI 或使用 为接口分配静态 IPv6 地址和网关netsh。在 Windows XP 上,也可以使用以下方法静态配置地址:

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 发射路由器,Windows XP 还将根据通告的前缀为自己分配一个自动生成的地址,并将fe80::路由器的链路本地 () 地址作为默认网关。

如果主机是静态寻址的,我该如何关闭自动配置?

更新

似乎没有直接的方法可以在不禁用 IPv6 本身的情况下禁用 SLAAC。是否有注册表设置可以执行此操作?

答案1

在我的本地 IPv6 网络上安装 XP 盒子……很有趣。但并不。

因此,从一张图片可以看出,问题在于:XP 对 IPv6 的支持最多只能算是最低限度的。我不认为可能的禁用无状态自动配置 - 甚至使用其他任何方法。

Windows XP IPv6 失败

首先,我能够顺利地获得无状态自动配置以及我的隐私地址。隐私地址在全球互联网上有效,我通过访问以下网址确认了这一点:我的 IP 地址工具在 Google Chrome 中。

因此我们开始摆弄。

首先,GUI 不提供任何 IPv6 配置选项;请注意,“属性”是灰色的。您可能需要执行的所有操作都必须通过命令行完成。

@MikePennington 的建议routerdiscovery=disabled不起作用,因为此命令在 XP 上根本不受支持。它需要 Vista 或更高版本。

所谓的Windows XP 高级网络包可以为 SP1 系统下载,但此功能包含在 SP2 中并且它提供的任何内容都应该可以在任何 SP2 或更高版本的系统上使用。

安装后,ipv6命令将可用,但它没有提供任何相关信息禁用邻居发现。

不幸的是,XP 上的 Windows 防火墙不区分 IPv4 和 IPv6 连接,因此无法选择在防火墙中阻止 ICMPv6 消息。这排除了任何 Windows 防火墙解决方法。

最后,XP 甚至不支持 DHCPv6

IPv6 本身自 2003 年发布此代码以来已经成熟(微软似乎从未在 XP 上更新它),因此它受到近十年前对 IPv6 的了解的限制。据我所知,Windows XP 中的 IPv6 支持应被视为“技术预览”,不应在生产中使用,或者至少应非常谨慎地使用并充分了解其局限性。

当然,XP 现在已经接近其使用寿命的终点(有些人会说它已经过了使用寿命的终点),所以如果你升级盒子,这可能是最简单的解决方案。

TL;DR:看看这幅美丽的图画。哭吧。升级到最新版本的 Windows。

答案2

如果主机是静态寻址的,我该如何关闭自动配置?

如果您的路由器上已经有 IPv6 自动配置,那么值得问的是为什么要分配静态默认值和地址。

但是,为了完成您要查找的操作,请从管理员cmd.exeshell 中使用此命令...

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

来源:MSDN 技术网

编辑

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

答案3

我无法具体说出哪一款防火墙具有此功能,但内置的 XP 防火墙并不是唯一可用的软件防火墙。也许其他防火墙软件包可以帮您拦截这些数据包?

相关内容