天天看點

Linux網絡服務_主從DNS配置示例_Redhat Enterprise 5.9

Linux網絡服務_主從DNS配置示例_Redhat Enterprise 5.9

一:DNS伺服器搭建

二:從DNS伺服器搭建

三:配置DNS伺服器常見錯誤

環境:win7下vmware、server1為主DNS伺服器、server2為從DNS伺服器、client1為客戶機

一:DNS伺服器搭建:

搭建DNS伺服器,需要安裝三個軟體:bind、bind-chroot、caching-nameserver

注:

1,bind-chroot軟體包安裝之後,配置檔案的路徑将發生改變:

/etc/named.conf修改為/var/named/chroot/etc/named.conf

/etc/named/修改為/var/named/chroot/etc/named/

2,caching-nameserver軟體包安裝之後,在配置檔案目錄/var/named/chroot/etc/目錄下,會有配置檔案named.conf(本身不存在)的模闆檔案named.caching-nameserver.conf

3,在複制named.conf模闆檔案檔案的時候,需要加-p參數,權限不對,可能導緻服務無法啟動!

第一步:首先,檢視三個軟體包是否安裝

[root@server1 ~]# rpm -q bind bind-chroot caching

package bind is not installed

package bind-chroot is not installed

package caching is not installed

第二步:挂載CD光牒,安裝三個軟體包,由于沒有依賴關系,是以直接使用rpm -ivh安裝

[root@server1 ~]# rpm -ivh /misc/cd/Server/bind-9.3.6-20.P1.el5_8.5.x86_64.rpm

/misc/cd/Server/bind-chroot-9.3.6-20.P1.el5_8.5.x86_64.rpm /misc/cd/Server/caching-nameserver-9.3.6-20.P1.el5_8.5.x86_64.rpm

warning:/misc/cd/Server/bind-9.3.6-20.P1.el5_8.5.x86_64.rpm: Header V3 DSA signature:NOKEY, key ID 37017186

Preparing...                                                      ########################################### [100%]

 1:bind                                                         ########################################### [ 33%]

 2:bind-chroot                                                  ########################################### [ 67%]

 3:caching-nameserver                                           ########################################### [100%]

注:上面的warning資訊是由于沒有安裝系統公鑰檔案造成的,可以使用:

[root@client1 ~]# find / -name *RPM*rele* //查詢公鑰位置

/etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

/misc/cd/RPM-GPG-KEY-redhat-release

/media/RPM-GPG-KEY-redhat-release

[root@client1 ~]#

[root@client1 ~]# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release //安裝系統公鑰

第三步:修改主配置檔案named.conf并驗證其完整性

安裝完bind-chroot軟體之後,named服務的配置檔案就指定放在/var/named/chroot/這個目錄下;

主配置檔案位置在:/var/named/chroot/etc/目錄下的:

named.conf和named.rfc1912.zones

[root@server1 etc]# pwd

/var/named/chroot/etc

[root@server1 etc]# cp -p named.caching-nameserver.conf named.conf

[root@server1 etc]# ll named.caching-nameserver.conf named.conf

-rw-r----- 1 root named 1230 2012-10-10named.caching-nameserver.conf

-rw-r----- 1 root named  605 03-03 11:06 named.conf

[root@server1 etc]# vim named.conf

[root@server1 etc]# cat named.conf

options {

      listen-on port 53 { 192.168.1.1;};        //監聽該ip位址的53端口

      listen-on-v6 port 53 { ::1; };

      directory      "/var/named";

      dump-file      "/var/named/data/cache_dump.db";

      statistics-file "/var/named/data/named_stats.txt";

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

      allow-query     { any; };         //允許對那些主機進行解析,any為所有

      allow-query-cache { any; };       //和上一句是一樣的,指定為any或者網段或ip位址

};

