笨猫博客

  • 🍟首页
  • 🍘目录
    • 🥝VPS教程
    • 🍾猫玩技术
    • 🍹干货分享
    • 🍏软件分享
    • 🍩一只猫
  • 🍋工具
    • 🌽IP路由追踪
    • 🍐域名Whois查询
    • 🥘域名被墙查询
    • 🍧IP正常检测
    • 🔥IP端口检测
    • 🍆短网址
    • 🐟VIP音乐播放
    • 🍯KMS激活
  • 🍓链接
  • 🍪联系
  • 🍱登录
    • 🥦登录
    • 🍒注册
关注互联网,生活,音乐,乐此不疲的一只笨猫
  1. 首页
  2. 一只猫
  3. 正文

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

2024-05-09 1960点热度 1人点赞 0条评论

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

ipw.cn 是IPv4/IPv6 双栈站点,使用 ping 命令默认会访问到 IPv6站点,如果特别指定 IPv4(ping -4)才会解析到 IPv4 站点。

Microsoft Windows [版本 10.0.19044.1766]
(c) Microsoft Corporation。保留所有权利。

C:\Windows\system32>ping ipw.cn

正在 Ping ipw.cn [2402:4e00:40:40::2:3b6] 具有 32 字节的数据:
来自 2402:4e00:40:40::2:3b6 的回复: 时间=13ms
来自 2402:4e00:40:40::2:3b6 的回复: 时间=18ms
来自 2402:4e00:40:40::2:3b6 的回复: 时间=10ms
来自 2402:4e00:40:40::2:3b6 的回复: 时间=16ms

2402:4e00:40:40::2:3b6 的 Ping 统计信息:
    数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失),
往返行程的估计时间(以毫秒为单位):
    最短 = 10ms,最长 = 18ms,平均 = 14ms

C:\Windows\system32>ping -4 ipw.cn

正在 Ping ipw.cn [106.55.75.123] 具有 32 字节的数据:
来自 106.55.75.123 的回复: 字节=32 时间=8ms TTL=52
来自 106.55.75.123 的回复: 字节=32 时间=7ms TTL=52
来自 106.55.75.123 的回复: 字节=32 时间=9ms TTL=52
来自 106.55.75.123 的回复: 字节=32 时间=7ms TTL=52

106.55.75.123 的 Ping 统计信息:
    数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失),
往返行程的估计时间(以毫秒为单位):
    最短 = 7ms,最长 = 9ms,平均 = 7ms

#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,具体详见 RFC3056: Connection of IPv6 Domains via IPv4 Clouds新窗口打开
  • 2001::/32: TEREDO,具体详见 RFC4380: Teredo: Tunneling IPv6 over UDP through Network Address Translations (NATs)新窗口打开
  • fc00::/7: Unique-Local,具体详见 RFC4193: Unique Local IPv6 Unicast Addresses新窗口打开
  • ...

#3. 调整网络前缀优先级,让 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 、curl 命令验证,确实默认 IPv4 访问优先。

如果是浏览器验证可以开启 Edge 或 Chrome 的审查模式,查看网络资源的链接地址。

C:\Windows\system32>ping ipw.cn

正在 Ping ipw.cn [106.55.75.123] 具有 32 字节的数据:
来自 106.55.75.123 的回复: 字节=32 时间=14ms TTL=52
来自 106.55.75.123 的回复: 字节=32 时间=29ms TTL=52
来自 106.55.75.123 的回复: 字节=32 时间=14ms TTL=52
来自 106.55.75.123 的回复: 字节=32 时间=14ms TTL=52

106.55.75.123 的 Ping 统计信息:
    数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失),
往返行程的估计时间(以毫秒为单位):
    最短 = 14ms,最长 = 29ms,平均 = 17ms

