有关DNSCrypt的配置简介

分类: 亚洲365bet网址 时间: 2025-08-02 17:17:17 作者: admin 阅读: 9697
有关DNSCrypt的配置简介

前言

为有效阻止第三方(如广告商)对网络流量的监视与干涉,使用加密DNS协议不失为一种可靠的方法,可有效提升安全性和隐私性。

结合本人的亲身实践,本文以dnscrypt-proxy为例来介绍实现DNS流量加密的一种方式。

大部分内容在官网上(特别是installation的部分)均有介绍,本文仅做略微扩充。

在Windows上安装并运行dnscrypt-proxy

下载dnscrypt-proxy-win64-*.zip并解压缩,进入目录,用文本编辑器修改example-dnscrypt-proxy.toml,输入你所期望的服务器设置。保存修改后,将该文件改名为dnscrypt-proxy.toml。然后,在当前目录下用管理员权限打开powershell,运行以下命令:

.\dnscrypt-proxy

如果不报错,说明你的配置就是成功的。

这里以匿名DNS(Anonymized DNS)为例来介绍一下配置相关的内容。文件public-resolvers.md和relays.md分别列举了公共DNS服务器与匿名DNS中继器。只要两者不同属同一个实体和国家,哪怕它记录日志,也没办法取得你的个人信息。

在dnscrypt-proxy.toml文件中,一个最低限度的配置可以为如下:

listen_addresses = ['127.0.0.1:53']

[static]

[static.'scaleway-fr']

stamp = 'sdns://AQcAAAAAAAAADjIxMi40Ny4yMjguMTM2IOgBuE6mBr-wusDOQ0RbsV66ZLAvo8SqMa4QY2oHkDJNHzIuZG5zY3J5cHQtY2VydC5mci5kbnNjcnlwdC5vcmc'

[anonymized_dns]

routes = [

{ server_name='scaleway-fr', via=['sdns://gRE2NC40Mi4xODEuMjI3OjQ0Mw'] },

]

其中listen_address部分代表了dnscrypt-proxy会监听本地的53端口。static部分表示DNS解析器scaleway-fr的地址将直接由下面stamp的值来指定,而非从网络中获取。[anonymized_dns]中的routes部分则规定了如何连接DNS解析器,其中via部分规定了一个匿名DNS中继器的地址。

若dnscrypt-proxy能够运行成功,那么可以按下Ctrl+C以停止运行。接着可以运行以下命令,从而将该程序注册为一个系统服务:

.\dnscrypt-proxy -service install

注意,这仍然需要管理员权限才能实现。

如果没有报错,那么继续运行以下命令:

.\dnscrypt-proxy -service start

如此,dnscrypt-proxy就能作为一个系统服务而运行了。

要查看该服务的运行情况,可以打开开始菜单,搜索“service”,你会看到有一个名叫“服务”的应用跳出来。打开这个应用,你可以在名称中找到“DNSCrypt client proxy”,这就是你刚注册的系统服务。你可以设置其启动类型。当启动类型为“自动”时,说明它会在开机时自动启动。

最后,虽然这不是必须,但我建议你修改你的网络设置,将DNS服务器地址一律改为127.0.0.1,这样就能迫使所有DNS流量都经过dnscrypt-proxy的加密。

在Linux上安装并运行dnscrypt-proxy

虽然官网有介绍针对Linux不同发行版的安装方法,但我觉得针对Linux的那个通用方法最可行。

和前面Windows的方法类似,你需要下载dnscrypt-proxy-linux_x86_64-*.tar.gz,解压缩,修改dnscrypt-proxy.toml文件,并在终端中运行dnscrypt-proxy。

如果你在dnscrypt-proxy.toml指定了53端口,而其他程序有占用这个端口,那么你必须事先停止其他程序的运行。这点在官网里也有写到了,参考官方教程即可。

在官方教程中,通过将/etc/resolv.conf修改为如下内容:

nameserver 127.0.0.1

options edns0

这使得在dnscrypt-proxy启动之后,你的所有流量都会先经过dnscrypt-proxy的加密,再发送给DNS服务器。

在将dnscrypt-proxy安装为系统服务后,你可以使用如下命令启动该服务:

systemctl start dnscrypt-proxy.service

以下命令则能够实现上述服务的开机自启动:

systemctl enable dnscrypt-proxy.service

整个过程不需要你去修改配置中的user_name。

你可以通过

systemctl list-units --type service

来查看各系统服务的运行情况,确保结果符合预期。

更新应用程序

用最新的可执行文件dnscrypt-proxy去替换,再重启服务即可。

结语

虽然过程较为繁琐,但是好处的确是有的。某些网站的加载速度是变快了的。除此之外的好处还有很多,我就不讲了。总之对我来讲这番努力是值得的。

相关文章

理查米尔手表具体正确上链方法(理查米尔怎么给手表上链)
泰迪茶杯犬能活多久?体型大小决定了它们的寿命
悲哀的解释