1. 当前位置: 网站首页 >  路由器百科 >  加密DNS是什么意思?改了DNS还是被抢答,抓个包才看清UDP 53是张明信片

加密DNS是什么意思?改了DNS还是被抢答,抓个包才看清UDP 53是张明信片

加密DNS原理图:明文DNS走UDP53像明信片半路可被抢答,DoH和DoT把问路条装进信封,浏览器安全DNS、安卓私人DNS、路由器三个开关各管一层

上回写光猫改DNS那篇,结尾我甩了一句「抢答这事儿治本只有加密DNS」就没展开。后来陆续有人问:加密DNS是啥?我DNS都改成223.5.5.5了,怎么打开某些网站还是往奇怪的地方跳?这回我把包抓了、开关也挨个试了一遍,一次说清。

先看这张明信片长什么样

先说结论:你每次敲网址,浏览器替你发的那张「问路条」,走的是UDP 53端口,不加密。

我拿python对着223.5.5.5发了个查询,把返回的原始字节打出来看。12字节头之后,紧跟的就是你问的网址——按点拆成一段一段,长度加内容,明晃晃躺在包里。我查的www.shunot.com,三个词在字节流里肉眼就能读出来,连解码都不用。你问的什么、它答的什么,这条路上每一台设备都看得一清二楚。

这事一直没人当回事,是因为大家默认「看就看吧,一个IP地址而已」。但看得到就能改。而且这条明文路不短:家里光猫、楼道设备、运营商城域网一路过去,每一跳都过得了目。网页早就装进HTTPS的信封了,可你问路这张条子一直是张明信片,裸着走。

加密DNS干的事就一件:把明信片装进信封。装完之后从外面抓包,只能看到一个443端口的连接,跟你刷网页的流量长得一模一样,问的什么答的什么,外面看不见,也插不进手。

抢答是怎么发生的

DNS这个协议设计得特别客气:你喊一嗓子,谁先答算谁的。正常情况是你问的那台DNS先答,但明文这条路上,半路任何一台设备都能抢在真答案前面塞一个假的回来。你浏览器分不清真假,先到先得,就这么被带沟里去了。

想验证自家有没有被抢答,不用装任何工具,114留了个专门的检测域名:

nslookup whether.114dns.com 223.5.5.5

正常返回的是114官方那组IP;要是返回127.0.0.1或者别的怪地址,恭喜,你家这条路上有人抢答。上回表姐家改完DNS消停了俩月又弹广告,就是这个原因——她换的DNS没错,错的是明文这条路还在,抢答的人换着法儿往里塞。

顺带说一句,抢答的不一定是运营商。公司网、酒店WiFi、来路不明的公共网,一样敢干这事。这跟路由器被黑改DNS是两码事:被改DNS是家里路由器被人动了手脚,抢答是路上被人截胡,一个查家里、一个查路上。

DoH和DoT,两个加密邮差

装信封有两种装法,你迟早会撞见这俩缩写,先认个脸。

一种叫DoH,把DNS查询塞进HTTPS里走443端口,跟网页流量混在一起。好处是隐蔽,想单独掐掉它都难——掐了443等于掐了整个网页浏览。另一种叫DoT,自己开了个853端口专职干加密DNS,泾渭分明,好管理也好封。这就是为什么公司网管封私人DNS一封一个准:853那个独立端口太显眼了,防火墙一条规则就带走;而DoH混在人堆里,想掐就得连网页一起陪葬。

我对着223.5.5.5的853端口敲了个握手,把证书拉出来看:CN是*.alidns.com,签发方是阿里巴巴,校验通过。这就是加密的另一个好处——你连的是谁,证书说了算。明文模式下抢答者能冒充任何DNS回话,加密模式下它递不出一张过得去验证的证书,冒充不了。

家用场景不用背术语,记住一句话就行:安卓那个「私人DNS」走的是DoT,浏览器那个「安全DNS」走的多半是DoH,信封不一样,装的都是你那张问路条。

三个开关各管一层,别指望一个包圆

这是最容易被教程绕晕的地方:三个开关管的三层范围完全不同,开错层等于没开。

