pagxir
2023-11-09 20:27:18 +08:00
如果是开发者,基本可以直接 Ipv6 ,不用管 ipv4 的接口。至于#5 优先,其实/etc/gai.conf 因为中默认::ffff:0:0/96 (v4 mapping ipv6 address)定义的 preference 偏低的缘故,所有使用 getaddrinfo 会将::ffff:0:0/96 地址段排序放到到最后缘故。
所以你将/etc/gai.conf 修改成如下:
precedence 2001:400::/23 200
precedence 2001:7fc::/30 200
precedence 2001:800::/22 200
precedence 2001:c80::/26 200
precedence 2001:dc0::/30 200
precedence 2001:df2:a000::/38 200
precedence 2001:4000::/22 200
precedence 2001:4800::/21 200
precedence 2402:5300::/26 200
precedence 2404:2200::/23 200
precedence 2404:6800::/23 200
precedence 2404:a100::/25 200
precedence 2405:4800::/25 200
precedence 2406:2600::/26 200
precedence 2406:da00::/24 200
precedence 240d:c000::/18 200
precedence 2600::/7 200
precedence 2800::/5 200
precedence ::ffff:0:0/96 100
就可以基本(不完全)达到海外 ipv6 优先,然后是 IPv4, 最后是国内 ipv6 这样子。
至于访问 IPv4 网站,则可以通过 nat64/dns64 实现。也可以用 dslite (就是 ipv4 over ipv6)链接 v4 网络。至于那些只支持 v4 接口的应用,则需要 xlat (clat/plat)