Win10/11开启安全DNS[DoH],防止电信运营商污染DNS

BKT 发表于 - 3 分钟阅读 - 1387 个字

➡️什么是DNS污染

DNS污染(DNS Cache Pollution)是通过干扰或篡改域名解析过程,使用户访问错误的IP地址的一种技术。其原理主要包括以下几个步骤:

  1. DNS查询拦截:当用户向DNS服务器发送域名查询请求时,攻击者或防火墙会监控这些请求。
  2. 伪造响应:在权威DNS服务器返回正确的IP地址之前,攻击者会向用户的DNS服务器发送伪造的DNS响应,其中包含错误的IP地址。
  3. 缓存污染:用户的DNS服务器接收到伪造的响应后,会将其缓存下来,并返回给用户。这样,用户在访问该域名时,会被重定向到错误的IP地址。

➡️DNS污染的原因和影响

  1. 网络审查:某些国家或地区为了防止用户访问特定网站,会利用DNS污染技术屏蔽这些网站。此外,运营商,比如中国移动在GFW之外自己增加了对约60W个网站的封杀,只要包含某些关键词,都会被通杀。
  2. 网络攻击:攻击者通过伪造DNS响应数据包,污染本地DNS缓存,导致用户被重定向到恶意网站。如果将用户访问的正常网站,尤其是大网站,如果定向到攻击目标,则会导致攻击目标过载而瘫痪。
  3. 广告劫持:一些互联网服务提供商会劫持DNS查询,将用户引导到包含广告的页面。
  4. DNS污染是主要方式 相对于IP过滤,尤其是现在是IPv6时代,污染DNS是低成本的墙的方式。

➡️常见的防护方法

  1. 使用VPN或代理服务器:通过加密连接进行DNS解析,避免本地DNS缓存被污染1。
  2. 修改Hosts文件:手动指定域名解析,绕过DNS服务器。
  3. 使用DNSSEC:使用加密DNS服务即可,例如DNSCrypt软件,或使用DoH[DNS over HTTPS] 或 DoT[DNS over TLS]、DNS-over-TLS、DNS-over-QUIC 加密服务,这些服务提供更安全的DNS查询,可以防止DNS污染和劫持。

➡️如何知道DNS是否被污染

1. 验证方法:

当你打开一个网站,打不开,比如:tech.wmzhe.com,感觉不太可能是网站的问题,ping了一下网址,返回127.0.0.1。 解析到本地了,这就不正常。

不用本地dns,换用114.114.114.114 dig一下,仍然是127.0.0.1 难道被墙了? 登陆一台服务器dig一下这个网址,解析出来的ip正常,说明有猫腻。

换用代理能够访问,说明网站被墙了。

2. 受污染的网站举例

tech.wmzhe.com测试:

PS C:\Users\qiu> nslookup tech.wmzhe.com 202.96.128.86
服务器:  cache-a.guangzhou.gd.cn
Address:  202.96.128.86

名称:    tech.wmzhe.com
Addresses:  ::1
          127.0.0.1

PS C:\Users\qiu> nslookup tech.wmzhe.com 9.9.9.9
服务器:  dns9.quad9.net
Address:  9.9.9.9

非权威应答:
名称:    tech.wmzhe.com
Address:  61.164.113.248

➡️支持Doh的DNS服务器列表:

  1. 微软提供的支持Doh的DNS服务器列表:
    在Powershell执行Get-DNSClientDohServerAddress:
PS C:\Users\yourname> Get-DNSClientDohServerAddress

ServerAddress        AllowFallbackToUdp AutoUpgrade DohTemplate
-------------        ------------------ ----------- -----------
149.112.112.112      False              False       https://dns.quad9.net/dns-query          # ✅
9.9.9.9              False              False       https://dns.quad9.net/dns-query          # ✅
8.8.8.8              False              False       https://dns.google/dns-query             # ❌
8.8.4.4              False              False       https://dns.google/dns-query             # ❌
1.1.1.1              False              False       https://cloudflare-dns.com/dns-query     # ✅
1.0.0.1              False              False       https://cloudflare-dns.com/dns-query     # ✅
2001:4860:4860::8844 False              False       https://dns.google/dns-query             # ❌
2001:4860:4860::8888 False              False       https://dns.google/dns-query             # ❌
2606:4700:4700::1001 False              False       https://cloudflare-dns.com/dns-query     # ✅
2606:4700:4700::1111 False              False       https://cloudflare-dns.com/dns-query     # ✅
2620:fe::9           False              False       https://dns.quad9.net/dns-query          # ✅
2620:fe::fe          False              False       https://dns.quad9.net/dns-query          # ✅
2620:fe::fe:9        False              False       https://dns.quad9.net/dns-query          # ✅
  1. 国内支持DoH的DNS列表 测试整理了一些可用速度较快的加密DNS服务器,国外的就删除了,速度较慢,且解析ip不适用于国内,所以只保留国内的,具体如下:
tls://1.12.12.12
tls://120.53.53.53
https://223.5.5.5/dns-query
https://223.6.6.6/dns-query
https://1.12.12.12/dns-query
https://120.53.53.53/dns-query
https://dns.pub/dns-query
https://doh.pub/dns-query
https://sm2.doh.pub/dns-query
https://dns.alidns.com/dns-query
tls://dns.alidns.com
tls://dot.pub
tls://dns.tuna.tsinghua.edu.cn:8853

如何开启DoH

  1. Windows10/11
    点击Windows开始,设置,网络和Internet

在网络和 Internet 页面上,选择以太网,或者WLAN 选择Wlan

点击当前连接接口。 选择Wlan 点击编辑DNS 点击编辑DNS 设置DoH 设置DoH 可以选择前面DoH列表中可用的DoH DNS 服务器 2. Chrome 地址栏输入:chrome://settings/security, 回车

Chrome设置DoH

➡️相关链接:

http://blog.dngz.net/dnswuran.htm

comments powered by Disqus