Windows设置IPv4访问优先

前言

Windows开启IPv6后默认访问双栈站点时IPv6 访问优先,然而很多情况下IPv6访问网站会导致某些问题(例如延迟过高等)如果想要 IPv4访问优先,就需要通过 netsh 命令调整。

查看网络前缀访问优先级

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

第一列优先循序越大优先级越高

网络前缀含义

C:\Users\FrostFox>netsh interface ipv6 show prefixpolicies
查询活动状态...

优先顺序    标签   前缀
----------  -----  --------------------------------
       100      4  ::/0
        40      1  ::ffff:0:0/96

::/0: IPv6 单播地址

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

调整网络前缀优先级

现在 IPv6(::/0)比 IPv4(::ffff:0:0/96) 的优先级高,我们通过CMD命令调整优先级,让 IPv4 访问优先。

以管理员身份运行CMD,输入

netsh interface ipv6 set prefixpolicy ::ffff:0:0/96 100 4

让IPv4(::ffff:0:0/96) 优先级最高。

之后可通过ping栈站点来检查是否生效。

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

这是因为网络前缀访问优先级中只剩下 IPv4,加回 IPv6 的网络前缀即可达到IPv4 访问优先的目的。

netsh interface ipv6 add  prefixpolicy ::/0 40 1
阅读剩余
THE END