当前位置:首页 > 计算机 > 软硬件 > 正文内容

Windows 10/11 设置 IPv4/IPv6 访问优先级

DYX10个月前 (06-27)软硬件3058

 Windows10/11开启 IPv6 后默认 IPv6 访问优先(以访问 IPv4/IPv6 双栈站点为例, 操作系统会优先访问 IPv6),如果期望 IPv4访问优先,可以通过 netsh 命令调整。

以下命令在 Windows10/11 验证通过。

duyuxi.cn 是IPv4/IPv6 双栈站点,使用 ping 命令默认会访问到 IPv6站点。

Microsoft Windows [版本 10.0.19044.1766]
(c) Microsoft Corporation。保留所有权利。
C:\Windows\system32>ping www.duyuxi.cn
正在 Ping ipw.cn [2409:8c02:24c:60:3::3e9] 具有 32 字节的数据:
来自 2409:8c02:24c:60:3::3e9 的回复: 时间=14ms
来自 2409:8c02:24c:60:3::3e9 的回复: 时间=11ms
来自 2409:8c02:24c:60:3::3e9 的回复: 时间=12ms
来自 2409:8c02:24c:60:3::3e9 的回复: 时间=16ms
2409:8c02:24c:60:3::3e9 的 Ping 统计信息:
    数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失),
往返行程的估计时间(以毫秒为单位):
    最短 = 11ms,最长 = 16ms,平均 = 14ms

1. 查看网络前缀访问优先级

我们先看下Windows10/11 中各个访问 IPv4/IPv6的优先级,可以看到 IPv6(::/0)比 IPv4(::ffff:0:0/96) 的优先级高,会被优先访问。

第一列优先循序越大优先级越高,会优先访问。

C:\Windows\system32>netsh interface ipv6 show prefixpolicies
查询活动状态...
优先顺序    标签   前缀
----------  -----  --------------------------------
        50      0  ::1/128   
        40      1  ::/0
        35      4  ::ffff:0:0/96
        30      2  2002::/16
         5      5  2001::/32
         3     13  fc00::/7
         1     11  fec0::/10
         1     12  3ffe::/16
         1      3  ::/96

2. 网络前缀含义

我们依次介绍下这些前缀的含义。

首先 Windows10/11 中默认的访问前缀规则是参照 RFC6724: Default Address Selection for Internet Protocol Version 6 (IPv6)窗口打开 实现的。

在 IANA IPv6 Special-Purpose Address Registry中我们可以找到这些前缀的分配归属。

::1/128:本地回环地址,类似 IPv4 中的 127.0.0.1

::/0: IPv6 单播地址

::ffff:0:0/96: IPv4 地址范围

2002::/16: 6to4

2001::/32: TEREDO

fc00::/7: Unique-Local

 调整网络前缀优先级,让 IPv4 访问优先

从前面我们知道 IPv6(::/0)比 IPv4(::ffff:0:0/96) 的优先级高,我们通过 netsh interface ipv6 命令调整优先级。

Win + R 进入运行对话框,输入 cmd,选择 以管理员身份运行,执行调整命令,可以看到 IPv4(::ffff:0:0/96) 优先级最高。

C:\Windows\system32>netsh interface ipv6 set  prefixpolicy ::ffff:0:0/96 100 4
确定。
C:\Windows\system32>netsh interface ipv6 show prefixpolicies
查询活动状态...
优先顺序    标签   前缀
----------  -----  --------------------------------
       100      4  ::ffff:0:0/96
        50      0  ::1/128
        40      1  ::/0
        30      2  2002::/16
         5      5  2001::/32
         3     13  fc00::/7
         1     11  fec0::/10
         1     12  3ffe::/16
         1      3  ::/96

执行 ping命令验证,确实默认 IPv4 访问优先。


