378 字
2 分钟
Windows11 配置基于 EUI-64 的 SLAAC IPv6 地址
Windows 系统的 IPv6 默认使用随机生成的 IPv6 地址,并添加一个或多个临时地址,存在临时地址的时候访问网络优先使用临时地址,当遇到服务端需要设置 IP 白名单并且用户 IPv6 前缀无法保持不变的时候就不能使用这种临时地址与随机地址了,这时候要把系统的 IPv6 配置为基于 EUI-64 生成的固定后缀地址来方便服务端配置防火墙。
首先使用管理员权限打开 PowerShell,输入 Get-NetIPv6Protocol 回车后可以看到当前的 IPv6 设置。
PS C:\Users\Devnak> Get-NetIPv6Protocol
DefaultHopLimit : 128NeighborCacheLimit(Entries) : 256RouteCacheLimit(Entries) : 4096ReassemblyLimit(Bytes) : 398920608IcmpRedirects : EnabledSourceRoutingBehavior : DontForwardDhcpMediaSense : EnabledMediaSenseEventLog : DisabledMldLevel : AllMldVersion : Version2MulticastForwarding : DisabledGroupForwardedFragments : DisabledRandomizeIdentifiers : EnabledAddressMaskReply : DisabledUseTemporaryAddresses : EnabledMaxTemporaryDadAttempts : 3MaxTemporaryValidLifetime : 7.00:00:00MaxTemporaryPreferredLifetime : 1.00:00:00TemporaryRegenerateTime : 00:00:05MaxTemporaryDesyncTime : 00:10:00DeadGatewayDetection : Enabled可以看到 RandomizeIdentifiers 与 UseTemporaryAddresses 默认为启用状态,也就是生成随机地址与使用临时地址,需要禁用掉这两个选项才能使用基于 EUI-64 的 IPv6 地址。
使用 Set-NetIPv6Protocol 禁用这两个选项:
Set-NetIPv6Protocol -RandomizeIdentifiers Disabled -UseTemporaryAddresses Disabled禁用后再使用 Get-NetIPv6Protocol 可以看到这两个选项已被禁用。
PS C:\Users\Devnak> Get-NetIPv6Protocol
DefaultHopLimit : 128NeighborCacheLimit(Entries) : 256RouteCacheLimit(Entries) : 4096ReassemblyLimit(Bytes) : 398920608IcmpRedirects : EnabledSourceRoutingBehavior : DontForwardDhcpMediaSense : EnabledMediaSenseEventLog : DisabledMldLevel : AllMldVersion : Version2MulticastForwarding : DisabledGroupForwardedFragments : DisabledRandomizeIdentifiers : DisabledAddressMaskReply : DisabledUseTemporaryAddresses : DisabledMaxTemporaryDadAttempts : 3MaxTemporaryValidLifetime : 7.00:00:00MaxTemporaryPreferredLifetime : 1.00:00:00TemporaryRegenerateTime : 00:00:05MaxTemporaryDesyncTime : 00:10:00DeadGatewayDetection : Enabled Windows11 配置基于 EUI-64 的 SLAAC IPv6 地址
https://blog.devnak.win/posts/use_eui64_generate_slaac_ipv6_address_on_windows/