DNS服務器搭建參考上一篇;
DNS主從複製,就是將主DNS服務器的解析庫複製傳送至從DNS服務器,進而從服務器就能夠進行正向、反向解析了。從服務器向主服務器更新查詢數據,保證數據一致性,此爲區域傳送。也能夠說,DNS區域傳送,就是DNS主從複製的實現方法,DNS主從複製是DNS區域傳送的表現形式。
DNS區域傳送的兩種方式:node
當一個新的DNS服務器添加到區域中並配置爲從DNS服務器時,它則會執行徹底區域傳送,在主DNS服務器上獲取完整的資源記錄副本;同時爲了保證數據同步,主域名服務器有更新時也會及時通知輔助域名服務器從而進行更新(增量區域傳送)。web
主服務器:192.168.2.72
從服務器: 192.168.2.104
兩臺服務器都提早安裝好named服務ubuntu
1.對主服務器/etc/named.conf配置進行修改,在options配置段內增長:服務器
notify yes;
2.在主服務器上正向、反向文件中增長從服務器的NS記錄
正向區域測試
@ NS dns2 dns2 A 192.168.2.104
反向區域日誌
IN NS dns2.magedu.com. 104 IN PTR dns2.magedu.com.
3.複製主服務器上配置文件至從服務器code
#scp 192.168.1.72:/etc/named.rfc1912.zones /etc/ #scp 192.168.1.72:/etc/named.conf /etc/
4.修改從服務器上/etc/named.rfc1912.zonesdns
zone "magedu.com" IN { type slave; masters { 192.168.2.72; }; file "magedu.com.zone"; }; zone "2.168.192.in-addr.arpa" IN { type slave; masters { 192.168.2.72; }; file "2.168.192.zone"; };
5.啓動從服務器DNS服務,查看日誌,及/var/named/目錄下是否已同步成功主服務器區域文件資源
1.修改主服務器正向解析文件,增長一條A記錄,==將序列號加1==後保存退出
2.reload主DNS服務器,查看日誌
主服務器日誌:cmd
Jan 20 02:12:55 agent named[35582]: zone 2.168.192.in-addr.arpa/IN: sending notifies (serial 2019011301) Jan 20 02:12:55 agent named[35582]: client 192.168.2.104#39669 (magedu.com): transfer of 'magedu.com/IN': AXFR-style IXFR started Jan 20 02:12:55 agent named[35582]: client 192.168.2.104#39669 (magedu.com): transfer of 'magedu.com/IN': AXFR-style IXFR ended Jan 20 02:12:56 agent named[35582]: client 192.168.2.104#34346: received notify for zone 'magedu.com'
從服務器日誌:
Jan 20 03:02:25 zabbix named[100773]: client 192.168.2.72#60290: received notify for zone 'magedu.com' Jan 20 03:02:25 zabbix named[100773]: zone magedu.com/IN: Transfer started. Jan 20 03:02:25 zabbix named[100773]: transfer of 'magedu.com/IN' from 192.168.2.72#53: connected using 192.168.2.104#39669 Jan 20 03:02:25 zabbix named[100773]: zone magedu.com/IN: transferred serial 2019012001 Jan 20 03:02:25 zabbix named[100773]: transfer of 'magedu.com/IN' from 192.168.2.72#53: Transfer completed: 1 messages, 10 records, 268 bytes, 0.001 secs (268000 bytes/sec) Jan 20 03:02:25 zabbix named[100773]: zone magedu.com/IN: sending notifies (serial 2019012001) Jan 20 03:02:25 zabbix named[100773]: client 192.168.2.72#4595: received notify for zone '2.168.192.in-addr.arpa' Jan 20 03:02:25 zabbix named[100773]: zone 2.168.192.in-addr.arpa/IN: notify from 192.168.2.72#4595: zone is up to date
3.在反向解析文件增長一條PTR記錄,一樣序列號加1
主DNS服務器日誌:
Jan 20 02:17:44 agent named[35582]: zone 2.168.192.in-addr.arpa/IN: sending notifies (serial 2019012001) Jan 20 02:17:44 agent named[35582]: client 192.168.2.104#57041 (2.168.192.in-addr.arpa): transfer of '2.168.192.in-addr.arpa/IN': AXFR-style IXFR started Jan 20 02:17:44 agent named[35582]: client 192.168.2.104#57041 (2.168.192.in-addr.arpa): transfer of '2.168.192.in-addr.arpa/IN': AXFR-style IXFR ended
從DNS服務器日誌:
Jan 20 03:07:38 zabbix named[100773]: client 192.168.2.72#17270: received notify for zone '2.168.192.in-addr.arpa' Jan 20 03:07:38 zabbix named[100773]: zone 2.168.192.in-addr.arpa/IN: Transfer started. Jan 20 03:07:38 zabbix named[100773]: transfer of '2.168.192.in-addr.arpa/IN' from 192.168.2.72#53: connected using 192.168.2.104#57041 Jan 20 03:07:38 zabbix named[100773]: zone 2.168.192.in-addr.arpa/IN: transferred serial 2019012001 Jan 20 03:07:38 zabbix named[100773]: transfer of '2.168.192.in-addr.arpa/IN' from 192.168.2.72#53: Transfer completed: 1 messages, 8 records, 242 bytes, 0.001 secs (242000 bytes/sec) Jan 20 03:07:38 zabbix named[100773]: zone 2.168.192.in-addr.arpa/IN: sending notifies (serial 2019012001)
4.經過dig命令驗證
root@node2:~# dig -t A ftp.magedu.com @192.168.2.104 ; <<>> DiG 9.11.3-1ubuntu1.2-Ubuntu <<>> -t A ftp.magedu.com @192.168.2.104 ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 2878 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 3 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 4096 ;; QUESTION SECTION: ;ftp.magedu.com. IN A ;; ANSWER SECTION: ftp.magedu.com. 600 IN A 192.168.2.1 ;; AUTHORITY SECTION: magedu.com. 600 IN NS dns2.magedu.com. magedu.com. 600 IN NS dns1.magedu.com. ;; ADDITIONAL SECTION: dns1.magedu.com. 600 IN A 192.168.2.72 dns2.magedu.com. 600 IN A 192.168.2.104 ;; Query time: 5 msec ;; SERVER: 192.168.2.104#53(192.168.2.104) ;; WHEN: Sun Jan 20 15:19:47 CST 2019 ;; MSG SIZE rcvd: 129
測試經過從服務器反向解析
root@node2:~# dig -x 192.168.2.1 @192.168.2.104 ; <<>> DiG 9.11.3-1ubuntu1.2-Ubuntu <<>> -x 192.168.2.1 @192.168.2.104 ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 14837 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 3 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 4096 ;; QUESTION SECTION: ;1.2.168.192.in-addr.arpa. IN PTR ;; ANSWER SECTION: 1.2.168.192.in-addr.arpa. 600 IN PTR ftp.magedu.com. ;; AUTHORITY SECTION: 2.168.192.in-addr.arpa. 600 IN NS dns1.magedu.com. 2.168.192.in-addr.arpa. 600 IN NS dns2.magedu.com. ;; ADDITIONAL SECTION: dns1.magedu.com. 600 IN A 192.168.2.72 dns2.magedu.com. 600 IN A 192.168.2.104 ;; Query time: 2 msec ;; SERVER: 192.168.2.104#53(192.168.2.104) ;; WHEN: Sun Jan 20 15:24:38 CST 2019 ;; MSG SIZE rcvd: 151
當一個域很大時,並且還有上下層關係,若是全部的記錄變動都由某一臺服務來管理的話會很不方便。所以DNS也會域和子域,上層DNS能夠將子域的管理受權給子域中的NDS服務器來管理記錄的變動,這種作法叫子域受權。
規劃以下:
父域爲:magedu.com
NS地址:ns1.magedu.com
子域爲:dev.magedu.com
NS地址爲:ns1.dev.magedu.com
只需在區域解析庫文件中添加下層DNS服務器的NS與A記錄便可
dev.magedu.com. NS dns1.dev.magedu.com. dns1.dev.magedu.com. A 192.168.2.165
子域須要有完整的區域相關配置
在/etc/named.rfc1912.zones中加入子域定義
zone "dev.magedu.com" IN { type master; file "dev.magedu.com.zone"; };
建立dev.magedu.com.zone區域解析文件
$TTL 600 @ IN SOA dns1.dev.magedu.com. admin.dev.magedu.com. ( 2019012002; 2H; 15M; 1W; 1D); @ IN NS dns1 dns1 IN A 192.168.2.165 www IN A 192.168.2.18
在子域DNS服務器添加指向父域的轉發器
//將查詢父域的請求轉發給父域DNS zone "magedu.com" IN { type forward; forward only; forwarders { 192.168.2.72; }; };
配置完成重啓服務。
經過dig命令測試解析結果:
經過子域解析 www.dev.magedu.com
root@node2:~# dig -t A www.dev.magedu.com @192.168.2.165 ; <<>> DiG 9.11.3-1ubuntu1.2-Ubuntu <<>> -t A www.dev.magedu.com @192.168.2.165 ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 36922 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 4096 ;; QUESTION SECTION: ;www.dev.magedu.com. IN A ;; ANSWER SECTION: www.dev.magedu.com. 600 IN A 192.168.2.18 ;; AUTHORITY SECTION: dev.magedu.com. 600 IN NS dns1.dev.magedu.com. ;; ADDITIONAL SECTION: dns1.dev.magedu.com. 600 IN A 192.168.2.165 ;; Query time: 17 msec ;; SERVER: 192.168.2.165#53(192.168.2.165) ;; WHEN: Sun Jan 20 16:09:31 CST
經過父域解析 www.dev.magedu.com
root@node2:~# dig -t A www.dev.magedu.com @192.168.2.72 ; <<>> DiG 9.11.3-1ubuntu1.2-Ubuntu <<>> -t A www.dev.magedu.com @192.168.2.72 ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 61135 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 4096 ;; QUESTION SECTION: ;www.dev.magedu.com. IN A ;; ANSWER SECTION: www.dev.magedu.com. 600 IN A 192.168.2.18 ;; AUTHORITY SECTION: dev.magedu.com. 600 IN NS dns1.dev.magedu.com. ;; Query time: 318 msec ;; SERVER: 192.168.2.72#53(192.168.2.72) ;; WHEN: Sun Jan 20 16:19:13 CST 2019 ;; MSG SIZE rcvd: 82
經過子域DNS服務器解析父域的A記錄
root@node2:~# dig -t A www.magedu.com @192.168.2.165 ; <<>> DiG 9.11.3-1ubuntu1.2-Ubuntu <<>> -t A www.magedu.com @192.168.2.165 ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 47969 ;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 13, ADDITIONAL: 27 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 4096 ;; QUESTION SECTION: ;www.magedu.com. IN A ;; ANSWER SECTION: www.magedu.com. 301 IN CNAME web.magedu.com. web.magedu.com. 301 IN A 192.168.2.21 ;; Query time: 2 msec ;; SERVER: 192.168.2.165#53(192.168.2.165) ;; WHEN: Sun Jan 20 16:21:30 CST 2019 ;; MSG SIZE rcvd: 873