一.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文件。