C:\Windows\system32>ping www.duyuxi.cn
正在 Ping www.duyuxi.cn [106.55.75.123] 具有 32 字节的数据:
来自 111.31.66.52 的回复: 字节=32 时间=14ms TTL=52
来自 111.31.66.52 的回复: 字节=32 时间=29ms TTL=52
来自 111.31.66.52 的回复: 字节=32 时间=14ms TTL=52
来自 111.31.66.52 的回复: 字节=32 时间=14ms TTL=52
111.31.66.52的 Ping 统计信息:
    数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失),
往返行程的估计时间(以毫秒为单位):
    最短 = 14ms,最长 = 29ms,平均 = 17ms

重启电脑后,发现还是 IPv6 访问优先。

Microsoft Windows [版本 10.0.19044.1766]
(c) Microsoft Corporation。保留所有权利。
C:\Windows\system32>ping www.duyuxi.cn
正在 Ping ipw.cn [2409:8c02:24c:60:3::3e9] 具有 32 字节的数据:
来自 2409:8c02:24c:60:3::3e9 的回复: 时间=10ms
来自 2409:8c02:24c:60:3::3e9 的回复: 时间=14ms
来自 2409:8c02:24c:60:3::3e9 的回复: 时间=9ms
来自 2409:8c02:24c:60:3::3e9 的回复: 时间=9ms
2402:4e00:40:40::2:3b6 的 Ping 统计信息:
    数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失),
往返行程的估计时间(以毫秒为单位):
    最短 = 9ms,最长 = 14ms,平均 = 10ms

查看网络前缀访问优先级,发现只剩下 IPv4 的,可能是因为这个原因导致没生效,加回 IPv6 的网络前缀,IPv4 访问优先,达到目的。

C:\Windows\system32>netsh interface ipv6 show prefixpolicies
查询活动状态...
优先顺序    标签   前缀
----------  -----  --------------------------------
       100      4  ::ffff:0:0/96
C:\Windows\system32>netsh interface ipv6 add  prefixpolicy ::/0 40 1
确定。
C:\Windows\system32>netsh interface ipv6 show prefixpolicies
查询活动状态...
优先顺序    标签   前缀
----------  -----  --------------------------------
       100      4  ::ffff:0:0/96
        40      1  ::/0
C:\Windows\system32>ping www.duyuxi.cn
正在 Ping www.duyuxi.cn [106.55.75.123] 具有 32 字节的数据:
来自 111.31.66.52 的回复: 字节=32 时间=14ms TTL=52
来自 111.31.66.52 的回复: 字节=32 时间=29ms TTL=52
来自 111.31.66.52 的回复: 字节=32 时间=14ms TTL=52
来自 111.31.66.52 的回复: 字节=32 时间=14ms TTL=52
111.31.66.52 的 Ping 统计信息:
    数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失),
往返行程的估计时间(以毫秒为单位):
    最短 = 14ms,最长 = 44ms,平均 = 21ms

如何重新设置 IPv6访问优先

两种方式,直接重置

重置 IPv6 策略

C:\Windows\system32>netsh interface ipv6 reset
正在重置 分段转发,完成!
正在重置 分段,完成!
正在重置 控制协议,完成!
正在重置 回显顺序请求,完成!
正在重置 全局,完成!
正在重置 接口,完成!
正在重置 任意广播地址,完成!
正在重置 多播地址,完成!
正在重置 单播地址,完成!
正在重置 邻居,完成!
正在重置 路径,完成!
正在重置 潜在,完成!
正在重置 前缀策略,完成!
正在重置 代理邻居,完成!
正在重置 路由,完成!
正在重置 站点前缀,完成!
正在重置 子接口,完成!
正在重置 唤醒模式,完成!
正在重置 解析邻居,完成!
正在重置 ,完成!
正在重置 ,完成!
正在重置 ,完成!
正在重置 ,完成!
正在重置 ,失败。
拒绝访问。
正在重置 ,完成!
正在重置 ,完成!
正在重置 ,完成!
正在重置 ,完成!
正在重置 ,完成!
正在重置 ,完成!
正在重置 ,完成!

