https://www.txthinking.com/talks/
Updated at: 2023-05-14
cloud@txthinking.com
Google 数据 IPv6 流量已经接近 40%。
Brook 对 IPv6 的态度是积极的。比如当客户端填写的服务器地址是域名又没有指定 address 时,会先尝试解析使用 IPv6 地址;也会尽量尝试设置双栈环境;IPv6 系统 DNS 等
如果你本地和服务端均支持 IPv6,那么不会遇到问题。
操作系统也是 IPv6 优先。不同应用也有自己的 fallback 机制,比如 Chrome 就会认为是双栈环境失败后不会回退,而相同网络环境下,Safari 就会回退成功。
代理隧道无论是通过 IPv4 还是 IPv6 建立,都可以传输代理 IPv4 和 IPv6 的目的地。参考上图。
但是如果 IPv6 IP 被规则绕过了,也就是本地直连了,便会失败,因为本地不支持 IPv6 也就无法连接 IPv6 IP
解决方法就是避免解析出 IPv6 IP,也就是阻断 AAAA
Brook 客户端系统 DNS 配置自动阻断 AAAA 的 DNS,比如用 brook 自建
brook dnsserver -l :53 --disableAAAA
Brook 客户端绕过 DNS 配置自动阻断 AAAA 的 DNS,比如用 brook 自建
brook dnsserver -l :53 --disableAAAA
Brook 客户端绕过 DNS 配置自动阻断 AAAA 的 DOH,比如用 brook 自建
brook dohserver ... --disableAAAA
也可以用脚本阻断 AAAA 解析
f := func() {
if in_dnsquery {
if in_dnsquery.type == "AAAA" {
return {"block": true}
}
return
}
}
out := f()
这里有例子