我的背景是:我家网络有公网的 IPv4 地址,想要实现内网 NAS 的外网访问。光猫是拨号+主路由,网络的拓扑是
外网->光猫->POE 交换机->AP
我做了如下配置:
然后发现,外网通过域名,可以正常访问到 NAS ,但是内网通过域名访问不到。后面了解到该问题是 NAT 回流问题,由于我的主路由是光猫,运行稳定,速度也可以满速,所以不想要改桥接再接一个其他路由,而且光猫不支持配置 NAT 回流。
于是我想到了一个办法,解决这个问题,内网的 DNS 解析到内网地址,外网正常公网地址。所以做了以下改造:
用了这个方案之后,发现 PC 、苹果,vivo ,iqoo 手机都可以正常使用了,内网外网可以按照预期解析,在外网就是公网 IP ,在内网就是内网 IP 。
但是有两个华为的手机 mate40pro 和 mate60pro ,却始终无法成功解析到内网。特征如下
华为手机是有什么邪门的操作在里面吗,会无视 DHCP 服务器下发的 DNS 服务器地址?
![]() |
1
churchmice 19 天前 via Android
你可以试一下 dhcp 一个假的 dns ,如果菊花手机还能正常解析 dns,那就实锤了你的猜测
|
![]() |
2
churchmice 19 天前 via Android
https://blog.eswlnk.com/11152.html
之前论坛也有帖子说过有些系统会硬编码 114 的 dns |
![]() |
3
MADBOB 19 天前 via iPhone
这种事怎么说呢,内置 dns 有好有坏。好的是现实中大部分人都是不懂的普通人,人家只是上个网刷些视频,不同地区光猫 wifi 和运营商 dns 设置有问题或者设置错了就会导致上不了网或者没法解析到正确的服务器,人家就以为是你手机不好,后面就不买了你手机了,对普通人内置 dns 确实解决一些网络问题。坏处就是搞内外网折腾解析就麻烦了
|
![]() |
4
Admstor 19 天前 ![]() |
5
strobber16 19 天前 via Android
增智慧
|
![]() |
6
tux 19 天前
大概就是了,再抓,看它真实 DNS 请求目标,在路由上劫持转发一下
|
7
kingzeus 19 天前
多半没走 DHCP 服务器下发的 DNS 服务器,用了自己的 dns 解析或者 httpdns 这类的方案
这算是常见的网络优化方案,大公司的 app 或多或少的都在用 |
8
datocp 19 天前 ![]() 当年 qq 和 360 打架,
平时网关习惯用 dnsmasq address=/360.cn/127.0.0.1 结果那个 qq 浏览器竟然在网关后正常访问 360 ,从那之后就弃用 qq 浏览器。 至于华为的手机 HONOR_30S 等等等,经常在华为的交换机报 SPECIFY_SIP_ATTACK/USER_ATTACK,arp 发包超限会导致端口自抑。至今无法解决。 |
9
datocp 19 天前
至少还要
-A prerouting_rule -s 192.168.0.0/16 -p udp -m udp --dport 53 -j DNAT --to-destination 192.168.99.253 |
11
wolonggl 19 天前
这个在公司路由器一抓包就可以重现了。现在蛮多 APP 都内置 DNS ,
|
12
MelodYi 19 天前
我也遇到过类似的问题。
家里的网络之前对墙内的外网也连不通,包括小孩的网课等,后来发现是 dns 的问题。给路由器设置了阿里的 dns 和谷歌的 dns 后,电脑平板等都解决了,但是唯独华为手机还是解析不到。感觉是有些特殊处理的 这里奇怪的一点,华为手机走 wifi 的时候解析不到,但是走移动网络就能解析到了。 |
![]() |
13
docx 19 天前 via iPhone
暂时没证据,但如果确实有“善意的”接管也是毫不意外的
|
![]() |
14
avrillavigne 19 天前
来自 V2EX 的帖子:Moto Edge 国行系统强行追加 114 DNS 的探究
https://www.v2ex.com/t/1154563 来自 V2EX 的帖子:oppo 一加现在也内置 114dns 了 https://www.v2ex.com/t/1109140 |
![]() |
15
YaakovZiv 19 天前
我是在所有设备都配置了四个 8 作为 DNS ,然后网上搜网页做 DNS 泄露检测
|
16
huaweii 19 天前 via Android ![]() |
![]() |
18
frankilla 18 天前
@avrillavigne #14 怎么都指向 114 啊?是 114 很强吗?
|
19
jackOff 18 天前
额,安卓底层就自带默认 dns ( udp dns ),可以使用 adb 指令查看,华为或者小米自己做得二层系统也携带了自己本土化的 dns ,早些是 udp dns ,现在新版手机可能直接是加密 dns 了,考虑到可能的网络解析问题,这类被内置的加密 dns 的域名解析策略应该是有尝试使用写死的 ip ,即存在 host 模式的内置加密 dns ,这种就很难搞了,还有一种情况就是隐藏了 dns 查询接口到品牌机自身的系统级 api 里,比如广告,日志,商店,云盘,还是那一句话,如果哪一天支付宝微信的业务接口兼代 dns 查询业务,没有人有办法屏蔽掉,最好的办法就是国内业务全部丢国内手机,海外业务丢海外手机
|
20
jackOff 18 天前
这方面的应对措施做海外电商的公司就非常清楚
|
![]() |
25
x86 18 天前
|
![]() |
26
bigshawn 18 天前
好奇去看了下备用机一加 ace ,三个 dns 分别是 180.76.76.76 ,223.5.5.5 ,fddd::1 ,默认的 dns 服务器应该是 192.168.2.1 和 fddd::1 ,看来是直接覆盖掉分配的 IPv4-DNS ,IPv6-DNS 没动。
|
![]() |
28
by 18 天前 via Android
爵士专属保护
|
![]() |
29
piku 18 天前 via Android
华为 p40pro ,概率会不使用 DHCP 的 dns 而使用 180.76.76.76,223.5.5.5 ,关 wifi 重开可以解决。尝试了很久未解决,也没找到原因。一加 10 无论如何都会在 DHCP 的 dns 后附加一个 114.114.114.114 。
很烦,网上也没有找到相关信息。这是我看到第一个关于华为 dns 的讨论 |
![]() |
30
piku 18 天前 via Android
@bigshawn 我怀疑这个 180.76.76.76 和 223.5.5.5 是某个 app 修改的。因为我的华为会改成这两个 dns ,但一加只会附加 114 (从未变成 180.76.76.76 和 223.5.5.5
|
![]() |
31
bigshawn 18 天前
@piku 我也是刚开始查的时候是 180.76.76.76 和 223.5.5.5 ,之后就无法复现了,只会添加 114 。
直接在路由器劫持 dns 丢到 adguardhome 去了。 |
32
dsx826 18 天前 via Android
ios 26 也有内置 dns ,早晚都会的
|
34
ranaanna 18 天前
@dsx826 #32 "ios 26 也有内置 dns ,早晚都会的" ---消息来源?并没有呀,只是从 ios 14 开始支持 DoH ,而且也不是内置只是可以手动输入的吧
|
![]() |
35
piku 18 天前 via Android
楼主用 analiti 可以看到当前实际 dns 。celluarz 不准
|
36
qwvy2g 18 天前 via Android
本地设置一个简单 doh 的,用 DNS 泄漏检测网站看一下有没有设定外的 DNS 服务商。
|
![]() |
37
kokutou 18 天前 via Android
华为荣耀都这样,我们内部开发测试 app ,连内网 WiFi ,必须把流量关了,否则解析不了内网 dns 上添加的私有域名😄
|
38
dsx826 18 天前 via Android
@ranaanna 某次运营商 dns 故障时,Windows 电脑无法上网,但 Apple 设备,mac iphone ipad 依旧可以,测试后发现使用的 cloudflare ,大陆网络环境,icloud relay 关闭状态。
|
39
Danswerme 18 天前
现在内置的 dns 可以通过在路由器上劫持 udp 53 端口来解决,如果未来使用了 DoH or DoT 这种技术,应该怎么解决呢?手机上安装证书之后在路由器上做中间人吗?
|
40
TonyBoney 18 天前 via Android
Color OS 也这样,内置了 114DNS ,我自己是在路由器 DNAT 所有目的 53 端口的请求到自己内网的 DNS ,如果你不想动光猫也可以在光猫的防火墙设置屏蔽常见 DNS 的 IP 地址,dnsmasq 用运营商下发的 DNS
|
41
TonyBoney 18 天前 via Android
@Danswerme 当然是在路由器安装 OpenGFW ,发现常见 DoH 的 SNI 就发 RST ,这样就会回退到明文模式了,走墙的路,让墙无路可走😆
|
43
TonyBoney 18 天前 via Android ![]() @Danswerme 不用担心,哪有那么快普及,各省都在建反诈,世界范围内都有国家摩拳擦掌要监控流量并限制不听话的网站,例如英国的成人墙,使绊子还来不及,好日子还在后头呢。只需要一刀切丢掉所有 ECH 的握手包即可,客户端会回退到明文 SNI 的。
|
![]() |
46
MYDB 15 天前 via iPhone
@TonyBoney 我就是这样的,检测到路由下方设备使用加密 dns ,直接阻断,大部分软件就请求系统 dns 了,除了抖音商城这个怪类(也可能是我没设置好),不过不要紧,有时候刷到带货视频,商品详情页面刷新不出来,还省我流量了
|
![]() |
47
miaomiao888 8 天前
找了台家人不用的荣耀试了下,刚连 wifi 一段时间,可能半小时左右会一直使用路由下发的 DNS ,但之后 DNS 会变成百度 180.76.76.76 和 阿里 223.5.5.5 。
如果路由器 DNS 配置了去广告或防污染那这时候就失效了,这操作真的恶心。 |
![]() |
48
miaomiao888 8 天前
因为它只在一段时间后才使用 百度和阿里并不是强行添加,所以非常好奇是通过哪些手段检测并更换的。
|
49
barnettluo1994 4 天前 via iPhone
他有 httpdns……………你要把华为的 httpdns 全部屏蔽掉。 才能使用内网的 dns
|
![]() |
50
piku 4 小时 51 分钟前 via Android
好烦啊今天又跳了 直接导致 dns 泄漏
|