IPv6普及了,DNS还用调吗?
最近家里换了支持IPv6的光猫,路由器也升级到了能自动分配IPv6地址的版本。打开电脑一看,IP地址从以前的192.168.x.x变成了长长一串带冒号的地址,邻居还说这叫“原生IPv6”,上网更快更直接。可问题是,网页有时候还是卡,刷视频加载转圈,我就纳闷了:都用上IPv6了,难道还得折腾DNS?
IPv6不代表解析就快
很多人以为上了IPv6,网络路径变短,访问网站自然就快。但其实,IPv6解决的是终端到服务器之间的寻址问题,而DNS负责的是把网址(比如 www.taobao.com)翻译成IP地址的过程。这个“翻译”不管你是用IPv4还是IPv6,都得走一遍。
举个例子,你家楼下新开了一家奶茶店,店名很长,地址写在IPv6格式里。但如果你问路的时候说“那家新奶茶店”,路人还得想半天是哪家——除非有个统一的“名字对照表”。DNS就是这个对照表。就算街道升级成六车道(IPv6),查表慢,照样堵在起点。
运营商默认DNS可能拖后腿
大多数家庭网络用的DNS都是路由器自动从运营商那里获取的。这些DNS服务器虽然稳定,但不一定快,尤其在节假日或晚高峰时,响应延迟明显。我在家试过,ping一下默认DNS,延迟动不动就上百毫秒,换了个公共DNS立马降到30ms以内。
更麻烦的是,有些运营商的DNS对IPv6支持不彻底,即使你的设备支持IPv6,它返回的可能还是IPv4地址,白白浪费了环境优势。这种情况在访问国内CDN资源时特别常见。
试试这些优化方式
与其被动等,不如自己动手。我给家里的路由器刷了OpenWrt系统,把DNS改成DoH(DNS over HTTPS)模式,指定使用阿里云的223.5.5.5或者腾讯的119.29.29.29,同时开启IPv6优先查询。实测下来,网页打开速度有肉眼可见的提升,尤其是第一次访问的网站。
如果你不想折腾系统,至少可以在手机和电脑上手动设置公共DNS。比如Windows里改网卡设置,macOS在Wi-Fi高级选项里调整,Android和iOS也有对应配置入口。
示例:在路由器中设置上游DNS(以OpenWrt为例)
<option name='dns'>223.5.5.5 223.6.6.6 119.29.29.29</option>
<option name='dhcp_option'>option:dns,223.5.5.5</option>别忘了本地缓存的作用
还有一个小技巧,就是在局域网里搭个轻量级DNS缓存服务,比如dnsmasq。它能把经常访问的域名记录存在本地,下次请求直接返回,不用再往外查。我家的树莓派就跑着一个,连家里的智能灯泡、摄像头都能快速联网,不再因为DNS超时连不上服务器。
IPv6是个好东西,但它不是万能药。网络体验是环环相扣的,DNS这一环松了,整体效率照样打折扣。别以为升级了协议就万事大吉,该调的还得调。