修改前缀优先级即可解决
参考以下内容
https://kb.firedaemon.com/support/solutions/articles/4000160803-prioritising-ipv4-over-ipv6-on-windows-10
https://zorz.cc/post/use-ipv4-first.html
查询前缀配置: netsh interface ipv6 show prefixpolicies
C:\Users\Administrator>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
第一个是ipv6本地环回
第二个是ipv6默认网关前缀
第五个::ffff:0:0/96才是所有ipv4的兼容地址
需要把::ffff:0:0/96这个地址放到第二位
C:\Users\Administrator>netsh interface ipv6 set prefixpolicy ::ffff:0:0/96 45 4 persistent
确定。
设置完成之后, 优先级以发生变化
C:\Users\Administrator>netsh interface ipv6 show prefixpolicies
查询活动状态...
优先顺序 标签 前缀
---------- ----- --------------------------------
50 0 ::1/128
45 4 ::ffff:0:0/96
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 ipv6地址, 会优先使用ipv4形式, 只有加-6才能访问
浏览器访问也会优先使用ipv4, 但纯ipv6的地址也能访问, 只不过响应时间较长
如果需要还原配置可以使用以下命令
netsh interface ipv6 set prefixpolicy ::ffff:0:0/96 35 4 persistent

