CentOS 6.4 x64構建DNS服務器(主、從DNS Server)

前言數據庫

《CentOS 6.4 x64構建DNS服務器(主、從DNS Server)》發表於51CTO上來,一來,因爲Q友們強烈建議發到51CTO博客上來;二來,我本身在配置此文時,也碰到「很多問題」,見招拆招!共同窗習,互相借鑑之。CentOS 6.x與CentOS 5.x確實有點「Beyond」(諧音:不同的),博友們,本身試試 :)vim

基本的網絡環境規劃爲以下:緩存

(1)主域名服務器安全

IP地址: 192.168.1.228/24    主機名:ns1.beyond.com服務器

(2)從域名服務器網絡

IP地址: 192.168.1.229/24     主機名:ns2.beyond.com   dom

通常中型、大型企業少不了DNS服務器(主DNS、從DNS服務器)、DHCP服務器(主DHCP、從DHCP服務器)、FTP服務器,既然是大、中型企業,服務器和客戶端PC也比較多,那通常是域環境(單域或多域)等。分佈式

PS: 爲了準確清楚、瞭解Linux(如:RedHat、SuSE、Debian等)發行版本信息,常常用以下命令查詢:ide

p_w_picpath

1、DNS相關的基礎知識工具

一、DNS服務器的主要做用:

   DNS服務器的主要做用: 維護一個主機域名與IP地址的對應關係數據庫,在須要時爲客戶端網絡程序提供2個方面的地址解析功能。

(1)正向解析:將主機的名稱(域名)解析爲對應的IP地址。 

       域名的正向解析是DNS服務器最基本的功能,也是最經常使用的功能!

(2)反向解析:把主機的IP地址解析爲對應的域名。

       域名的反向解析不是很經常使用,倒是DNS服務器不可缺乏的功能,如 郵件服務 可能會用到域名反向解析結果實施訪問控制策略;若缺乏對應的反向解析記錄可能會被列入「黑名單」中,致使接收不到郵件!PS:我就碰到過,後來我養成一個習慣:構建DNS服務器,通常而言,是會配置反向解析的。

二、DNS系統的結構:

    爲了查詢域名的效率高,故Internet中的域名系統採用了分佈式的數據庫方式,把不一樣的範圍內的域名和IP地址對應關係交給不一樣的DNS服務器管理(受權)。分佈數據庫採用樹型結構,全世界的域名系統具備惟一的「根」。(惋惜呀……咱們不能《把「根」留住》---在中國!)以下圖所示:

p_w_picpath

三、DNS系統的類型:

     常見的DNS類型有:

(1)緩存域名服務器

       也叫「惟高速緩存服務器」,主要功能提供域名解析記錄的緩存。不包含註冊的DNS區域設置,只對用戶查詢過的域名解析記錄進行緩存,當用戶首次進行某個域名的查詢時,緩存服務器經過向根域服務器及其餘DNS服務器查詢並將結果保存在地緩存中。可提升經常使用域名的查詢速度,所以特別適合在企業局域網內部使用。

(2)主域名服務器

       主域名服務器是惟一的,在Internet中。其管理的域名解析記錄具備權威性!主域名服務器須要在本地設置所管理區域的地址數據庫文件。

(3)從域名服務器

      也叫輔助域名服務器,主要功能是提供備份,一般與主域名服務器同時提供服務,對於客戶端而言,主、從域名服務器提供徹底相同的功能!可是從DNS Server提供的地址解析記錄並不禁本身決定的,她的命令運掌握在主域名服務器的手中。她適應「環境」的能力特強:她的地址數據庫隨着主域名服務器的地址數據庫變化而變化!

2、BIND域名服務基礎

一、安裝BIND軟件

   因爲是用在生產環境中,以安全穩定爲主!並且採用的是CentOS6.4 64bit的OS,故就用光盤中的BIND軟件安裝。

先來查看哈,以下圖所示:

p_w_picpath

PS : 上圖中主要的軟件包做用以下:

(1)bind : 提供了域名服務的主要程序及相關文件;

(2)bind-utils : 提供了對DNS服務器的測試工具程序(如:nslookup、dig etc)

(3)bind-chroot : 爲bind提供一個假裝的根目錄以加強安全性;

    (注:新版本CentOS 6.x 已將chroot所需使用的目錄,透過mount --bind的功能進行目錄

     連接了,故在CentOS 6.x中,根本無須切換到/var/named/chroot/了只需按常規目錄操

     做 便可!)請cat /etc/sysconfig/named目錄,其下是否是有「ROOTDIR="/var/named/chroot

