在中国普遍差的宽带下电脑应该如何正确的使用IPv6
目前我在用的系统是Linux,家里是移动宽带,到2024年头几乎到处都有ip6地址。然后有个问题困扰我,就是移动的ip6宽带出国非常慢。
从路由跟踪来看,在国内都正常延迟,到了国外就丢包50%。很大概率就是移动的出国线路带宽拥挤,而且是不论什么时候。ip4就不会,我猜两个路径应该是不同线路并且有不同的容量,ip6可能出国线路设备并没有去升级。
为了解决该问题,我考虑了如下做法:
- ip目标地址是国内的,电脑访问优先用ip6地址
- ip目标不是国内的,则优先用ip4地址
- 无ip4地址的网站,依然还是用ip6访问
通过编辑 /etc/gai.conf 文件,仅添加如下规则
precedence 240e::/20 110
precedence 2409:8000::/20 110
precedence 2408:8000::/20 110
precedence ::ffff:0:0/96 100
前三行是国内三大运营商的ip6 block,只使用这三个block可以几乎覆盖所有国内的公共ip6地址,优先级110。然后第四行ip4的地址优先级逊于110只有100,当然了 gai.conf 有默认隐含规则是
precedence ::/0 40,则代表其他所有ip6的优先级比ip4低。
这样配置之后,所有使用glibc的getaddrinfo的域名请求过程,比如firefox浏览器,都会在访问国内网站的时候如果有ip6地址则优先使用。
Thanks for reading! Read other posts?