重新启动计算机来完成此操作。


调整网络前缀优先级

调整网络前缀优先级,重启之后也是生效的。

C:\Windows\system32>netsh interface ipv6 show prefixpolicies
查询活动状态...
优先顺序    标签   前缀
----------  -----  --------------------------------
       100      4  ::ffff:0:0/96
        40      1  ::/0
C:\Windows\system32>netsh interface ipv6 set  prefixpolicy ::ffff:0:0/96 10 4
确定。
C:\Windows\system32>netsh interface ipv6 show prefixpolicies
查询活动状态...
优先顺序    标签   前缀
----------  -----  --------------------------------
        40      1  ::/0
        10      4  ::ffff:0:0/96
C:\Windows\system32>ping www.duyuxi.cn
正在 Ping ipw.cn [2409:8c02:24c:60:3::3e9] 具有 32 字节的数据:
来自 2409:8c02:24c:60:3::3e9 的回复: 时间=10ms
来自 2409:8c02:24c:60:3::3e9 的回复: 时间=11ms
来自 2409:8c02:24c:60:3::3e9 的回复: 时间=18ms
来自 2409:8c02:24c:60:3::3e9 的回复: 时间=10ms
2409:8c02:24c:60:3::3e9 的 Ping 统计信息:
    数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失),
往返行程的估计时间(以毫秒为单位):
    最短 = 10ms,最长 = 18ms,平均 = 12ms
netsh interface ipv6 相关命令如何使用
直接回车就是帮助信息。
C:\Windows\system32>netsh interface ipv6
下列指令有效:
此上下文中的命令:
6to4           - 更改到 `netsh interface ipv6 6to4' 上下文。
?              - 显示命令列表。
add            - 在一个表格中添加一个配置项。
delete         - 从一个表格中删除一个配置项。
dump           - 显示一个配置脚本。
help           - 显示命令列表。
isatap         - 更改到 `netsh interface ipv6 isatap' 上下文。
reset          - 重置 IP 配置。
set            - 设置配置信息。
show           - 显示信息。
下列的子上下文可用:
 6to4 isatap
若需要命令的更多帮助信息,请键入命令,接着是空格,
后面跟 ?。
C:\Windows\system32>netsh interface ipv6 show
下列指令有效:
此上下文中的命令:
show addresses - 显示当前 IP 地址。
show compartments - 显示分段参数。
show destinationcache - 显示目标缓存项目。
show dnsservers - 显示 DNS 服务器地址。
show dynamicportrange - 显示动态端口范围配置参数。
show excludedportrange - 显示所有排除的端口范围。
show global    - 显示全局配置普通参数。
show interfaces - 显示接口参数。
show ipstats   - 显示 IP 统计。
show joins     - 显示加入的多播组。
show neighbors - 显示邻居缓存项。
show offload   - 显示卸载信息。
show potentialrouters - 显示潜在路由器。
show prefixpolicies - 显示前缀策略项目。
show privacy   - 显示隐私配置参数。
show route     - 显示路由表项目。
show siteprefixes - 显示站点前缀表项。
show subinterfaces - 显示子接口参数。
show tcpstats  - 显示 TCP 统计。
show teredo    - 显示 Teredo 状态。
show tfofallback - 显示各网络 TCP 快速打开回退状态。
show udpstats  - 显示 UDP 统计。
C:\Windows\system32>netsh interface ipv6 add
下列指令有效:
此上下文中的命令:
add address    - 将静态 IP 地址或默认网关添加到指定接口。
add dnsservers - 添加一个静态 DNS 服务器地址。
add excludedportrange - 为连续的端口块添加排除。
add neighbors  - 添加邻居地址。
add potentialrouter - 将路由器添加到接口的潜在路由器列表上。
add prefixpolicy - 添加前缀策略项目。
add route      - 在接口上添加路由。
add v6v4tunnel - 创建一个“IPv4 中的 IPv6”点对点隧道。
C:\Windows\system32>netsh interface ipv6 set
下列指令有效:
此上下文中的命令:
set address    - 设定通向接口的 IP 地址或默认网关。
set compartment - 修改分段配置参数。
set dnsservers - 设置 DNS 服务器模式和地址。
set dynamicportrange - 修更改态端口分配所使用端口的范围。
set global     - 修改全局配置常规参数。
set interface  - 修改 IP 的接口配置参数。
set neighbors  - 设置邻居地址。
set prefixpolicy - 修改前缀策略信息。
set privacy    - 修改隐私配置参数。
set route      - 修改路由参数。
set subinterface - 修改子接口配置参数。
set teredo     - 设定 Teredo 状态。

