DNS服務器的搭建與使用詳解

        DNS(Domain Name System,域名系統),因特網上作爲域名和IP地址相互映射的一個分佈式數據庫,能夠使用戶更方便的訪問互聯網,而不用去記住能夠被機器直接讀取的IP數串。通過主機名,最終得到該主機名對應的IP地址的過程叫做域名解析(或主機名解析)。DNS協議運行在UDP協議之上,使用端口號爲53。


1.網絡環境圖示

wKiom1PiDGmBHhEXAADG_D0i-gQ559.jpg

2.分別在兩臺服務器ns1ns2上通過YUM安裝Bind軟件包


[root@ns1 ~]# yum install bind
[root@ns2 ~]# yum install bind

3.配置ns1的正反向區域配置文件

# 編輯named主區域配置文件,註釋不需要配置 
# 在/etc/named.rfc1912.zones文件中添加區域配置信息
[root@ns1 ~]# tail -8 /etc/named.rfc1912.zones 
zone "test.com" IN {
        type  master;
        file "test.com.zone";
};
zone "21.16.172.in-addr-arpa" IN {
        type master;
        file "172.16.21.zone";
};
#編輯test.com及"21.16.172.in-addr-arpa"的區域配置文件,內容如下
[root@ns1 ~]# cat /var/named/test.com.zone 
$TTL 3600
@IN SOA test.com. admin.test.com. (
2014080501
3H
15M
5D
1D)
@IN NSns1.test.com.
IN MX 10mail.test.com.
ns1IN A172.16.21.1
mailIN A172.16.21.100
wwwIN A172.16.21.10
[root@ns1 ~]# cat /var/named/172.16.21.zone 
$TTL 3600
@IN SOA test.com. admin.test.com. (
2014080501
3H
15M
5D
1D)
@IN NSns1.test.com.
IN MX 10 mail.test.com.
1IN PTRns1.test.com.
100IN PTRmail.test.com
10IN PTRwww.test.com

驗證:

wKioL1PiDYbjMJ_LAADYPBeQpTk910.jpg

4.ns2配置爲ns1的從服務器

#編輯主配置文件,將不需要選項加以註釋
#編輯/etc/named.rfc1912.zones,添加如下內容
[root@ns2 named]# tail -5 /etc/named.rfc1912.zones 
zone "test.com" IN {
type slave;
file "slave/test.com.zone";
masters { 172.16.21.1; };
};
 
#在ns1服務器上編輯/etc/named.rfc1912.zones文件,在區域test.com的配置中添加以下內容,用於支持區域傳送
allow-transfer { 172.16.21.2; };
#在ns1服務器上的test.com.zone配置文件中把ns2添加爲DNS服務器
@        IN  NS   ns2.test.com.
ns2     IN A    172.16.21.2

驗證:

wKiom1PiDG-CGx-CAAFfbS9-xog337.jpg

5.ns配置爲ns1tech子域的服務器,並將test.com.域的請求轉發到ns1服務器上

#在ns1的/var/named/test.com.zone文件中添加ns的膠水記錄
tech    IN NS   ns.tech.test.com.
ns.tech  IN A    172.16.21.2
 
#在ns2的/etc/named.rfc1912.zones中添加tech.test.com區域,內容如下
[root@ns2 named]# tail -5 /etc/named.rfc1912.zones
zone "tech.test.com" IN {
type master;
file "tech.test.com.zone";
};
#編輯tech.test.com.zone區域配置文件
[root@ns2 named]# vim tech.test.com.zone 
 
$TTL 3600
@       IN SOA   tech.test.com. admin.tech.test.com. (
                                2014080501      ; serial
                                        3H      ; refresh
                                        15M     ; retry
                                        5D      ; expire
                                        1D )    ; minimum
        IN  NS  ns
ns      IN  A   172.16.21.2
www     IN  A   172.16.21.22
#修改tech.test.com.zone 屬組爲named
chgrp named tech.test.com.zone

#在實驗過程當中遇到一個問題,父域的DNS總是無法解析子域中的名稱,錯誤信息如下

#Aug  4 22:09:15 wh1 named[3294]: error (no valid DS) resolving 'ns.tech.test.com/A/IN': 172.16.21.2#53

經過各種google,百度,終於找到解決方法

#####################################

        dnssec-enable no;

        dnssec-validation no;

#####################################

驗證:

wKioL1PiDYqi23luAAEXQJ1WWwc839.jpg

#現在雖然使用父域的DNS可以解析到子域的服務器地址,但是子域卻會去根下查找其父域的域名,由於沒有在互聯網上註冊,所以肯定無法查找到,所以需要在子域上配置子域轉發
#配置子域轉發,在/etc/named.rfc1912.zones中添加如下內容
[root@ns2 named]# tail -5 /etc/named.rfc1912.zones
zone "test.com" IN {
type forward;
forward only;
forwarders { 172.16.21.1; };
};
#重啓服務

驗證:

wKiom1PiDHLzBtSZAADhcIaBAD4574.jpg

6.ns1服務器配置爲視圖,根據用戶網絡地址選擇最優的服務器地址返回給客戶

#修改配置文件,將原有的區域配置均移動到view neiwang {  }; 中,並在其中添加:
match-clients { 172.16.0.0/16; };
#並在下方再定義一個新的視圖,內容如下:
view waiwang {
    match-clients { any; };
    zone "test.com" IN {
            type  master;
            file "test.com.zone.waiwang";
           allow-transfer { any; };
    };
 
};

驗證:

當客戶端IP172網段時,結果如下:

wKioL1PiDY3xNXg3AADPotk8MY0454.jpg

將客戶端IP改爲192.168網段,再進行解析,結果如下:

wKiom1PiDHSAQPyGAADAgksih8o585.jpg

可見,視圖功能已經配置成功,當我們在雙線接入服務器以及當服務器面向內網及外網時,也可以減輕DNS服務器爲外網解析其他域IP地址而消耗多餘的資源.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章