Openwrt 软路由,电信,双栈公网,每天重新拨号,slaac 分配 v6 地址,没有通告 IPv6 DNS 服务器,启用 过滤 IPv6 AAAA 记录。局域网内设备均可获取内外 ipv4 和公网 ipv6 地址(含临时地址)。 PC 上通过 nslookup 查询,证实无法获取域名的 ipv6 地址。但可以 v6 直连,ipw.cn 远程 ping 也正常。 安卓手机上安装 Termux ,通过 nslookup 查询,也没有获取到域名的 v6 地址。 但是我发现手机端( iPhone 安卓都有)仍然可以是跑 IPv6 流量的(主要是微信),如下图所示。
https://i.ibb.co/pvKLdM1k/v6.jpg https://i.postimg.cc/fLJXkgXR/v6.jpg
所以,手机端到底是如何解析域名 IPv6 地址然后进行沟通的?难道微信流量是默认走自家的 DoT/DoH 加密解析,绕过本地路由的限制吗?
![]() |
1
kk2syc 1 天前 ![]() 微信底层 mars 是自己造 socket 的,不依赖本地 dns 解析,你要说 doh 也差不多,但不是
你可以参考这个资料:微信官方团队 - v6 socket 编程 https://github.com/WeMobileDev/article/blob/master/IPv6%20socket%E7%BC%96%E7%A8%8B.md |
![]() |
2
yyzh 1 天前
正常 APP 都有上 httpdns 的吧
|
![]() |
3
sujin190 1 天前 via Android
不说微信,头部这些 app ,哪个不是自己在 app 里边单独搞的 dns 解析,不走系统默认的那不正常么
|
![]() |
4
JensenQian 1 天前
暴力点,防火墙直接屏蔽手机 ipv6
加 openwrt 路由器的启动项里面,我这是 firewall 的,iptables 的你让 chatgpt 给你换下 手机 mac 地址换成自己手机的,然后 wifi 里面选项里面的随机 mac 关了 firewall-cmd --permanent --add-rich-rule='rule family="ipv6" source mac="手机 mac 地址" reject' |
5
cslive 1 天前
我直接在 ros 防火墙里将手机的 ipv6 流量拦截了
|
![]() |
6
xinge666 1 天前
你只是禁止解析 v6 ,并没有禁止访问啊,现在很多 App 都是自己实现的 DNS 客户端
|
7
yinmin 1 天前 via iPhone
|
9
xhcnb 1 天前
还有些 app 会内置公共 dns 服务器地址, 根本不请求你的路由器
|
10
moefishtang 1 天前
如果是 Android 手机的话,可以把路由器的 IPv6 地址分配方式改成 DHCPv6 ,这样 Android 机器就会因为不兼容 DHCPv6 而获取不到 v6 地址,同时不影响其他设备通过 IPv6 联网
|
![]() |
12
kk2syc 1 天前 ![]() @fuwu1245 可能只是个名字? https://github.com/Tencent/mars
|
![]() |
13
Zy143L 1 小时 14 分钟前
微信有自家的 doh 解析 fallback 才会用默认 dns
|