logging {

      channel default_debug {

               file"data/named.run";

               severity dynamic;

      };

view localhost_resolver {

      match-clients      { any; };

      match-destinations { any; };

      recursion yes;

      include "/etc/named.rfc1912.zones";    //指定配置檔案包換有named.rfc...

[root@server1 etc]# tail named.rfc1912.zones  //下面的内容為添加的字段,指定正反檔案位置

zone"tarena.com" IN {

       type master;

       file "tarena.com.zone";      //指定正向解析檔案為tarena.com.zone

zone"1.168.192.in-addr.arpa" IN {

       file "tarena.com.zero";      //指定反向解析檔案為tarena.com.zero

[root@server1 etc]# named-checkconf named.conf     //如果有錯誤會提示,沒錯誤不提示

第四步:修改區域檔案并驗證其完整性

[root@server1 etc]# cd../var/named/      //切換到/var/named/chroot/var/named目錄

[root@server1 named]# pwd

/var/named/chroot/var/named

[root@server1 named]# cp -p named.local tarena.com.zone      //以named.local為模闆建立檔案

[root@server1 named]# vimtarena.com.zone

[root@server1 named]# cattarena.com.zone

$TTL   86400

@      IN      SOA     tarena.com.  root.tarena.com.  (

                                    1997022700 ; Serial        //時間和版本号,十位數

                                    28800      ; Refresh

                                    14400      ; Retry

                                    3600000    ; Expire

                                     86400)    ; Minimum

IN      NS     dns1.tarena.com.

dns1   IN      A       192.168.1.1

www    IN      A       192.168.1.80

www    IN      A       192.168.1.90

www    IN      A       192.168.1.100     //一個域名對應多個ip實作負載均衡

mail   IN      A       192.168.1.81

bbs    IN      A       192.168.1.82

blog   IN      CNAME   bbs      //定義bbs.tarena.com的别名

*      IN      A       192.168.1.80      //定義泛查詢位址為192.168.1.80

[root@server1 named]# cp -p tarena.com.zone tarena.com.zero

[root@server1 named]# vim tarena.com.zero

[root@server1 named]# cat tarena.com.zero

@      IN      SOA     tarena.com.   root.tarena.com.  (

                                     1997022700; Serial        //

      IN      NS      dns1.tarena.com.

1      IN      PTR     dns.tarena.com.

80     IN      PTR     www.tarena.com.

81     IN      PTR     mail.tarena.com.

82     IN      PTR     bbs.tarena.com.

82     IN      PTR     blog.tarena.com.

[root@server1 named]# ll tarena.com.z*         //需要保證權限正确,否則無法啟動named服務

-rw-r----- 1 root named 533 03-03 14:45 tarena.com.zero

-rw-r----- 1 root named 523 03-03 14:43 tarena.com.zone

[root@server1 etc]# named-checkzone tarena.com.zero//檢查正向檔案文法完整性,正向解析檢測相同

zone tarena.com/IN: loaded serial 42

OK                                            //如果沒有錯誤,就證明沒有毛病

[root@server1 etc]#

[root@server1 named]# service named restart    //重新啟動服務

停止 named:                                              [确定]

啟動 named:                                              [确定]

[root@server1 named]#

正向解析檔案中的@符号表示:tarena.com

反向解析檔案中的@符号表示:1.168.192

第五步:用戶端測試

1,首先為用戶端配置DNS位址:

修改/etc/resolv.conf,指定dns位址為dns伺服器server1的ip位址。

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

nameserver 192.168.1.1

[root@server2 ~]#

2,使用host或nslookup來檢視是否能成功解析

[root@server2 ~]# host dns1.tarena.com

dns1.tarena.com has address 192.168.1.1

[root@server2 ~]# nslookup bbs.tarena.com

Server:         192.168.1.1

Address:        192.168.1.1#53

Name:  bbs.tarena.com

Address: 192.168.1.82

[root@server2 ~]# host 192.168.1.81

81.1.168.192.in-addr.arpa domain namepointer mail.tarena.com.

注:如果不修改/etc/resolv.conf檔案,則在使用host或nslookup的時候,需要指定dns位址:

如:

[root@client1 ~]# host www.tarena.com 192.168.1.1

Using domain server:

Name: 192.168.1.1

Address: 192.168.1.1#53

Aliases:

www.tarena.com has address 192.168.1.80

二:從DNS伺服器配置:

第一步:檢視是否安裝bind、bind-chroot、caching-nameserver軟體包,如果沒有安裝,則使用rpm安裝相應軟體包。

第二步:修改dns的主配置檔案/var/named/chroot/etc/named.conf

1,修改option的字段listen-onport 53 { 127.0.0.1; };

2,修改option的字段allow-query { localhost; };

3,修改option的字段allow-query-cache{ localhost; };

4,修改view的字段match-clients{ localhost; };

5,修改view的字段match-destinations{ localhost; };

修改後的内容如下:

[root@server2 etc]# grep -vE "^#|^$|^\/\/" named.conf

      listen-on port 53 { 192.168.1.254; };

      allow-query     { any; };

      allow-query-cache { any; };

      include "/etc/named.rfc1912.zones";

[root@server2 etc]#

第三步:修改dns的主配置檔案/var/named/chroot/etc/named.rfc1912.zones

1,type類型指定為從----slave

2,檔案位置放在slaves/下,這個位置為相對路徑

3,添加masters字段,指定主DNS伺服器的位址

在檔案的末尾添加以下内容:

[root@server2 etc]# tail named.rfc1912.zones

zone "tarena.com" IN {

      type slave;

      file "slaves/tarena.com.zone";         //這裡隻指定位置,不建立檔案

      masters { 192.168.1.1; };

zone "1.168.192.in-addr.arpa" IN{

      file "slaves/tarena.com.zero";

[root@server2 etc]# service named restart

第四步:驗證

1,在主伺服器上重新加載named服務:

[root@server1 ~]# service named reload

重新載入 named:                                           [确定]

2,在從伺服器上重新開機named服務:

停止 named:.                                              [确定]

3,在從dns伺服器上,進入/var/named/chroot/var/named/slaves目錄,檢視是否同步正向和反向解析檔案,如果成功同步,則說明從dns伺服器配置成功。

[root@server2 slaves]# ls

tarena.com.zero  tarena.com.zone

[root@server2 slaves]#

注:如果無法同步,需要注意主DNS伺服器上的時間,也就是named.conf配置檔案用括号包含的那一部配置設定置,第一項為時間和版本号,如果主DNS中的這個值比從DNS中的時間值大的話,那麼就會同步,如果相同,不同步。其中括号内還定義了更新的時間。

第五步:安全

為了安全,可以在主DNS伺服器上給dns配置檔案named.conf的option字段添加一行:

allow-transfer { 192.168.1.254;};

設定隻允許192.168.1.254能夠同步該主DNS伺服器上的解析檔案!

三:配置DNS伺服器的常見錯誤

1,在配置dns伺服器之前,必須為該伺服器配置ip位址;

2,在使用cp指令建立named.conf的時候需要添加-p參數以保證權限相同;

3,同樣,在建立正向和反向解析檔案時,也需要添加-p參數,保證權限相同;

4,DNS伺服器上的dns配置檔案named.rfc1912.zones檔案添加内容為:

添加:

      type master;

      file "tarena.com.zone";

      file "tarena.com.zero";

5,從DNS伺服器dns配置檔案named.rfc1912.zones檔案添加内容為:

      file "slaves/tarena.com.zone";

6,使用named-checkconf來檢查配置檔案named.conf的文法完整性

7,使用named-checkzone來檢查正反向區域解析檔案的文法完整性

8,named.conf和named.rfc1912.zones其實是一個檔案,named服務在檢測配置檔案的時候,檢測的是named.conf這個配置檔案,而在named.conf這個配置檔案裡面定義,包括named.rfc1912.zones這個檔案裡面的配置内容,是以兩個檔案其實算是一個檔案,那就是named服務的配置檔案named.conf

本文轉自 murongqingqqq  51CTO部落格,原文連結:http://blog.51cto.com/murongqingqqq/1367057

繼續閱讀