★配置DNS轉發
我之前配置的DNS服務只能解析我定義過的zone,而沒有定義的zone是不能解析的,因此存在着很大的弊端。但是配置了DNS轉發之後,就可以順利解析互聯網上了其他域名了,當然,解析此域名的前提是這個域名在互聯網中確實存在並且正在使用,也就是說這個域名已經被某個DNS服務器解析了。
我們可以先試一下
[root@yue named]# dig @127.0.0.1 www.qq.com
; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.30.rc1.el6_6.1 <<>> @127.0.0.1 www.qq.com
; (1 server found)
;; global options: +cmd
;; connection timed out; no servers could be reached <== 不能解析
接下來開始配置DNS轉發
編輯主配置文件 /etc/named.conf
在options{}中加入下面的內容:
forward first;
forwarders { 8.8.8.8; };
這兩行的內容就是用來配置DNS轉發的,我們配置的DNS服務器不能解析的域名會轉發到8.8.8.8這個DNS服務器上去解析。
我們測試一下
重啓named服務
在此解析www.qq.com
[root@yue named]# dig @127.0.0.1 www.qq.com
; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.30.rc1.el6_6.1 <<>> @127.0.0.1 www.qq.com
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 28726
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;www.qq.com. IN A
;; ANSWER SECTION:
www.qq.com. 299 IN A 119.188.89.220
www.qq.com. 299 IN A 119.188.89.202
;; Query time: 2166 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Wed Feb 4 07:07:14 2015 <== 現在可以成功解析了
;; MSG SIZE rcvd: 60
★配置主從
我們再開一臺虛擬機作爲從,並安裝bind
我們要將主上的三個配置文件/etc/named.conf, /var/named/localhost.zone, /var/named/named.local 拷貝到從上去。我們需要先安裝scp命令:yum install -y openssh-clients
注意:我們要在兩臺虛擬機上都安裝scp命令纔可以正常傳輸,否則會報錯。
scp /etc/named.conf 192.168.16.106:/etc/
scp /var/named/localhost.zone /var/named/named.local 192.168.16.106:/var/named/
在從上修改一下拷貝過來的/etc/named.conf文件
options {
directory "/var/named"; <== 可以把之前做DNS轉發時添加的內容刪去
}; 如果從上刪去了,主要也要相應改動
zone "." IN {
type hint;
file "named.ca";
};
zone "localhost" IN { <== 橙色內容是不需要改動的
type master;
file "localhost.zone";
};
zone "0.0.127.in-addr.arpa" IN {
type master;
file "named.local";
};
zone "hera.com" IN { <== 標粗的部分爲要改動的內容
type slave; <== 設置爲從
file "slaves/hera.com.zone"; <== 我們之前拷貝時並沒有拷貝hera相關文件,在從上可以自動生成
masters { 192.168.16.100; }; <== 主的ip
};
zone "16.168.192.in-addr.arpa" IN {
type slave;
file "slaves/192.168.zone";
masters { 192.168.16.100; };在從上生成rndc.key:
rndc-confgen -r /dev/urandom -a
更改key的屬組:
chown named:named /etc/rndc.key
在從上啓動named服務:
/etc/init.d/named start
啓動成功後會在 /var/named/下生成一個slaves目錄,這個目錄下會有192.168.zone, hera.com.zone這兩個文件,內容是和主上的一樣的
[root@yue etc]# ls !$/slaves
ls /var/named/slaves
192.168.zone hera.com.zone在從上進行測試:
[root@yue etc]# dig @127.0.0.1 www.hera.com
; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.30.rc1.el6_6.1 <<>> @127.0.0.1 www.hera.com
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 26741
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1
;; QUESTION SECTION:
;www.hera.com. IN A
;; ANSWER SECTION:
www.hera.com. 600 IN A 192.168.16.100
;; AUTHORITY SECTION:
hera.com. 600 IN NS ns.hera.com.
;; ADDITIONAL SECTION:
ns.hera.com. 600 IN A 192.168.16.100
;; Query time: 1 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Thu Feb 5 01:07:57 2015
;; MSG SIZE rcvd: 79
★測試主從同步
修改主上的配置文件(/var/named/hera.com.zone)後要改一下第三行的數字串,而且這個數字串只能改大不能改小,只有這個數字變化了,纔可以讓從自動跟着變化
編輯配置文件 vim /var/named/hera.com.zone
在最後添加一行內容,並修改第三行的數字串2015020401
test IN A 1.1.1.1
重啓named服務:/etc/init.d/named restart
通過測試我們發現從同步主上的數據更改會有延遲,我測試的時候即使重啓了從上的named服務hera.com.zone文件中還是沒有及時顯示我們之前添加的test
爲了避免從同步的特別慢,我們可以在主上做一個特殊操作
編輯主上的/etc/named.conf 文件,在hera.com的zone中加入下面兩行內容
notify yes; <== 此兩行內容的作用相當於主把做的相關改動主動推送
also-notify { 192.168.16.106; }; 到從上去這時候我們再進行測試,會發現從這時候從同步的很快了
dnspod