Linux網絡服務05-----DNS域名解析服務(二)

8、構建緩存域名服務器linux

緩存域名服務器一般架設在公司的局域網內,主要目的是提升域名解析的速度,減小對互聯網訪問的出口流量。數據庫

 

①. 創建主配置文件named.confvim

若使用範本文件建立named.conf,應注意修改或刪除默認的監聽設置、查詢控制,以便可以爲局域網段的客戶機提供服務。另外,logging、view配置部分通常用不到,能夠先註釋以免其干擾。緩存

[root@localhost ~]# vim /etc/named.conf服務器

options {網絡

   listen-on port 53 { 192.168.200.111; };   //監聽地址和端口dom

   directory       "/var/named";      //區域數據文件的默認存放位置oop

   dump-file       "/var/named/data/cache_dump.db"; //設置域名緩存數據庫文件位置測試

   statistics-file "/var/named/data/named_stats.txt";     //設置狀態統計文件位置spa

   memstatistics-file "/var/named/data/named_mem_stats.txt";

   allow-query     { 192.168.200.0/24; }; //容許使用本DNS服務的網段

   recursion yes;

};

zone "." IN {                    //正向「.」根區域

        type hint;               //類型爲根區域

        file "named.ca";          //區域數據文件爲named.ca

};

 上述配置內容中,dump-file、statistics-file、memstatistics-file等配置項用於指定緩存數據庫文件、狀態統計文件的位置。添加了「zone "." IN{ ……};」部分的根區域設置,儘管緩存服務器並無自主控制的區域數據,但能夠向根服務器進行迭代查詢,並將最終得到的解析結果反饋給客戶。

有時候爲了提升解析效率,也能夠不向根區域查詢,而是未來自客戶端的查詢請求轉發給國內電信運營商的DNS服務器(如北京的202.106.0.20、 202.106.148.1),緩存服務器收到返回的查詢結果後再傳遞給客戶端。只要去掉「zone "." IN{ ……};」的設置,並在全局配置中正確設置forwarders參數即可實現該功能

[root@localhost etc]# vim named.conf

options {

   ……                                      //省略部份內容

   forwarders{202.106.0.20;   202.106.148.1;};

};

 ②. 確認根域的區域數據文件named.ca

根區域的區域數據文件默認位於文件/var/named/named.ca中,該文件記錄了Internet中13臺根域服務器的域名和IP地址等相關信息。

[root@localhost ~]# ls /var/named/

data  dynamic  named.ca  named.empty  named.localhost named.loopback  slaves

 

③. 啓動named服務

執行「systemctl start named」命令,啓動named服務,並經過netstat命令確認named服務的端口監聽狀態。若服務啓動失敗或發現沒有正常監聽UDP53端口,能夠根據錯誤提示信息(或者/var/log/messages文件中的日誌記錄)排除錯誤,而後再重啓服務便可。

[root@localhost ~]# systemctl start named

[root@localhost ~]# systemctl enable named

Created symlink from /etc/systemd/system/multi-user.target.wants/named.service to /usr/lib/systemd/system/named.service.

[root@localhost ~]# netstat -anpu | grep named

udp        0      0 192.168.200.111:53      0.0.0.0:*                           63751/named

 

④. 驗證緩存域名服務器

在局域網內的客戶機中,將首選DNS服務器的地址設爲192.168.200.111.生效後,執行「nslookup

www.baidu.com」命令對其進行解析,驗證其是否可以得到該域名對應的IP地址信息

9、構建主域名服務器

 

下面首先講解使用BIND構建主域名服務器的基本步驟。

①. 確認本機的網絡地址、主機映射、默認DNS服務器地址。

主域名服務器的IP地址設爲192.168.200.1十一、主機名設爲ns1.crushlinux.com,經過修改網絡配置文件的方式進行。另外,爲了提升域名解析效率,建議將兩個DNS服務器的地址映射直接寫入到/etc/hosts文件中,並在/etc/resolv.conf文件中指定兩個DNS服務器的地址。

[root@localhost ~]# tail -2 /etc/hosts

192.168.200.111     nsl.crushlinux.com   nsl

192.168.200.112     ns2.crushlinux.com   ns2

[root@localhost ~]# tail -2 /etc/resolv.conf

nameserver    192.168.200.111

nameserver    192.168.200.112

②. 創建主配置文件named.conf

