安装Quad9 DNS服务器
确保你的系统有安装Quad9 DNS服务器,使用以下命令安装:
sudo apt-get install bind9
生成TLS证书和密钥
Quad9 DNS服务器支持DNS-over-TLS,需要配置TLS证书和密钥,生成自签名证书:
sudo openssl req -x509 -newkey rsa:2048 -keyout server.key -out server.crt -days 365 -nodes
配置Quad9 DNS服务器
编辑Quad9的配置文件,通常位于/etc/named.conf:
sudo nano /etc/named.conf
include "named.conf";
controls {
inet 127...1 allow {127...1;};
inet "127...1" allow {127...1;};
};
// DNS-over-TLS配置
tls-starter-socket "local";
tls-keyfile "/etc/dns/server.key";
tls-certificate "/etc/dns/server.crt";
tls-auth /etc/dns/server.auth;
// 主区配置
zone "example.com" {
type master;
file "/var/lib/named/zones/example.com";
};
// 辅助区配置
zone "...." {
type slave;
file "/var/lib/named/zones/....";
master 192.168.1.1;
};
配置DNS-over-TLS
在Quad9配置文件中添加DNS-over-TLS选项:
// DNS-over-TLS配置 tls-starter-socket "local"; tls-keyfile "/etc/dns/server.key"; tls-certificate "/etc/dns/server.crt"; tls-auth /etc/dns/server.auth; // DNSSEC配置 dnssec-enable yes; dnssec-validation auto;
生成DNSSEC密钥文件
使用tslutils生成密钥文件:
sudo tsldig -d /etc/dns/dnssec.key example.com. IN A
设置NTP时间同步
确保服务器时间准确,安装并配置NTP:
sudo apt-get install ntp sudo nano /etc/ntp.conf
添加NTP服务器地址:
server 0.pool.ntp.org server 1.pool.ntp.org
启动NTP服务并立即同步时间:
sudo systemctl start ntp sudo systemctl enable ntp sudo ntpdate -s pool.ntp.org
启用DNSSEC
在Quad9配置文件中启用DNSSEC:
// 已启用DNSSEC
重启DNS服务器
保存配置后重启Quad9服务:
sudo systemctl restart bind9
测试DNS-over-TLS连接
使用dig工具测试:
sudo dig -O option "tls" @server_ip example.com
验证DNSSEC
查询DNS记录:
sudo dig -O option "tls" @server_ip example.com
备份配置文件
备份重要配置文件:
sudo cp /etc/named.conf /etc/named.conf.bak
检查日志文件
查看DNS服务器日志:
sudo tail -f /var/log/named/log
故障排除
- 防火墙设置:确保TLS端口(通常为443)开放。
- 时间同步问题:检查NTP服务是否正常运行。
- 证书问题:确保证书路径正确,权限设置为可读。
完成
配置Quad9 DNS服务器完成!现在你可以使用DNS-over-TLS和DNSSEC来提高DNS的安全性和可靠性。