C:\Windows\system32>curl -v  https://ipw.cn -I
*   Trying 106.55.75.123:443...
* Connected to ipw.cn (106.55.75.123) port 443 (#0)
* schannel: disabled automatic use of client certificate
* schannel: ALPN, offering http/1.1
* schannel: ALPN, server accepted to use http/1.1
> HEAD / HTTP/1.1
> Host: ipw.cn
> User-Agent: curl/7.79.1
> Accept: */*

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

Microsoft Windows [版本 10.0.19044.1766]
(c) Microsoft Corporation。保留所有权利。

C:\Windows\system32>ping ipw.cn

正在 Ping ipw.cn [2402:4e00:40:40::2:3b6] 具有 32 字节的数据:
来自 2402:4e00:40:40::2:3b6 的回复: 时间=10ms
来自 2402:4e00:40:40::2:3b6 的回复: 时间=14ms
来自 2402:4e00:40:40::2:3b6 的回复: 时间=9ms

2402:4e00:40:40::2:3b6 的 Ping 统计信息:
    数据包: 已发送 = 3,已接收 = 3,丢失 = 0 (0% 丢失),
往返行程的估计时间(以毫秒为单位):
    最短 = 9ms,最长 = 14ms,平均 = 11ms

查看网络前缀访问优先级,发现只剩下 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 ipw.cn

正在 Ping ipw.cn [106.55.75.123] 具有 32 字节的数据:
来自 106.55.75.123 的回复: 字节=32 时间=14ms TTL=52
来自 106.55.75.123 的回复: 字节=32 时间=44ms TTL=52
来自 106.55.75.123 的回复: 字节=32 时间=14ms TTL=52
来自 106.55.75.123 的回复: 字节=32 时间=14ms TTL=52

106.55.75.123 的 Ping 统计信息:
    数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失),
往返行程的估计时间(以毫秒为单位):
    最短 = 14ms,最长 = 44ms,平均 = 21ms

#附录

#如何重新设置 IPv6访问优先

两种方式,直接重置

#重置 IPv6 策略

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

正在重置 ,完成!
正在重置 ,完成!
正在重置 ,完成!
正在重置 ,完成!
正在重置 ,完成!
正在重置 ,完成!
正在重置 ,完成!
重新启动计算机来完成此操作。

C:\Windows\system32>shutdown -r -t 0

电脑重启后,ping ipw.cn 会解析 IPv6 地址,重置成功。

#调整网络前缀优先级

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

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 ipw.cn

正在 Ping ipw.cn [2402:4e00:40:40::2:3b6] 具有 32 字节的数据:
来自 2402:4e00:40:40::2:3b6 的回复: 时间=10ms
来自 2402:4e00:40:40::2:3b6 的回复: 时间=11ms
来自 2402:4e00:40:40::2:3b6 的回复: 时间=18ms
来自 2402:4e00:40:40::2:3b6 的回复: 时间=10ms

2402:4e00:40:40::2:3b6 的 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 状态。
标签: 暂无
最后更新:2024-05-09

笨猫

这个人很懒,什么都没留下

点赞
< 上一篇
下一篇 >

文章评论

razz evil exclaim smile redface biggrin eek confused idea lol mad twisted rolleyes wink cool arrow neutral cry mrgreen drooling persevering
取消回复

最新 热点 随机
最新 热点 随机
WinRAR 商业版下载安装和白嫖指南 Certbot申请谷歌免费SSL证书 宝塔面板卸载全解析:命令与脚本两种方式详解 SSL证书密钥类型选择RSA还是ECC算法?对网站的影响及建议 万能 一键dd windows 脚本, 含 win10/win11/server2025官方最精简版,一键激活+VC运行库 煎饼大佬的一键DD/重装脚本
煎饼大佬的一键DD/重装脚本DD一个轻量的Alpine+Linux+发行版+更轻+更快+更安全LibreTV - 免费在线视频搜索与观看平台万能 一键dd windows 脚本, 含 win10/win11/server2025官方最精简版,一键激活+VC运行库SSL证书密钥类型选择RSA还是ECC算法?对网站的影响及建议宝塔面板卸载全解析:命令与脚本两种方式详解
Docker部署Uptime-Kuma Gear浏览器-真正能支持油猴脚本的 iOS 浏览器 Chrome修复被2345劫持篡改的主页 一款漂亮简介的PHP导航程序 卡巴斯基反病毒软件KAV7.0免费送一年 卸载腾讯云VPS服务器自带监控插件
最近评论
龙笑天 发布于 3 周前(05月25日) 一直用的萌咖的路过 :smile:
C 发布于 1 个月前(05月04日) 有个更省心的路子,上传到 catbox.moe,然后用 i0.wp.com 做加速(也支持heif格...
薯条 发布于 3 个月前(03月21日) 这个博客18年了吗,好久了哎
Q 发布于 3 个月前(03月19日) 您好: 我的一个WORDPRESS站点,安装了 wp telegram插件,我在配置了Bot ...
喂 发布于 3 个月前(03月08日) 热帖ggww
标签
elliptictrue100.10.02
BLOG ChatGPT Chrome CloudFlare DirectAdmin github Godaddy google kloxo Linux OneDrive OneIndex PHP QQ shadowsocks SNS ssh Typecho VPS web2.0 whmcs Windows wordpress 一键脚本 下载 免费 博客 图文教程 图标 图片 域名 头像 奥运 宝塔面板 插件 教程 日记 有趣 浏览器 游戏 猫 生活 电影 百度 网站 视频 设计 软件 阿里云盘 音乐
好友
  • glzjin's blog glzjin's blog
  • ZAERA博客
  • 冰沫记
  • 奇它博客
  • 猫腻‘s Blog
  • 猫饭
  • 肥宅之家
  • 萌博
  • 野路子程序员

COPYRIGHT © 2022 笨猫博客. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang