华为手机的 DNS 是有什么比较邪门的操作吗

2025 年 8 月 30 日
 bingfengfeifei

我的背景是:我家网络有公网的 IPv4 地址,想要实现内网 NAS 的外网访问。光猫是拨号+主路由,网络的拓扑是

外网->光猫->POE 交换机->AP

我做了如下配置:

然后发现,外网通过域名,可以正常访问到 NAS ,但是内网通过域名访问不到。后面了解到该问题是 NAT 回流问题,由于我的主路由是光猫,运行稳定,速度也可以满速,所以不想要改桥接再接一个其他路由,而且光猫不支持配置 NAT 回流。

于是我想到了一个办法,解决这个问题,内网的 DNS 解析到内网地址,外网正常公网地址。所以做了以下改造:

用了这个方案之后,发现 PC 、苹果,vivo ,iqoo 手机都可以正常使用了,内网外网可以按照预期解析,在外网就是公网 IP ,在内网就是内网 IP 。

但是有两个华为的手机 mate40pro 和 mate60pro ,却始终无法成功解析到内网。特征如下

华为手机是有什么邪门的操作在里面吗,会无视 DHCP 服务器下发的 DNS 服务器地址?

6835 次点击
所在节点    宽带症候群
52 条回复
TonyBoney
2025 年 8 月 31 日
@Danswerme 当然是在路由器安装 OpenGFW ,发现常见 DoH 的 SNI 就发 RST ,这样就会回退到明文模式了,走墙的路,让墙无路可走😆
Danswerme
2025 年 8 月 31 日
@TonyBoney 哇,真好,人人有墙建了。 但是如果未来 ESNI 大规模普及,SNI 的方法不可用的情况下该怎么办呢
TonyBoney
2025 年 8 月 31 日
@Danswerme 不用担心,哪有那么快普及,各省都在建反诈,世界范围内都有国家摩拳擦掌要监控流量并限制不听话的网站,例如英国的成人墙,使绊子还来不及,好日子还在后头呢。只需要一刀切丢掉所有 ECH 的握手包即可,客户端会回退到明文 SNI 的。
Danswerme
2025 年 8 月 31 日
@TonyBoney okokok~ 好起来了
p4d9k
2025 年 8 月 31 日
@Danswerme
为什么会觉得会内置 doh ,运营商不可能部署,阿里/腾讯都限速了。
MYDB
2025 年 9 月 2 日
@TonyBoney 我就是这样的,检测到路由下方设备使用加密 dns ,直接阻断,大部分软件就请求系统 dns 了,除了抖音商城这个怪类(也可能是我没设置好),不过不要紧,有时候刷到带货视频,商品详情页面刷新不出来,还省我流量了
miaomiao888
2025 年 9 月 9 日
找了台家人不用的荣耀试了下,刚连 wifi 一段时间,可能半小时左右会一直使用路由下发的 DNS ,但之后 DNS 会变成百度 180.76.76.76 和 阿里 223.5.5.5 。
如果路由器 DNS 配置了去广告或防污染那这时候就失效了,这操作真的恶心。
miaomiao888
2025 年 9 月 9 日
因为它只在一段时间后才使用 百度和阿里并不是强行添加,所以非常好奇是通过哪些手段检测并更换的。
barnettluo1994
2025 年 9 月 13 日
他有 httpdns……………你要把华为的 httpdns 全部屏蔽掉。 才能使用内网的 dns
piku
2025 年 9 月 18 日
好烦啊今天又跳了 直接导致 dns 泄漏
bingfengfeifei
2025 年 9 月 20 日
我把华为的手机,网关指向软路由,然后劫持 53 端口还是不生效。
然后我抓包发现,这个手机根本就不发 53 端口的 DNS 请求,而是
17:30:03.953340 IP ALN-AL00.lan.48696 > ecs-49-4-19-119.compute.hwclouds-dns.com.443: Flags [.], ack 1, win 256, options [nop,nop,TS val 94486190 ecr 2656682339], length 0
17:30:03.957892 IP ALN-AL00.lan.48696 > ecs-49-4-19-119.compute.hwclouds-dns.com.443: Flags [P.], seq 1:518, ack 1, win 256, options [nop,nop,TS val 94486193 ecr 2656682339], length 517

这种报文
bingfengfeifei
2025 年 9 月 20 日
@bingfengfeifei #51
怒了,本来想着软路由上面把华为的这些 DNS IP 全禁了,结果发现,禁止了十几个还 TM 有新的,无语了。
最后想了一招解决问题:
华为手机的默认路由设置为软路由,然后在软路由上面写 iptables 规则,
1. nslookup 查找域名的公网 IP
2. 编写 SNAT+DNAT 规则将目的地址这个 IP 的流量全都转到内网 NAS 上

终于可以让华为手机也可以使用域名内网访问 NAS 了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://study.congcong.us/t/1155905

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX