在Windows下使用加密DNS(DoH)

在Windows下使用加密DNS(DoH),第1张

本文在我博客  王权之首の秘密基地 中同步发布

为什么要使用加密DNS(DoH)

由于部分运营商网络的问题,很多宽带自带的DNS存在劫持问题,甚至某些宽带存在劫持53端口,直接强制使用运营商DNS。这就有可能会造成DNS解析结果的异常或者污染,也有可能具有个人隐私泄露的风险。所以,要防止DNS污染,就需要使用加密DNS,对DNS请求的过程全程加密,这样运营商即使获取到了你的数据包,也无法对其解密,更无法对其进行修改。这篇文章将会教你如何将你的Windows设备接入DNS服务商提供的公共加密DNS服务

前置条件

1.系统要求:Windows 10 build19628及以上,建议Windows11

设置步骤

本文以Windows11为例(因为我已升级至Windows11,目前身边没有Windows10设备)

大概方法 :

设置--网络&Internet--WLAN/以太网

WLAN--硬件属性--编辑DNS设置--手动--开启IPv4和IPv6--填写dns地址

以太网--DNS服务器分配--手动--开启IPv4和IP v6--填写dns地址

详细步骤

1.在开始菜单中打开设置

2.进入网络和Internet 然后选择你所连接的网络(WLAN or 以太网)

3.点击硬件属性(以太网不需要走这一步)

4.找到DNS服务器分配,然后点击编辑

5.将DNS获取方式从DHCP改为手动

6.输入你想用的DNS服务器(这里推荐cloudflare的1.1.1.1和Google的8.8.8.8,文章末尾还有其他推荐的)

7.添加你所选的DNS服务器到WindowsDNS列表(8.8.8.8和1.1.1.1等权威DNS提供商不需要这一步)

因为Windows默认认证的DNS少的可怜,所以需要手动将DNS服务器加入Windows服务器列表

同时按下Windows 徽标键 + X打开Windows终端(管理员)

然后输入(这里以Open DNS为例)

netsh dns add encryption 208.67.222.222 "https://208.67.222.222/dns-query" no no netsh dns add encryption 208.67.220.220 “https://208.67.220.220/dns-query” no no

输入完成后按Enter键

8.将DNS加密设为仅加密

由于国内互联网环境比较特殊,建议先测试所选DNS在大陆加密后能否正常试用,比如说四川电信就无法使用加密了的cloudflare1.1.1.1和Google8.8.8.8,我的解决方法是使用open DNS(服务器地址在下文“其他”中)

其他:

DNS的Wiki:

https://en.wikipedia.org/wiki/Domain_Name_System

DoT的Wiki:

https://en.wikipedia.org/wiki/DNS_over_HTTPS

我推荐的公共dns:

1.cloudflare的1.1.1.1

For IPv4 : 1.1.1.1 and  1.0.0.1

For IPv6 : 2606:4700:4700::1111 and 2606:4700:4700::1001

官网: 1.1.1.1 — the Internet’s Fastest, Privacy-First DNS Resolver

2.Google DNS:

The Google Public DNS IP addresses (IPv4) are as follows:

8.8.8.8

8.8.4.4

The Google Public DNS IPv6 addresses are as follows:

2001:4860:4860::8888

2001:4860:4860::8844

官网: https://developers.google.com/speed/public-dns/

3.Open DNS:

For IPv4 :208.67.222.222  and  208.67.220.220

For IPv6 :2620:119:35::35  and  2620:119:53::53

https://www.opendns.com/

4.腾讯

119.29.29.29

182.254.118.118

Public DNS+——DNSPod推出的域名递归解析服务

5.阿里 (不确定能否加密)

223.5.5.5

223.6.6.6

阿里DNS

6.百度 (不确定能否加密)

180.76.76.76

百度DNS - 帮助中心 - 公共DNS

7.CNNIC (不确定能否加密)

1.2.4.8

210.2.4.8

sDNS

国内目前有支持DoH加密的公共DNS:阿里云、360等等。

Win10目前在开发通道集成了这个功能,20H2尚未包括这个功能,不过可以用第三方软件完成,比如DNSCrypt/dnscrypt-proxy。目前在IOS上,同样需要使用第三方软件设置。

DNS全称Domain Name System,在当今的互联网协议中,它是一个域名与IP对应的系统,我们通过域名访问一个地址需要经过DNS查询获取该域名的真实IP地址,比如说访问我们网站的时候,浏览器就会向系统指定的DNS服务器发送一个请求,让DNS服务器返回该域名的真实IP地址。

传统的DNS方式是通过53端口向DNS服务器发送明文的请求信息,如果有意的话,ISP可以很容易地在用户到DNS服务器之间将这个请求进行劫持,由于传统DNS请求基于无连接的UDP协议,用户端只接受最快到达的查询结果。

所以ISP可以通过抢先应答的方式向用户返回错误的IP,这种做法被称为域名劫持,这是DNS协议的一个典型缺陷。


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/679336.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-07-29
下一篇2023-07-29

发表评论

登录后才能评论

评论列表(0条)

    保存