在Ubuntu上搭建DNS服务器,通常使用BIND(Berkeley Internet Name Domain)软件来实现,以下是详细的搭建步骤:
一、安装BIND
1、更新包列表
sudo aptget update
2、安装BIND9及相关工具
sudo aptget install bind9 bind9utils bind9doc
二、配置BIND
1、设置Bind为IPv4模式(可选)
如果专用网络仅使用IPv4,可以将BIND设置为IPv4模式,编辑/etc/default/bind9
文件:
sudo nano /etc/default/bind9
在OPTIONS
参数的末尾加上"4"
,如下所示:
OPTIONS="u bind 4"
保存并关闭文件后,重新启动BIND以实现更改:
sudo systemctl restart bind9
2、配置主配置文件named.conf.options
打开/etc/bind/named.conf.options
文件进行编辑:
sudo nano /etc/bind/named.conf.options
在现有选项块之上,创建一个称为“受信任”的新ACL(访问控制列表)块,定义允许递归DNS查询的客户机列表。
acl "trusted" { 10.128.10.11; # ns1 can be set to localhost 10.128.20.12; # ns2 10.128.100.101; # host1 10.128.200.102; # host2 }; options { directory "/var/cache/bind"; forwarders { 8.8.8.8; # 公共DNS服务器作为转发器 }; dnssecvalidation auto; authnxdomain no; # conform to RFC1035 listenonv6 { any; }; listenon port 53 { 10.128.10.11; }; # 填写自己的DNS服务器IP地址 allowtransfer { any; }; allowquery { any; }; };
3、配置正向解析区域
编辑/etc/bind/named.conf.local
文件,添加要解析的域名及对应的域名配置文件:
zone "example.com" { type master; file "/etc/bind/db.example.com"; };
创建并编辑/etc/bind/db.example.com
文件:
sudo cp /etc/bind/db.local /etc/bind/db.example.com sudo nano /etc/bind/db.example.com
修改内容如下:
$TTL 604800 @ IN SOA ns1.example.com. root.example.com. ( 2023101001 ; Serial 604800 ; Refresh 86400 ; Retry 2419200 ; Expire 604800 ) ; Negative Cache TTL ; @ IN NS ns1.example.com. @ IN A 10.128.10.11 ns1 IN A 10.128.10.11 www IN A 10.128.10.11
4、配置反向解析区域
编辑/etc/bind/named.conf.local
文件,添加反向解析区域:
zone "10.128.inaddr.arpa" { type master; file "/etc/bind/db.128.10"; };
创建并编辑/etc/bind/db.128.10
文件:
sudo cp /etc/bind/db.127 /etc/bind/db.128.10 sudo nano /etc/bind/db.128.10
修改内容如下:
$TTL 604800 @ IN SOA ns1.example.com. root.example.com. ( 2023101001 ; Serial 604800 ; Refresh 86400 ; Retry 2419200 ; Expire 604800 ) ; Negative Cache TTL ; @ IN NS ns1.example.com. 11 IN PTR ns1.example.com. 101 IN PTR host1.example.com. 102 IN PTR host2.example.com.
三、启动并测试DNS服务器
1、启动BIND服务
sudo systemctl restart bind9
2、测试DNS解析
使用dig
命令进行测试:
dig @10.128.10.11 example.com dig @10.128.10.11 x 10.128.10.11
如果返回的ANSWER数量大于0,则表示解析成功。
四、常见问题与解答
问题一:启动bind9之后,无法查询到配置的A记录。
解答:首先查看启动日志tail /var/log/syslog
,检查是否有错误提示,确保配置文件中的语法正确,特别是域名和IP地址的对应关系,如果配置文件没有问题,尝试重启BIND服务。
问题二:如何设置DNS服务器的转发器?
解答:在/etc/bind/named.conf.options
文件中,找到forwarders
块,添加需要转发的DNS服务器IP地址。
forwarders { 8.8.8.8; # Google公共DNS服务器 8.8.4.4; # Google公共DNS服务器 };
保存文件后,重启BIND服务以使更改生效。
来源互联网整合,作者:小编,如若转载,请注明出处:https://www.aiboce.com/ask/193509.html