安装DNSCrypt客户端和服务器 客户端: pip install dnscrypt 服务器: pip install dnscrypt-server 生成密钥对 生成密钥对用于加密DNS查询: 客户端密钥对: dnscrypt-gen-keypair 将生成的私钥和公钥保存, mv dnscrypt-gen-keypair.pem /etc/dnscrypt/ chmod 600 /etc/dnscrypt/dnscrypt-gen-keypair.pem 服务器密钥对: dnscrypt-gen-keypair --server-identity 私钥存放在/etc/dnscrypt/dnscrypt-server-keypair.pem,公钥在/etc/dnscrypt/dnscrypt-server-public.pem。 配置DNS服务器(以Unbound为例) 安装Unbound: sudo apt-get install unbound 配置Unbound: 打开配置文件/etc/unbound/unbound.conf,添加以下内容: # 添加DNSCrypt选项 server: # 指定DNSCrypt服务器地址和端口(可根据实际情况调整) forwarders: 127...1@808 # 启用DNSCrypt option{ forward-only: no; allow-query: yes; allow-recursion: yes; use-dnscrypt: yes; } 保存后,重启Unbound: sudo systemctl restart unbound 配置DNSCrypt客户端 编辑resolv.conf: 打开/etc/resolv.conf,添加以下内容: nameserver 127...1#808 这样客户端会首先尝试使用DNSCrypt解析DNS请求。 配置域名解析(可选) 根据需要,配置DNSCrypt客户端...
-
安装DNSCrypt客户端和服务器
-
客户端:
pip install dnscrypt
-
服务器:
pip install dnscrypt-server
-
-
生成密钥对
生成密钥对用于加密DNS查询:
-
客户端密钥对:
dnscrypt-gen-keypair
将生成的私钥和公钥保存,
mv dnscrypt-gen-keypair.pem /etc/dnscrypt/ chmod 600 /etc/dnscrypt/dnscrypt-gen-keypair.pem
-
服务器密钥对:
dnscrypt-gen-keypair --server-identity
私钥存放在
/etc/dnscrypt/dnscrypt-server-keypair.pem,公钥在/etc/dnscrypt/dnscrypt-server-public.pem。
-
-
配置DNS服务器(以Unbound为例)
-
安装Unbound:
sudo apt-get install unbound
-
配置Unbound: 打开配置文件
/etc/unbound/unbound.conf,添加以下内容:# 添加DNSCrypt选项 server: # 指定DNSCrypt服务器地址和端口(可根据实际情况调整) forwarders: 127...1@808 # 启用DNSCrypt option{ forward-only: no; allow-query: yes; allow-recursion: yes; use-dnscrypt: yes; }保存后,重启Unbound:
sudo systemctl restart unbound
-
-
配置DNSCrypt客户端
-
编辑resolv.conf: 打开
/etc/resolv.conf,添加以下内容:nameserver 127...1#808
这样客户端会首先尝试使用DNSCrypt解析DNS请求。
-
-
配置域名解析(可选)
根据需要,配置DNSCrypt客户端解析特定域名:
# 示例:配置localhost使用DNSCrypt echo "localhost." > /etc/dnscrypt/dnscrypt.conf echo "127...1 A" >> /etc/dnscrypt/dnscrypt.conf
-
启动服务
-
启动DNSCrypt服务器:
dnscrypt-server --listen --keypair-file /etc/dnscrypt/dnscrypt-server-keypair.pem --port 808
-
启动Unbound服务器:
sudo systemctl start unbound
-
-
测试配置
-
使用dig测试:
dig @127...1 example.com
-
使用curl测试:
curl --proxy 127...1:808 http://example.com
-
-
验证日志和问题解决
-
检查Unbound日志:
sudo tail -f /var/log/unbound/unbound.log
-
检查DNSCrypt配置: 确保所有配置文件路径正确,密钥对权限设置正确。
-
-
防火墙设置
确保DNSCrypt服务器端口(如808)开放:
sudo ufw allow out 808
或根据需要调整防火墙设置。
通过以上步骤,您可以配置好DNSCrypt实现DNS加密,确保DNS查询的安全性。

相关文章








