安装DNS服务器软件
- 安装BIND
- 在Linux系统上安装BIND:
sudo apt update sudo apt install bind9 bindutils
- 如果使用RHEL/CentOS,使用Yum或DNF:
sudo yum install bind9 bind-utils
- 启用并启动BIND:
sudo systemctl enable named sudo systemctl start named
- 在Linux系统上安装BIND:
编辑DNS配置文件
-
打开配置文件
sudo nano /etc/named.conf
-
添加基本配置
- 在文件开头添加:
options { listen-on 127...1; listen-on :: 0; version 9.11.3; #允许递归查询 allow-recursion 127...1; }; - 保存并继续编辑。
- 在文件开头添加:
-
定义本地域名
- 添加主机记录:
zone "localhost" { type a; record-name localhost; addr: 127...1; interface eth; }; - 保存并继续编辑。
- 添加主机记录:
-
定义逆向查询区
- 添加逆向记录:
zone "127.in-addr.arpa" { type a6; record-name localhost; addr: 127...1; interface eth; }; - 保存并退出编辑器。
- 添加逆向记录:
-
保存并退出
- 按下
Ctrl + O保存,Ctrl + X退出。
- 按下
验证配置
-
检查配置文件
sudo named-checkconf -v
确保没有语法错误。
-
重启DNS服务器
sudo systemctl restart named
-
测试本地域名解析
- 在本地主机上测试:
ping localhost
- 远程测试:
dig localhost @127...1
预期输出:
; <<>> dig localhost @127...1 ;; resolver timeout: 2 seconds ;; Got answer: ;; 127...1. 1 IN A localhost
- 在本地主机上测试:
处理逆向查询
- 测试逆向查询
dig 127...1 @127...1
预期输出:
; <<>> dig 127...1 @127...1 ;; resolver timeout: 2 seconds ;; Got answer: ;; 127...1. 1 IN A localhost
处理DNS过期时间
-
设置过期时间
- 在
/etc/named.conf中添加过期时间:zone "localhost" { ...; ttl 60; # 设置过期时间为60秒 }; - 修改并保存配置文件。
- 在
-
重启服务并测试
sudo systemctl restart named ping localhost
常见问题与解决方法
-
DNS查询失败
- 检查防火墙是否阻止了DNS端口53:
sudo ufw allow out 53
- 检查配置文件是否有错误。
- 检查防火墙是否阻止了DNS端口53:
-
域名解析不正确
- 确保域名和IP地址正确匹配。
- 检查网络连接,确保DNS服务器可用。
配置BIND DNS服务器需要仔细编辑配置文件,确保域名和IP地址正确匹配,并处理逆向查询,通过逐步配置和验证,可以确保DNS服务器正常运行,提供正确的解析服务。