(4)caching-nameserver : 爲配置BIND做爲緩存域名服務器提供必要的默認配置文件,這些文件在配置主、從域名服務器時也可做爲參考。(CentOS 6.x後沒有caching-nameserver包了

//安裝主程序包

[root@ns1 Packages]# rpm -ivh bind-9.8.2-0.17.rc1.el6.x86_64.rpm
[root@ns1 Packages]# rpm -ivh bind-chroot-9.8.2-0.17.rc1.el6.x86_64.rpm
[root@ns1 Packages]# rpm -ivh bind-utils-9.8.2-0.17.rc1.el6.x86_64.rpm

//查看哈……

[root@ns1 ~]# rpm -qa bind*
bind-chroot-9.8.2-0.17.rc1.el6.x86_64
bind-libs-9.8.2-0.17.rc1.el6.x86_64
bind-utils-9.8.2-0.17.rc1.el6.x86_64
bind-9.8.2-0.17.rc1.el6.x86_64
[root@ns1 ~]#

2. 簡單的方法,纔是最好的方法!通常而言,DNS服務器配置流程主要分爲3步:

(1)創建主配置文件named.conf,即其主要是設置DNS服務器能管理哪些區域(zone)以及對應文件名和存儲路徑;(/etc/named.conf/etc/named.rfc1912.zones)

(2)創建區域文件,依據named.conf文件中指定的路徑來創建區域文件,此文件主要記錄該區域內的資料記錄;(/var/named/fjian.com/etc/named/named.192.168.1.rev)

(3)從新加載配置文件或重啓named服務使用配置生效。

(chkconfig named  on、chkconfig  --add named、service  named start/restart etc)

下面詳細配置:

(1)創建主配置文件named.conf,即其主要是設置DNS服務器能管理哪些區域(zone)以及對應文件名和存儲路徑; 

[root@ns1 ~]# vim  /etc/named.conf
10 options {
11         listen-on port 53 { any; };
12       //listen-on-v6 port 53 { ::1; };  //註銷此行!
17         allow-query     { any; };
:wq 回車!
[root@ns1 ~]# cd /etc/
[root@ns1 etc]# cp -p named.rfc1912.zones   named.rfc1912.zones.bak
[root@ns1 etc]# vim named.rfc1912.zones
//先按shift + G 而後,添加以下內容:
zone "fjian.com" IN {   //設置正向DNS區域名稱
type master;
file "fjian.com";   //設置對應的正向區域地址數據庫文件
allow-transfer  {192.168.1.229;};//容許下載區域數據庫信息的從域名服務器IP地址
};
zone "1.168.192.in-addr.arpa" IN {    //設置反向DNS區域名稱
type master;
file "192.168.1.rev";     //設置對應的反向區域地址數據庫文件
allow-transfer  {192.168.1.229;};
};

//檢查配置文件:      

named-checkconf

(2)創建區域文件,依據named.conf文件中指定的路徑來創建區域文件,此文件主要記錄該區域內的資料記錄;

//正向解析配置文件:      

[root@ns1 ~]# cd /var/named/
[root@ns1 named]# vim fjian.com
$TTL    86400
@               IN SOA  @         root (
2013051800      ; serial (d. adams)
28800           ; refresh
14400           ; retry
3600000         ; expiry
86400 )         ; minimum
@               IN NS           ns1.fjian.com.
IN NS           ns2.fjian.com.
IN A             192.168.1.228
IN MX 5         mail.fjian.com.
ns1             IN A             192.168.1.228
ns2             IN A             192.168.1.229
mail             IN A             192.168.1.228
www             IN A            192.168.1.228

//檢查正向區域配置文件:    

[root@ns1 ~]# named-checkzone fjian.com.  /var/named/fjian.com

//反向解析配置文件:     

[root@ns1 named]# vim 192.168.1.rev
vim 192.168.1.rev
$TTL    86400
@       IN      SOA     localhost. root.localhost.  (
2013051800     ; Serial
28800          ; Refresh
14400          ; Retry
3600000        ; Expire
86400 )        ; Minimum
@         IN      NS      ns1.fjian.com.
IN      NS       ns2 .fjian.com.
228       IN      PTR     ns1.fjian.com.
229       IN      PTR     ns2.fjian.com.
@         IN      MX 5    mail.fjian.com.
228       IN      PTR     mail.fjian.com.
228       IN      PTR     www.fjian.com.

//檢查反向區域配置文件:   

[root@ns1 named]#named-checkzone  1.168.192.in-addr.arpa.   /var/named/192.168.1.rev

3)從新加載配置文件或重啓named服務使用配置生效

[root@ns1 ~]#chkconfig  --list  named
[root@ns1 ~]#chkconfig  named on
[root@ns1 ~]#chkconfig  --list named
[root@ns1 ~]#chkconfig  --add named
[root@ns1 ~]#service  named restart

3.   驗證可否解析,以下圖所示:

[root@ns1 etc]# service named restart
Stopping named: .                                          [  OK  ]
Starting named:                                            [  OK  ]
[root@ns1 etc]# nslookup
> 192.168.1.228
Server:        192.168.1.228
Address:    192.168.1.228#53
228.1.168.192.in-addr.arpa    name = ns1.fjian.com.
228.1.168.192.in-addr.arpa    name = mail.fjian.com.
228.1.168.192.in-addr.arpa    name = www.fjian.com.
> ns1.fjian.com
Server:        192.168.1.228
Address:    192.168.1.228#53
Name:    ns1.fjian.com
Address: 192.168.1.228
> mail.fjian.com
Server:        192.168.1.228
Address:    192.168.1.228#53
Name:    mail.fjian.com
Address: 192.168.1.228
> www.fjian.com
Server:        192.168.1.228
Address:    192.168.1.228#53
Name:    www.fjian.com
Address: 192.168.1.228
> ns2.fjian.com
Server:        192.168.1.228
Address:    192.168.1.228#53
Name:    ns2.fjian.com
Address: 192.168.1.229
>

p_w_picpath

 

2、構建從DNS服務器

 

從域名服務器做爲主服務器的冗餘備份,與主域名服務器一塊兒,同時提供本域內主機名與IP地址的解析,從域名服務器的地址數據庫需從主域名服務器中按期更新。

(1)創建主配置文件named.conf,即其主要是設置DNS服務器能管理哪些區域(zone)以及對應文件名和存儲路徑;

[root@ns2 ~]# vim  /etc/named.conf
10 options {
11         listen-on port 53 { any; };
12       //listen-on-v6 port 53 { ::1; };  //註銷此行!
17         allow-query     { any; };
:wq 回車!
[root@ns2 ~]# cd /etc/
[root@ns2 etc]# cp -p named.rfc1912.zones   named.rfc1912.zones.bak
[root@ns2 etc]# vim named.rfc1912.zones
//先按shift + G 而後,添加以下內容:
zone "fjian.com" IN {
type slave;
masters {192.168.1.228;};
file "slaves/fjian.com";
};
zone "1.168.192.in-addr.arpa" IN {
type slave;
masters {192.168.1.228;};
file "slaves/192.168.1.rev";
};
:wq  回車

2. 執行以下操做:

[root@ns2 ~]# chkconfig --list named
named              0:off    1:off    2:off    3:off    4:off    5:off    6:off
[root@ns2 ~]# chkconfig named on
[root@ns2 ~]# chkconfig --list named
named              0:off    1:off    2:on    3:on    4:on    5:on    6:off
[root@ns2 ~]# chkconfig --add named
[root@ns2 ~]# service named restart
Stopping named:                                            [  OK  ]
Starting named:                                            [  OK  ]

3. 數據同步測試

通過上面重啓從域名服務器named服務,使其與主域名服務器數據同步,成功後,在系統日誌文件中能夠看到下載區域數據庫文件的記錄,在「/var/named/chroot/var/named/slaves/」 (/var/named/slaves/)目錄中也能夠看到自動保存的區域數據庫文件。

[root@ns2 ~]# tail /var/log/messages
May 19 21:56:49 ns2 named[2123]: zone 1.0.0.127.in-addr.arpa/IN: loaded serial 0
May 19 21:56:49 ns2 named[2123]: zone 1.168.192.in-addr.arpa/IN: loaded serial 2013051800
May 19 21:56:49 ns2 named[2123]: zone 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa/IN: loaded serial 0
May 19 21:56:49 ns2 named[2123]: zone fjian.com/IN: loaded serial 2013051800
May 19 21:56:49 ns2 named[2123]: zone localhost.localdomain/IN: loaded serial 0
May 19 21:56:49 ns2 named[2123]: zone localhost/IN: loaded serial 0
May 19 21:56:49 ns2 named[2123]: managed-keys-zone ./IN: loaded serial 3
May 19 21:56:49 ns2 named[2123]: running
May 19 21:56:49 ns2 named[2123]: zone fjian.com/IN: sending notifies (serial 2013051800)
May 19 21:56:49 ns2 named[2123]: zone 1.168.192.in-addr.arpa/IN: sending notifies (serial 2013051800)
//用ll 查看/var/named/slaves/下,是否有自動保存的區域數據庫文件
[root@ns2 ~]# ll /var/named/slaves/
total 8
-rw-r--r--. 1 named named 462 May 19 21:45 192.168.1.rev
-rw-r--r--. 1 named named 450 May 19 21:45 fjian.com
[root@ns2 ~]#

4. 驗證從域名服務器

       將客戶端PC的首選DNS設置從域名服務器的IP地址(192.168.1.229),再以下圖所示操做:

p_w_picpath

PS: 《CentOS 6.4 x64構建DNS服務器(主、從DNS Server)》至此完畢!其實還有《構建分離解析的域名服務器》也比較實用!!有心的朋友本身研究哈!

相關文章
相關標籤/搜索