-
安装Python和dnscrypt:
- 首先安装Python 3:
https://www.python.org/downloads/ | tar -xz -C /usr export PATH="/usr/local/bin:$PATH" apt-get install -y build-essential python3 -m pip install --user -U pip3 python3 -m pip install --user -U dnscrypt . ~/.local/bin
- 首先安装Python 3:
-
配置dnscrypt:
- 创建或编辑配置文件
/etc/dnscrypt.yml:interface: eth port: 53 server: 127...1 flags: no-cache
- 启动dnscrypt,建议使用systemd管理:
mkdir -p /etc/dnscrypt nano /etc/dnscrypt/dnscrypt.yml systemctl daemon-reload systemctl install dnscrypt systemctl start dnscrypt systemctl enable dnscrypt
- 创建或编辑配置文件
-
配置DNS服务器(以 BIND 为例):
- 安装BIND:
apt-get install -y bind9
- 编辑主配置文件
/etc/named.conf,添加DNSCrypt设置:include "/etc/dnscrypt/dnscrypt.yml"; options { // ... dnssec-enable keymgrstdarg; // ... }; - 创建新区文件,例如
/etc/bind/forwarders.db:zone "example.com" { type a; address 127...1; ttl 60; record 1; }
- 安装BIND:
-
配置域名记录:
- 使用
nsupdate或编辑named.conf,添加TXT记录:nsupdate -S example.com > record 2023 example.com TXT "v1.example." > save
- 使用
-
设置路由器或防火墙:
- 修改路由器的iptables,redirect DNS请求到localhost:53:
iptables -t nat -A POSTROUTING -p UDP --dport 53 -j REDIRECT --to-destination 127...1:53
- 修改路由器的iptables,redirect DNS请求到localhost:53:
-
测试配置:
- 使用
dig查询域名,检查是否加密:dig @localhost example.com
- 检查DNSCrypt状态:
journalctl -u dnscrypt.service -b
- 使用
通过以上步骤,您可以配置好DNSCrypt,确保DNS查询加密,提升网络安全性。









