天天看點

Linux下使用 bind搭建DNS主從伺服器

假設公司a在萬網a.org上注冊了一個域名net.cn, 現在不想使用萬網的dns伺服器,而是自己要建立兩個dns伺服器,一個是主伺服器,一個是從伺服器

,現有兩台機器: ns1.a.org  ,   ns2.a.org   我們如何配置這兩台主機成為dns伺服器?

首先,這個公司a内部有如下需求:

1.公司有一個mail伺服器,需要被解析   mail.a.org

2.公司有一個ftp伺服器,需要被解析   ftp.a.org

3.還有自己的域名和bbs等

好了,根據如上需求我們來配置這兩台伺服器。

0.在兩台主機上要安裝好bind伺服器端,否則無法繼續下去。

yum install bind  

1.去萬網a.org背景的管理頁面上,将兩台dns伺服器的位址改成自己的主機名字,改為:  (這一步在學習時省略)

ns1.a.org

ns2.a.org

2.為了保證公司的網絡位址可以被正常的解析到,我們配置ns1為主伺服器,ns2為從伺服器,假如ns1的位址為172.16.100.1,ns2的從伺服器為172.16.100.2

1)登入到172.16.100.1 即主機:ns1.a.org,編輯它的dns主配置檔案,定義工作目錄,添加兩個區域,一個正向解析,一個反向解析

# vim /etc/named.conf  

# 正向  

option {  

directory "/var/named";  

};  

zone "a.org" in {                                                # 聲明複制a.org這個域  

type master;                                         # 類型:主  

file "a.org.zone";                                  # 解析檔案  

# 反向  

zone "16.172.in-addr.arpa" in {  

        type master;  

        file "172.16.zone";                 

# 在建立反向的時候,反向輸入ip(因為它是反向解析的),例如 1.100.10.172,下面會用到  

2)配置正向解析檔案a.org

cd /var/named  

vim a.org  

$ttl 1200  

@           in           soa            ns1.a.org.             admin.a.org.          (                # soa字段  

                                                           2011081601                                                 # 版本号    同步一次  +1  

                                                           1h                                                                   # 更新時間  

                                                           10mm                                                              # 更新失敗,重試更新時間  

                                                           7d                                                                    # 更新失敗多長時間後此dns失效時間  

                                                           1d )                                                               # 解析不到請求不予回複時間  

                     in                                ns               ns1.a.org.  

                     in                                ns               ns2.a.org.  

                     in                                mx     10        mail.a.org.                                # 10指優先級  0-99 數字越小優先級越高  

ns1.a.org.     in                              a                 172.16.100.1  

ns2.a.org.     in                              a                 172.16.100.2  

mail.a.org.    in                              a                 172.16.100.1  

# 該檔案隻有改了了屬組才生效!!!!!!!!  

chomd :named a.org.zon  

service named reload  

3)配置反向解析,反向解析不去要mx , a ,和cname字段,它一般使用prt

vim 172.16.org  

@       in      soa     ns1.a.org.      admin.a.org. (  

                                2011081601  

                                1h  

                                10m  

                                7d  

                                1d )  

                in              ns      ns1.a.org.  

                in              ns      ns2.a.org.  

1.100           in              ptr     ns1.a.org.  

2.100           in              ptr     ns2.a.org.  

1.100           in              ptr     mail.a.org.  

100.100         in              ptr     ftp.a.org.  

# 聲明域的時候已經有了,172.16 是以我們隻需要輸入1.100既代表172.16.1.100  

chomd :named 172.16.org  

4)啟動服務,使用dig指令來測試是否能夠正常解析(先修改自己的dns伺服器位址,在最後補充裡)

service named start  

dig -t ptr 172.16.100.1  

5)配置另外一台dns伺服器為從伺服器,編輯它的主配置檔案,内容如下:

vim /etc/named  

directory "/var/named/slaves";                                     

zone "a.org" in {                         

type slave;                                                                  # 類型為從  

masters { 172.16.100.1 };                                       # 主伺服器的位址,通過它來同步解析檔案  

file "a.org.zone";  

        type slave;  

        masters { 172.16.100.1 };  

6)重新開機服務,看解析檔案是否同步:

service named restart  

ls /var/named/slaves  

補充:

1.在配置dns時,其實應當先聲明一個根域".",用來解析外網域名,方法如下:

編輯主配置檔案,聲明根域

zone "." {  

type hint;  

file "named.ca"  

#儲存退出,利用dig指令生成根域檔案  

dig -t ns ca > /var/named/named.ca  

2.修改linux主機dns伺服器位址方法:

vim /etc/resolv.conf  

nameserver 172.16.100.1                     # 隻需要留這一行,ip是你想要設的dns伺服器位址  

參考:

http://blog.csdn.net/deansrk/article/details/6693527

繼續閱讀