如何在中国使用DNSCrypt防止DNS污染

DNSCrypt防止DNS污染

最后更新于 2020年8月4日 更新作者Hunter

DNS污染是用来阻止对网站的访问,例如本站的域名https://www.5best1s.com已不能在中国国内正常访问,就是因为DNS污染所致,如果我们不通过翻墙(或科学上网)工具,还有什么办法可以绕过长城防火墙的封锁呢?答案是有的,即利用DNSCrypt防止DNS污染。

什么是DNS?

DNS代表域名系统。就像“互联网电话簿”一样。

使用互联网时,我们是通过域名进行的。例如,此网站的域名为5best1s.com。人们使用域名,而计算机网络使用IP地址。DNS是将域名转换为IP地址的系统。


什么是DNS污染

DNS污染(DNS欺骗,也称为DNS中毒)是中国用来审查互联网的方法之一。当DNS查询返回您尝试访问的网站或服务的IP地址不正确时,就会发生这种情况。标准DNS请求的问题在于它们以纯文本发送(不加密)。因此,即使您使用自定义DNS服务器(Google,Cloudflare等)代替ISP DNS服务器,DNS污染仍然会发生。

例如:

dns-spoofing-example-1

当我们在站长之家ping域名www.5best1s.com,可以看到返回的是美国FACEBOOK公司的地址,并不是本站的真实IP地址。

这种被DNS污染的域名通常都会返回属于Facebook或Twitter的IP地址,而这些IP地址都是被封锁的IP地址


DNSCrypt如何工作?

DNSCrypt是一种协议,通过加密和认证DNS服务器与客户端之间的通信来防止DNS污染。

当计算机上安装Simple DNSCrypt之后,就能正常返回正确的IP地址。


DNSCrypt可以替代VPN吗?

不可以。

DNS污染并不是中国用来阻止网站的唯一方法。另一种方法是封锁IP。因此,即使您的DNS请求返回正确的IP地址,该IP地址本身也可能是被封锁的。

具体可以参阅中国VPN翻墙软件及科学上网攻略

被封锁IP地址的网站,我们熟悉的有Google、Facebook、Twitter等主要网站。要访问这些网站或服务,我们就需要使用中国可用的最佳VPN推荐

虽然如此,有一些被封锁的网站可以使用DNSCrypt,在没有VPN的情况下正常访问。这些大多是较小的网站,可能不值得审查员花时间去阻止其IP地址。例如本站5bestones:)

在撰写本文时,我能够通过使用DNSCrypt来访问中国的以下网站,而没有使用VPN(如果将来这些网站的IP地址被封锁,则不能通过此方法访问)。

OpenVPN(用于OpenVPN协议的VPN软件)

Duck Duck Go (面向隐私的搜索引擎)


DNSCrypt还能用于什么?

DNSCrypt的主要优点是可以帮助连接到VPN服务器,以及在中国国内访问VPN服务商网站下载VPN程序。VPN服务器和VPN服务商官方网站通常在中国被封锁的都是域名,而非IP地址。

例如, 当通过OpenVPN应用程序使用手动OpenVPN配置时, 由于服务器名称的DNS请求未返回正确的IP ,我无法连接到特定的ExpressVPN服务器。启用DNSCrypt后,我们就能够成功连接。

通常,当您无法连接到VPN服务器时,有可能是该服务器的IP地址被封锁,但大多数情况只是服务器的主机名被封锁。


如何在Windows上安装Simple DNSCrypt

DNSCrypt只是协议,而不是特定的软件。针对不同的平台有多种软件可以实现。Windows版的客户端就是使用Simple DNSCrypt。

下载Simple DNSCrypt

如果使用Mac,则可以查阅DNSCrypt客户端列表 然后尝试支持Mac的其中一种来实现。

安装适用于Windows的Simple DNSCrypt之后,我们需要启动应用程序并启用下图的两个设置。

simplednscrypt

打开“DNSCrypt服务”的开关,以启用服务。

单击底部的网卡(WiFi或LAN)。

其他设置保留为默认设置,除非知道自己在做什么(我自己也不知道……)。

在使用过程中,不要禁用DNSCrypt服务,并保持您的网卡处于选中状态。这将使您的网卡DNS设置保留为127.0.0.1。

如果要禁用DNSCrypt,请在退出应用程序之前再次单击网卡(WiFi或LAN)以禁用该网卡的DNS设置。


适用于Android 9的DNSCrypt替代

Android 9支持TLS上的DNS,这是另一种加密的DNS系统。

不同品牌型号的手机,设置的步骤有所差异。对于我的小米手机,可以在这里找到。

设置 ~ 更多 ~ 私人DNS

mobile-private-dns
mobile-private-dns-setup

选择“私人DNS提供商主机名”,然后输入支持TLS上DNS的DNS提供程序的主机名。例如:1dot1dot1dot1.cloudflare-dns.com或dns.quad9.net。


好啦,希望此文可以帮助到您自由地上网冲浪。如果大家有发现什么更好的办法,欢迎在评论区告知,谢谢啦!

如何在中国使用DNSCrypt防止DNS污染

发表评论

电子邮件地址不会被公开。 必填项已用*标注

滚动到顶部