将多个IPv6地址分配给单个接口

我正在为IPv6configuration一个DHCP scope ,但是我的所有客户端都获得了分配给该接口的两个或多个IPv6地址。

我使用fda8:6c3:ce53:a890:/64作为前缀。 范围是在运行Windows Server 2008 R2的计算机上,但是我也希望在Server 2012上推出它。

我的客户正在得到以下内容:

IPv6地址。 。 。 。 。 。 。 。 。 。 。 :1024 :: 1492:9288:7357:7d30(优选)
IPv6地址。 。 。 。 。 。 。 。 。 。 。 :fda8:6c3:ce53:a890 :: 1(首选)
IPv6地址。 。 。 。 。 。 。 。 。 。 。 :fda8:6c3:ce53:a890:1492:9288:7357:7d30(已修正)
链路本地IPv6地址。 。 。 。 。 :fe80 :: 1492:9288:7357:7d30%10(优选)

在这个例子中,没有DHCP scope ,机器的static IPfda8:6c3:ce53:a890::1 。 考虑到这一点, 1024地址和fda8:6c3:ce53:a890:1492:9288:7357:7d30地址是从哪里来的?

DHCPv6不需要configuration为发布IPv6地址以使networking正常工作。 相反,每台机器根据其MAC分配一个链路本地地址(在[FE80::]/16 ),但可能是随机的。 然后它侦听路由器通告,并根据通告的前缀,使用相同的逻辑为自己分配一个或多个地址。 通常情况下,主机将自己分配一个或多个随机地址,它将用来发起连接,从而保护其隐私(例如,不向互联网上的所有主机公开其MAC,并且不保持一致的networking地址)。 它也会保持一致,以便其他主机发起连接。 主机发现了一个前缀,然后将查询DHCPv6找出像他们的DNS服务器的东西。

这将是额外的地址来自(您使用禁用路由器发现证实这一点)。 为了在[1024::]/64范围内分配一个地址,networking上的某个路由器(运行路由器通告守护进程)必须广播该子网。 networking捕获可以告诉你哪个。 数据包将显示为ICMPv6 NDP路由器通告。

额外的地址在我看来像隐私地址,这真的应该在任何types的商业环境中被禁用。 尝试禁用IPv6隐私地址:

 netsh interface ipv6 set privacy state=disabled store=active netsh interface ipv6 set privacy state=disabled store=persistent netsh interface ipv6 set global randomizeidentifiers=disabled store=active netsh interface ipv6 set global randomizeidentifiers=disabled store=persistent 

此configuration更改需要重新启动。

不幸的是,我没有发现组策略对象,这个对于微软来说是一个严重的疏忽。

1000 :: / 4未分配。 我会想象它是通过ND发现那个地址。 启动wireshark,设置icmp6的捕获filter,看看本地主机是否正在传输前缀广告。