一.DNS主從的理解
主從服務器,在一開始的理解中,以為是主的dns服務器掛掉后,(dns服務自動轉向輔助dns服務器),客戶端還能繼續解析。事實貌似不是這樣的。當我把主dns停掉的時候,客戶端只設一個dns服務器后,事實證明,解析是失敗的。但當我將客戶端的dns服務器切換到從dns的ip上后,解析是正常的。說明,從服務器只是同步了主服務器解析域的文件。
本案例的環境:
系統:Centos6.5
IP: 主DNS 192.168.40.105 從DNS 192.168.40.170
iptables:關閉狀態。
二.主DNS服務器的搭建配置
主的dns服務器在博客里的上一篇文章里有介紹。請點此:主DNS服務器的搭建。
這里只說主DNS服務器配置文件的修改部分:
1 vim /var/named/chroot/etc/named.rfc1912.zones 2 ~~~ 3 4 zone "test.com" IN { 5 type master; 6 file "named.test.com"; 7 allow-update {none;}; 8 allow-transfer {192.168.40.170;}; 9 notify yes; 10 }; 11 12 zone "40.168.192.in-addr.arpa" IN { 13 type master; 14 file "named.192.168.40"; 15 allow-update {none;}; 16 allow-transfer {192.168.40.170;}; 17 notify yes; 18 };
另外,上篇文章中,有需要對DNS服務器做一些優化和問題的修改的部分,如下所示:
1 vim /var/named/chroot/etc/named.conf 2 ~~~ 3 options { 4 5 allow-query { any; }; 6 recursion yes; 7 forwarders { 114.114.114.114; }; (此處,做的是dns轉發,當本地服務器無法解析的,如公網上的域名時,轉發到114.114.114.114上) 8 }; 9 10 ~~~
修改完成后,重啟主DNS的 守護進程named。
三.從DNS服務器的搭建配置
1.先更改yum源,之后安裝開發工具套件,最后安裝bind 軟件。
1 wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo 2 3 yum -y groupinstall "development tools" 4 5 yum -y install bind*
2.之后修改bind 的主配置文件,/var/named/chroot/etc/named.rfc1912.zones
1 vim /var/named/chroot/etc/named.rfc1912.zones 2 3 zone "test.com" IN { 4 type slave; #設置dns類型為從服務器 5 file "slaves/named.test.com"; #‘從服務器’同步從主dns服務器上存放域名文件的位置/var/named/chroot/var/named/slaves/ 6 masters { 192.168.40.105; }; #設置主dns服務器的地址 7 allow-update { none; }; 8 }; 9 10 zone "40.168.192.in-addr.arpa" IN { 11 type slave; 12 file "slaves/named.192.168.40"; 13 masters { 192.168.40.105; }; 14 allow-update { none; }; 15 };
3.單純的修改這里,客戶端並還不能解析.因為還有一個很重要的一個地方需要配置.(在這里一直出錯,當主的停掉后,沒改這里之前,客戶端是一直無法解析。)
1 vim vim /var/named/chroot/etc/named.conf,修改以下選項 2 3 options { 4 5 listen-on port 53 { 192.168.40.170; }; #這里要寫從服務器的ip地址。 6 allow-query { any; }; 7 8 };
4.重啟named服務。還有一個關鍵的,在測試過程中,記得關閉iptables,或者將dns服務端口追加到防火牆規則中。
四.總結測試
1.現在可以關閉主DNS,然后,客戶端將dns修改為從dns服務器的ip,檢查域名解析是否正常。
2.如果遇到某台dns服務器啟動正常,但是解析不正常后,請檢查系統日志,/var/log/messages文件。