新建立的named.conf主配置文件,因爲只須要提供crushlinux.com域的正向解析和192.168.200.0/24網段的反向解析,所以相應地添加這兩個區域便可。根區域、迴環域等其餘配置內容能夠省略。

[root@localhost ~]# cd /etc/

[root@localhost etc]# vim named.conf

options {

   directory "/var/named";  //區域數據文件的默認存放位置

};

 

zone "crushlinux.com" IN {           //正向"crushlinux.com"區域

type master;                        //類型爲主區域

file "crushlinux.zheng"; //區域數據文件爲crushlinux. com. zone

allow-transfer { 192.168.200.112; };//容許下載的從服務器地址

};

 

zone "200.168.192.in-addr.arpa" IN {  //反向"192.168.200.0/24"區域

type master;

file "crushlinux.fan";

allow-transfer { 192.168.200.112; };//容許從服務器地址下載反向域數據

};

不須要創建從域名服務器時,上述配置內容中的「allow-transfer ……」部分能夠不添加,當不須要提供反向解析時,「zone "200.168.192.in-addr.arpa" IN { …… }」部分也能夠去掉。

 

③. 創建正向、反向區域數據文件。

根據named.conf中的zone區域設置,分別創建正向區域數據文件crushlinux.zheng.反向區域數據文件crushlinux.fan配置內容能夠參考區域數據文件/var/named/named.localhost。

[root@localhost ~]# cd /var/named/

[root@localhost named]# vim crushlinux.zheng

$TTL  86400     ;有效解析記錄的生存週期

@  IN SOA crushlinux.com. admin.crushlinux.com. ( ;SOA標記、域名、管理郵箱

   2011030501 ;更新序列號,能夠是10位之內的整數

   3H        ;刷新時間,從新下載地址數據的間隔

   15M       ;重試延時,下載失敗後的重試間隔

   1W        ;失效時間,超過該時間仍沒法下載則放棄

   1D        ;無效解析記錄的生存週期

)

@     IN NS    ns1.crushlinux.com.

      IN NS    ns2.crushlinux.com.

      IN MX 10 mail.crushlinux.com.

ns1   IN A     192.168.200.111

ns2   IN A     192.168.200.112

mail     IN A     192.168.200.112

www IN A     192.168.200.111

study  IN A     192.168.200.113

*     IN A     192.168.200.111

 

[root@localhost named]# vim crushlinux.fan

$TTL  86400

@  IN SOA crushlinux.com. admin.crushlinux.com. (

2011030501

   3H

   15M

   1W

   1D

)

@     IN NS    ns1.crushlinux.com.

      IN NS    ns2.crushlinux.com.

111   IN PTR    www.crushlinux.com.

112   IN PTR    mail.crushlinux.com.

113   IN PTR    study.crushlinux.com.

111   IN PTR    ns1.crushlinux.com.

112   IN PTR    ns2.crushlinux.com.

 

④. 啓動named服務或重載配置。

啓動named服務,若是以前named服務已經在運行,也能夠重啓服務或重載配置。

[root@localhost named]# chgrp named crushlinux.zhengcrushlinux.fan

[root@localhost ~]# named-checkconf /etc/named.conf

[root@localhost ~]# named-checkzone crushlinux.com /var/named/crushlinux.zheng

zone crushlinux.com/IN: loaded serial 2019010801

OK

[root@localhost ~]# named-checkzone crushlinux.com /var/named/crushlinux.fan

zone crushlinux.com/IN: NS 'ns1.crushlinux.com' has no address records (A or AAAA)

zone crushlinux.com/IN: NS 'ns2.crushlinux.com' has no address records (A or AAAA)

zone crushlinux.com/IN: not loaded due to errors.

 

[root@localhost named]# systemctl reload named

[root@localhost ~]# chown :named /var/named/crushlinux.*

[root@localhost ~]# named-checkconf -z /etc/named.conf

[root@localhost ~]# named-checkzone crushlinux.com /var/named/crushlinux.zheng

[root@localhost ~]# named-checkzone crushlinux.com /var/named/crushlinux.fan

[root@localhost ~]# systemctl restart named

iptables -F

systemctl stop firewalld

setenforce 0

⑤. 驗證主域名服務器。

