IPv6客户端服务

我得到了提供DHCPv4和DHCPv6的Windows Server 2012。
服务器上的NIC获得了2个IPv6地址。 我发现第二个IPv6来自“IPv6客户端服务”(我只需要服务 – 而不是IPv6),但是我不需要给定的IPv6地址 – 事实上v6 IP会生成一些错误。
我知道这是一个删除这个地址的netsh命令,但不幸的是这个服务会在一段时间后创build另一个。 有没有办法禁用从“IPv6客户端服务”生成另一个IPv6而不禁用整个服务?

/编辑:

Beschreibung. . . . . . . . . . . : Gigabit-Netzwerkverbindung Intel(R) 82574L<br/> Physische Adresse . . . . . . . . : ??-??-??-??-??-??<br/> DHCP aktiviert. . . . . . . . . . : Nein<br/> Autokonfiguration aktiviert . . . : Ja<br/> IPv6-Adresse. . . . . . . . . . . : 2a02:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx(Bevorzugt)<br/> IPv6-Adresse. . . . . . . . . . . : 2a02:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx(Bevorzugt)<br/> Lease erhalten. . . . . . . . . . : Montag, 10. November 2014 17:17:42<br/> 

我的输出显示我有2个IPv6地址。 一个来自DHCP服务器,服务器自己给它,另一个是卫星地址。

为什么服务器使用自己的池中的IPv6地址,即使我禁用了m标志和路由器发现?

/编辑2:

我刚刚find一个解决scheme。 虽然Server 2008 R2不显示与Server2012 R2的IPv6特性。 这是绝对不希望的。 虽然可以使用netshell命令删除第二个IPv6(IPv6池中的随机IPv6)

Netsh int ipv6删除地址NIC ADDRESS

服务器本身在一段时间后要求另一个IPv6。 即使所有需要的标志都是0。
这个bug的解决scheme是使用2个cmdlet来激活标志并在标志之后直接停用它们。 它们甚至比netshell命令更强大 – 即使它们在表面上也是如此。

这里是命令:

 $a = "INTERFACENAME" Set-NetIPInterface "$a" -AddressFamily ipv6 -RouterDiscovery Enabled Set-NetIPInterface "$a" -AddressFamily ipv6 -ManagedAddress Enabled Set-NetIPInterface "$a" -AddressFamily ipv6 -RouterDiscovery Disabled Set-NetIPInterface "$a" -AddressFamily ipv6 -ManagedAddress Disabled 

现在您需要将其保存为PowerShell脚本,并将其添加到任务计划程序中。 你只需要在重新启动后执行它。

打开任务计划程序,创build一个新任务,将触发器设置为“重新启动”,并执行以下操作:

 %SystemRoot%\system32\WindowsPowerShell\v1.0\powershell.exe -command "C:\Scripts\PATH_TO_THE_SCRIPT.ps1" 

第一个是通往powershell的path,第二个是脚本的path。 现在,您只需指定在以pipe理员权限重新启动时运行脚本。 我build议使用系统用户来运行这个脚本。

现在是重新启动的时候了。 执行它并打开一个shell,inputipconfig /all查看你的静态IPv6和DHCPv6池中不存在的IPv6。

/编辑3(最后编辑和解决scheme):

之后,服务器仍然向组播地址ff02 :: 1:2发送DHCPv6请求。
使用Wireshark来显示它。
在Windows 8,Windows 8.1,Windows 7和Windows Server 2012中会发生此行为。
在Windows 8,Windows 8.1和Server 2012中,您可以通过简单地使用这个漂亮的小型CMDLet来禁用DHCPv6请求(它需要pipe理员权限):

 Set-NetIPInterface INTERFACENAME -AddressFamily IPv6 -DHCP Disabled 

closures自主标志并打开路由器上的手动标志。 在nic上设置静态地址以使用前缀128,你将会是黄金。

您可以使用get-netipaddress在PowerShell中诊断无状态地址分配,这将显示系统从何处获取地址。

注意:如果自主标志打开,Windows服务器(甚至设置为DHCP)将清除其手动地址并使用无状态。

编辑:我忘了添加这将设置有状态IPv6,如果这不是你的目标,然后忽略这个答案。

编辑:另请参阅: Windows 7和Ubuntu 12.04上的IPv6地址首选项和隐私扩展