3a7315bc8768f1648f572936504ff757_f3d3572c11dfa9ecea0af9fbfb5c6105908fc14d_token=b3574d645a3ce8c3e817c910aefe7d44&s=DCAD11729FB16F985C7345D5020090B2.jpeg


“Windows 10/11 设置 IPv4/IPv6 访问优先级” 的相关文章

XMIND是一款非常实用的商业思维导图软件

XMIND是一款非常实用的商业思维导图软件

XMind破解版是一款非常实用的商业思维导图软件,XMind应用先进的Eclipse RCP 软件架构,全力打造易用、高效的可视化思维软件,强调软件的可扩展、跨平台、稳定性和性能。XMIND能够协助用户快速捕捉创意与灵感,通过直观、友好的图形化操作界面,将思想、策略及商务信息转化为行动蓝图,全面提升...

L358打印机故障指示提示

L358打印机故障指示提示

电源灯闪烁,Wi-Fi红灯闪烁提示:Wi-Fi配置失败解决方法:重新启动打印机电源灯常亮,墨水灯闪烁提示:即将补充墨水解决方法:请检查墨水余量:当墨水余量低于(距墨仓底部)20毫米时,请补充墨水(若墨仓中的墨水余量低并继续打印可能会影响打印质量、损坏打印机);当墨水余量高于(距墨仓底部)20毫米时,...

Piwigo 是什么?

Piwigo 是什么?

Piwigo 是一款可以用来管理您的图片集与其他媒体的网站程序。 内置强大功能,全世界都在使用它管理图片库。我能用 Piwigo 做什么?Piwigo 的用户群将它用在了各个方面。 从中型图片集到巨大的图库,Piwigo 都能替您省时省力,轻松搞定工作。...

CDN是什么

CDN是什么

CDN是什么对于数字和文本类型的数据,比方说名字和电话号码相关的信息。我们需要有个地方存起来。我们通常会用mysql数据库去存。文本存在mysql中当我们需要重新将这一数据取出的时候,就需要去读mysql数据库。但因为mysql的数据是存在磁盘上的,单台实例,读性能到差不多5kqps就已经很不错了。...

如何下载安装office 2021 vol vlk

如何下载安装office 2021 vol vlk

Office LTSC 2021 发布2021 年 9 月 16 日,微软正式发布了支持 Office 2021 的部署工具(Office Deployment Tool),这意味着 Office 2021 已经正式发布,当然系统要求仅支持 Windows 10 和 Windows 11,Offic...

Linux (Debian 系) 安装官方微信 (Electron,非 wine 版)

Linux (Debian 系) 安装官方微信 (Electron,非 wine 版)

使用 Linux 作为唯一主力系统的阻力之一,就来自于微信。微信大概是目前大多数人都无法离开的软件,而在 Linux 下安装微信在此前是比较复杂的,这对于使用 Linux 工作生活存在一些障碍。最近才发现微信有推出基于 Electron.js 的一款桌面程序,不需要依赖 Wine 那复杂和冗余的依赖...