如何在Ubuntu 20.04上配置从属BIND DNS服务器

在上一篇文章中,我向您展示了如何使用BIND 9设置主DNS服务器。考虑如何设置辅助DNS服务器。从DNS服务器使用区域转发方法从主DNS获取数据的副本。此方法将区域数据在缓存中保留特定的时间,然后使用它来处理DNS查询。

在我们的设置中,我们有一个主DNS服务器,其IP为 172.16.10.2 域名是 ns1.computingforgeeks.local..

设置辅助服务器 172.16.10.10 ns2.computingforgeeks.local..

绑定主DNS配置

主从设置要求将主DNS服务器配置为启用区域转发到辅助名称服务器。

编辑 /etc/named.conf.local 主服务器上的文件 (ns1.computingforgeeks.local) allow-transferalso-notify 参数。

sudo vim /etc/bind/named.conf.local

对于正向和反向条目都可以执行此操作。

##Forward zone
zone "computingforgeeks.local" IN { // Domain name
    
      type master; // Primary DNS

     file "/etc/bind/forward.computingforgeeks.local.db"; // Forward lookup file

     allow-update { none; }; // Since this is the primary DNS, it should be none.
     allow-transfer  { 172.16.10.10; }; //Allow Transfer of zone from the master server

     also-notify { 172.16.10.10; }; //Notify slave for zone changes

};

##Reverse zone
zone "10.16.172.in-addr.arpa" IN { //Reverse lookup name, should match your network in reverse order

     type master; // Primary DNS

     file "/etc/bind/reverse.computingforgeeks.local.db"; //Reverse lookup file

     allow-update { none; }; //Since this is the primary DNS, it should be none.

     allow-transfer  { 172.16.10.10; }; //Allow Transfer of zone from the master server

     also-notify { 172.16.10.10; }; //Notify slave for zone changes

};

该· allow-transfer 您可以使用参数将区域文件从主DNS传输到从DNS。 also-notify 每当区域文件由主服务器更新时,用于通知从属服务器很有用。

您需要在ns1.computingforgeeks.local上重新启动DNS服务。

sudo systemctl restart bind9

配置从DNS

安装所需的软件包。

sudo apt-get install -y bind9 bind9utils bind9-doc dnsutils

编辑位于/etc/bind/named.conf.local的文件,并为正向和反向区域添加参数。

sudo vi /etc/bind/named.conf.local
###Forward Zone

zone "computingforgeeks.local" IN { //Domain name

     type slave; //Secondary Slave DNS

     file "/var/cache/bind/forward.computingforgeeks.local.db"; //Forward Zone Cache file

     masters { 172.16.10.2; }; //Master Server IP

};

####Reverse zone

zone "10.16.172.in-addr.arpa" IN { //Reverse lookup name. Should match your network in reverse order

     type slave; // Secondary/Slave DNS

     file "/var/cache/bind/reverse.computingforgeeks.local.db"; //Reverse Zone Cache file

     masters { 172.16.10.2; }; //Master Server IP

};

重新启动DNS服务。

sudo systemctl restart bind9

测试从DNS

要测试区域传输是否成功以及DNS是否在从属服务器上工作,您需要配置客户端主机并将该从属服务器用作DNS服务器。

对于Ubuntu:

sudo echo "nameserver 172.16.10.10" >> /etc/resolv.conf

之后, dig 用于检查DNS的命令。

[email protected]:~# dig www.computingforgeeks.local

; <<>> DiG 9.16.1-Ubuntu <<>> www.computingforgeeks.local
;; global options: +cmd
;; Got answer:
;; WARNING: .local is reserved for Multicast DNS
;; You are currently testing what happens when an mDNS query is leaked to DNS
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 24401
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
; COOKIE: b1e287dd1d118ad6010000005f8c88233ef562a7063e7a15 (good)
;; QUESTION SECTION:
;www.computingforgeeks.local.	IN	A

;; ANSWER SECTION:
www.computingforgeeks.local. 604800 IN	A	172.16.10.3

;; Query time: 0 msec
;; SERVER: 172.16.10.10#53(172.16.10.10)
;; WHEN: Sun Oct 18 18:23:31 UTC 2020
;; MSG SIZE  rcvd: 100

您可以使用 dig domain-name @<nameserver> 明确向从DNS发送查询时。

dig www.computingforgeeks.local @172.16.10.10

结果表明,从DNS可以处理查询。这意味着主从DNS设置可以按需工作。

结论

现在,您已经使用BIND9在Ubuntu 20.04上成功设置了从DNS服务器。在评论部分分享您的反馈。

其他指南:

使用MariaDB和PowerDNS-Admin在CentOS 8上安装PowerDNS

如何在Windows Server 2019中添加DNS前向查找区域

如何使用Prometheus和Grafana监视BIND DNS服务器

Sidebar