步骤 1:安装DNSCrypt
- 下载安装包:
wget https://github.com/dnscrypt/dnscrypt/releases/download/v2.2./dnscrypt-2.2.-Linux-x86_64.tar.gz
- 解压安装包:
tar -xzf dnscrypt-2.2.-Linux-x86_64.tar.gz
- 进入安装目录:
cd dnscrypt-2.2.
步骤 2:安装依赖
- 安装必要的系统依赖:
apt-get update && apt-get install -y build-essential libcap-ng-dev libjansson-dev libssl-dev
步骤 3:编译并安装DNSCrypt
- 编译源代码:
make
- 安装DNSCrypt:
make install
步骤 4:配置DNSCrypt
- 创建配置文件:
sudo nano /etc/dnscrypt/dnscrypt.conf
- 编辑配置文件:
# 示例配置文件 server { listen 53; protocol 1; cache 100; # 根据需求调整缓存大小 threads 4; # 根据服务器负载调整线程数 log-level 3; # 日志级别 log-tag "dnscrypt"; # 日志输出到终端或文件 log-output /var/log/dnscrypt.log; } - 生成密钥和证书:
dnscrypt-gen-keypair
- 输入私钥密码并回答问题。
- 生成的密钥对存放在
server.key和server.crt文件中。
步骤 5:配置DNS服务器
- 修改主配置文件:
sudo nano /etc/dnscrypt/dnscrypt.conf
- 在
server块中添加:forwarders { 192.168.1.1:53; # 外部DNS服务器IP和端口 8.8.8.8:53; # 可选的另一个DNS服务器 }
- 在
- 设置DNSCrypt前置服务器:
sudo nano /etc/dnscrypt/dnscrypt.conf
- 在
server块中添加:forward 127...1:53;
- 在
步骤 6:测试配置
- 测试本地解析:
nslookup localhost 127...1:53
- 查看DNSCrypt日志:
tail -f /var/log/dnscrypt.log
步骤 7:启动和重启服务
- 启用并启动服务:
sudo systemctl enable dnscrypt sudo systemctl start dnscrypt
- 检查服务状态:
systemctl status dnscrypt
步骤 8:验证外部DNS解析
- 测试域名解析:
nslookup example.com 127...1:53
- 测试域名解析是否正常: 确认解析结果与不使用DNSCrypt时一致。
额外配置
- 调整缓存大小:根据需求修改
cache参数。 - 调整线程数:根据服务器负载调整
threads参数。 - 日志输出:确保日志文件路径正确,避免日志文件过大。
注意事项
- 证书大小:确保生成的证书至少为2048位,以确保安全性。
- 权限问题:检查服务是否有足够的权限运行,避免权限错误。
完成以上步骤后,DNSCrypt 应该已正确配置,确保您的 DNS 解析 加密安全。








