如何在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-transfer
和 also-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服務器