客戶端將DNS服務器指向192.168.200.111 (主域名服務器的IP地址) ,使用nslookup命令驗證DNS查詢結果。例如,如下操做使用Windows 7客戶機分別驗證了正向解析、泛域名解析、反向解析的查詢結果。

C:\Users\Administrator> nslookup study.crushlinux.com      //驗證正向域名解析

服務器: nsl.crushlinux.com

Address: 192.168.200.111

名稱: Study.crushlinux.com

Address: 192.168.200.113

C:\Users\Administrator>nslookup www.crushlinux.com

服務器:  ns1.crushlinux.com

Address:  192.168.200.111

 

名稱:    www.crushlinux.com

Address:  192.168.200.111

 

C: \Users\Administrator> nslookup xxyyzz.crushlinux.com   //驗證泛域名解析

服務器: nsl.crushlinux.com

Address: 192.168.200.111.

名稱: xxyyzz.crushlinux.com

Address: 192.168.200.111

C:\Users\Administrator> nslookup192.168.200.112         //驗證反向域名解析

服務器: nsl.crushlinux.com

Address: 192.168.200.111

名稱: mai1.crushlinux.com

Address: 192.168.200.112

 

10、構建從域名服務器

①. 確認本機的網絡地址、主機映射、默認DNS服務器地址

從域名服務器IP地址設爲192.168.200.112,主機名設爲ns2.crushlinux.com,經過修改網絡配置文件的方式進行。另外,主機映射文件/etc/hostsDNS解析文件/etc/resolve.conf的內容與主服務器中的內容相同。

[root@localhost ~]# cat /etc/resolv.conf

# Generated by NetworkManager

nameserver 192.168.200.111

nameserver 192.168.200.112

[root@localhost ~]# cat /etc/hosts

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4

::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

192.168.200.111 ns1.crushlinux.com

192.168.200.112 ns2.crushlinux.com

 

②. 創建主配置文件named.conf

在從域名服務器中,named.conf文件的內容與主服務器的內容大部分相同,只是不須要再設置「allow-transfer ……」,更關鍵的一點是, zone部分的區域類型應設置爲「slave」,並添加「masters {  };」語句來指定主域名服務器的地址。

[root@localhost ~]# yum -y install bind

[root@localhost ~]# cd /etc/

[root@localhost etc]# vim named.conf

options {

   directory  "/var/named";

};

 

zone "crushlinux.com" IN {              //正向"crushlinux.com"區域

   type slave;                     //類型爲從區域

   masters { 192.168.200.111; };        //指定主服務器的IP地址

file "slaves/crushlinux.zheng";   //下載的區域文件保存到slave/crushlinux. com.

};

 zone "200.168.192.in-addr.arpa" IN {       //反向"173.16.16.0/24"區域

   type slave;

   masters { 192.168.200.111; }; 

   file " slave/Crushlinux.fan";

};

但須要注意的是,named服務默認以名爲「named」的用戶身份運行,所以要確認named用戶對存放目錄有寫入權限。

[root@localhost ~]# ls -l /var/named/slaves/

總用量 0

③. 啓動named服務,查看區域數據文件是否下載成功

從域名服務器中啓動named服務,若配置無誤,則named將會從主域名服務器中自動下載指定的區域數據文件,並保存到「slaves/」目錄下。另外,經過系統日誌文件/var/log/messages也能夠觀察到下載區域數據文件的過程。

[root@localhost ~]# systemctl start named

[root@localhost ~]# ls -l /var/named/slaves/

總用量 8

-rw-r--r-- 1 named named 483 1月   8 23:03 crushlinux.fan

-rw-r--r-- 1 named named 538 1月   8 23:03 crushlinux.zheng

iptables -F

systemctl stop firewalld

setenforce 0

④. 驗證從域名服務器

驗證從域名服務器時,只須要將客戶端的首選DNS服務器地址設爲192.168.200.112(從域名服務器的IP地址),使用nslookup命令進行正常測試便可。例如,如下操做是使用Linux客戶機的測試結果。

[root@localhost etc]# nslookup study.crushlinux.com

服務器:  mail.crushlinux.com

Address:  192.168.200.112

 

名稱:    study.crushlinux.com

Address:  192.168.200.113

 

[root@localhost etc]# nslookup 192.168.200.112

服務器:  mail.crushlinux.com

Address:  192.168.200.112

 

名稱:    mail.crushlinux.com

Address:  192.168.200.112

相關文章
相關標籤/搜索