开关在哪管谁短板
浏览器安全DNSChrome 设置→隐私和安全→安全→使用安全DNS只管浏览器自己微信、各种App全不管
安卓私人DNS设置→网络和互联网→私人DNS整机生效填错上不了网,iOS没这入口
路由器侧加密DNS家用固件基本没有,OpenWrt装插件全家含IoT设备门槛高,普通固件没戏

浏览器这层最容易上手。Chrome那个自定义框里填 https://dns.alidns.com/dns-query,注意只认域名形式,填223.5.5.5这种纯IP它不认。Firefox要在设置里手动开,咱们这边的网络环境它默认不给你推。有个坑:这个框填错了它不报错,默默退回明文,你以为开了其实没开。

安卓9.0以后有「私人DNS」,路径在上面表格里,主机名填 dns.alidns.com 或腾讯的 dot.pub,别手滑加https前缀,那是DoT主机名不是网址。iOS压根没有这个设置入口,想系统级加密得装描述文件,那操作已经超出普通人该折腾的范围,我的建议是苹果用户用浏览器层就到头了。

路由器层最尴尬。小米水星这些家用后台翻遍了没有这功能,路由器改DNS改的还是明文那套。想让全家包括摄像头扫地机一起加密,得刷OpenWrt装插件,这门槛我在选公共DNS那篇就说过,不值当为这个去刷机。还有个现实是:就算路由器这层加密了,IoT设备自己内置写死的DNS你也拦不住,这层开不开,治的是「大头」,治不了「全部」。

代价这笔账也得摆桌上

加密不是白来的,我实测了两笔账。

第一笔是延迟。同一台机器上,明文UDP查询到两家公共DNS花13到52毫秒,DoH每次新建连接要62到77毫秒——多出来的全是TLS握手。好在浏览器和系统都会复用连接:第一次问路时把信封的封口建好,后面接着用同一个信封,不是每个域名都重新封一遍。所以真实体验里只有头一下慢个几十毫秒,日常刷网页感知不出差别。真在意的话,把加密DNS尽量选近的(境内阿里腾讯),握手那一段路本身就短。

第二笔是调度。用境内阿里腾讯的加密DNS,没什么影响——它看得到你的真实出口,该给你的就近节点照给。但要是用海外那几个1.1.1.1、8.8.8.8的加密DNS,视频网站可能给你调个远端节点,看片就转圈了,这个坑在讲CDN那篇里展开过。所以境内环境老实用阿里的,别迷信海外地址。

还有一个翻车点提前说:有些公司网、校园网会把853和自定义DoH一起封掉。安卓私人DNS填完发现整个手机上不了网,别慌,删掉就恢复,这不是手机坏了是网管不让。

什么人该开,什么人别折腾

说句实在的:这不是个「人人该开」的开关。

你的情况要不要开
nslookup查出来被抢答、老跳广告开,这是治本的那个药
啥症状没有别为开而开,明文用着也没事
手机常年挂着代理不用,代理已经接管了解析
家里智能家居一大堆路由器层够不着就认了,IoT那点流量管不动

还有个容易栽的预期得先按住:加密DNS治的是「路上被做手脚」,治不了网站自己弹的广告,也治不了你装的某些App里自带的推广。开了之后广告一个没少,先想想广告到底从哪来的,别把药吃错了病。

顺序上给个收尾:先用whether.114dns.com那行命令查一遍,没被抢答就散了;查出来了,先开浏览器层试几天,广告还跳再上手机私人DNS;全家加密那种事,留给愿意折腾OpenWrt的人。对了,改完DNS不生效不全是抢答的锅,还有一半是缓存没过期,先分清病根再动手。

展开全文


版权说明 手机扫码阅读
版权所有:《数巢笔记》 => 《加密DNS是什么意思?改了DNS还是被抢答,抓个包才看清UDP 53是张明信片》
本文地址:https://www.shunot.com/lybk/1159.html
除非注明,文章均为 《SHUNOT》 原创,欢迎转载!转载请注明本文地址,谢谢。

发表评论

联系我们

在线咨询:点击这里给我发消息

微信号:master_135

工作日:9:00-23:00,节假日休息

扫码关注