今天使用 kindle,登陆亚马逊中国老是加载网页加载不了,在家里用 Windows 7 的时候也会出现这样,都是使用第三方 DNS,学校分配的宽带 DNS,不知道哪家提供的,使用的结果就是很多网站明明在中国,确实速度奇慢,有些网站第一次打不开,需要刷新一下才可以,所以很有必要更换一下dns。修改 DNS 一般都是 控制面板 > 网络,这样设置,但是不知道什么原因,Windows 10 的网络和共享中心打不开,百度搜索也没有找到,不过影响并不大,可以通过其他方式修改。

QQ图片20151205011924.png

win10左下角的搜索框很方便,直接输入网络连接就可以找到所有网卡了。

QQ截图20151205012041.png

右击你的网卡,选择属性。

QQ图片20151205012135.png

然后一次点击Internet协议->属性->dns设置,可以根据图片设置,使用阿里云的。好了,差不多就这样子了。

QQ截图20160413112548.png

20220827

多年过去了,windows 10 操作系统到现在也还没有在设置面板里面提供一个简单 DNS 设置界面。
DNS 服务提供商主要有两个类型,一个是 ISP 提供的默认 DNS,一个是第三方提供的 DNS。

ISP 提供的默认 DNS 地址一般距离用户比较近,提供非常快的解析服务。视频网站还有网络游戏厂家域名解析的时候,都会针对这些 DNS 服务器进行优化,能同样解析到用户就近的服务器,提供延迟非常低的服务器地址。反过来说,如果用户自己修改 DNS,配置了不合适的 DNS 服务器,会导致解析到非常慢的服务器,表现就是网络游戏延迟非常高,视频经常卡顿,出现这样的问题然后打客服电话抱怨网络慢。

第三方服务厂家比如 阿里、百度、 Google 或是 Cloudflare,提供比较准确的解析,在 DNS 缓存的更新上也非常快,有些会提供网站屏蔽服务,Cloudflare 可以选择屏蔽提供成人内容网站域名解析。

DNS 默认使用 UDP 协议查询,明文查询,没有任何的验证机制,可以被拦截和抢答,这些操作只需要在网关或是路由器修改一下配置就可以完成。针对用户自己修改 DNS 导致解析问题,运营商可能会拦截所有 DNS 查询到 ISP 自己的服务器,有时候甚至拦截解析到自己服务器,以此提供特定的加速服务。另外一个层面,ISP 也会出于政策或是其他因素屏蔽或是抢答特定方向的域名,而且这个屏蔽名单是不对外公布的。

基于上述的问题,直接修改操作系统里面的 DNS 可能一点效果都没有,而且可能照成其他网络问题,所以尽可能的使用 ISP 提供的 DNS 是优先选择。

为了修复 DNS 本身的问题,发展出了各种奇奇怪怪的 DNS 变种。

  • DNS-over-TCP:解决 UDP 数据包长度限制的问题,但是依旧没有解决验证和匿名的问题。
  • DNS-over-HTTPS:算是解决了安全问题、匿名问题。这个数据打包有两种方式,一种是 json 字符串格式,一个是原本走 UDP 的数据,直接二进制传输。不过这种方式效率非常低,所以对于首次打开网站能明显的感觉到慢。
  • DNS-over-HTTPS3:算是上一个协议的变种,数据打包的时候还是采用 http 协议,数据包里面包裹的 http headers 一个都不会少,然后传输方式换成 quic 协议,因为 http3 协议就是采用 Quic 协议传输的。
  • DNS-over-Quic:这个是我比较看好的一个传输方式,但是目前支持的服务器比较少。数据包也是采用 UDP 协议传输,然后在那之上构建 Quic 传输通道,然后再传输 DNS 查询的数据包,能平衡安全性还有速度。

目前主流浏览器均支持 DNS-over-HTTPS,如果不介意网速,设置这个就可以解决 DNS 隐私泄露的问题。网络游戏客户端似乎也不怎么信任系统的 DNS 设定,基本都自带一部分节点还有自己的 DNS 解析服务,最大可能的去优化网络线路。手机端点餐软件也有针对 DNS 解析线路不可达的时候,进行回退的机制,确保有可用的网络线路存在。

最后就是专业玩家的做法,使用软路由分流 DNS 查询,采用黑白名单的机制分流 DNS 查询,根据自己需求不同域名走不同 DNS 服务器查询,加上 Golang 语言简单容易上手,Github 还有各种 DNS 库可供调用,出现了奇奇怪怪的 DNS 代理、分流软件。大部分时间用起来还不错,少部分时间完全不得用,令人抓狂。也有 AdGuard Home 这种提供日志查询,广告拦截、追踪拦截的软件,提供的界面非常的好看。不过 AdGuard 没有提供分流功能,于是还出现 Dnsmasq + AdGuard 这样的方案,如果不满足需求还有 SmartDNS + dnsmasq + AdGuard 的方案可供选择。

人生苦短,即使行了,DNS 服务能用就行。