歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux管理 >> Linux配置 >> 緩存DNS服務器和主DNS服務器的快速搭建詳解

緩存DNS服務器和主DNS服務器的快速搭建詳解

日期:2017/2/27 14:57:53   编辑:Linux配置
一、設定配置內容
假設我們已經在網上注冊了wangej.com域名,得到的IP網絡是172.16.12.0/24
ns服務器是:172.16.12.1
www服務器:172.16.12.1,另外一個地址:172.16.12.3
mail服務器:172.16.12.2
ftp主機在www服務器上,即ftp為www的別名

二、准備工作
這裡我們使用bind97來搭建我們的DNS服務器,首先需要安裝好bind97.i386、bind97-libs.i386、bind97-utils.i386這三個軟件包。軟件包可以在https://www.isc.org/wordpress/downloads/官方網站下載。(此為源碼)

三、配置文件詳解
/etc/named.conf為BIND服務進程的主配置文件
BIND進程的工作屬性
區域的定義
options {                                       #定義選項 
    directory "/var/named";                     #定義數據文件目錄 
  };                                                 
   
  zone "." IN {                                 #定義區域 
    type hint;                                  #定義區域類型為根 
    file "named.ca";                            #定義數據文件 
  };                                                 
   
  zone "localhost" IN {                         #定義本地解析區域 
    type master;                                #定義區域類型為主 
    file "named.localhost";                     #定義數據文件 
  }; 
   
  zone "0.0.127.in-addr.arpa" IN {              #定義反向解析區域 
    type master;                                #定義區域類型為主 
    file "named.loopback";                      #定義數據文件 
  };

/etc/rndc.key為rndc服務的密鑰文件
rndc:Remote Name Domain Controller遠程名稱服務控制器
/etc/rndc.conf為rndc服務的密鑰文件
/var/named/目錄
目錄中存儲的均為區域數據文件
/etc/rc.d/init.d/named BIND的服務控制腳本,用來在rhel5中使用service調用開關的。

四、資源記錄類型和字符含義
SOA(Start Of Authority起始授權記錄) 
    ZONE NAME    TTL    IN    SOA FQDN(主DNS)   ADMINISTRATOR_MAILBOX( 
                                                serial number           #版本號 
                                                refresh                 #定義檢查周期時間 
                                                retry                   #定義重試時間 
                                                expire                  #定義過期時間 
                                                nagative answer TL      #定義否定答案的緩存時長 
    時間單位:M(分鐘)、H(小時)、D(天)、W(周)、默認單位是秒 
    郵箱格式:[email protected]. -寫為-> admin.magedu.com. 
     
    magedu.com.   600    IN    SOA   ns1.wangej.com.   admin.wag.com.   ( 
                                                20130401(最長10為數) 
                                                1H 
                                                5M 
                                                1W 
                                                1D) 
NS(Name Server):區域名稱-->主機名 
    magedu.com.     600    IN    NS     ns.magedu.com. 
    ns.magedu.com.  600    IN    A      1.1.1.2 
MX(Mail eXchange):ZONE NAME --> FQDN 
    優先級 0-99:數字越小級別越高 
    ZONE NAME     TTL    IN    MX  pri    VALUE 
    magedu.com.   600    IN    MX  10     mail.magedu.com. 
    mail.magedu.com.  600 IN   A          1.1.1.3 
A(address): FQDN-->IPv4 
AAAA:FQDN-->IPv6 
PTR(pointer): IP-->FQDN   指針記錄 
CNAME(Canonical NAME): FQDN-->FQDN  別名記錄

五、配置緩存DNS服務器
1、vim /etc/named.conf
options {     #定義選項 
    directory "/var/named";   #定義數據文件目錄 
  }; 
   
  zone "." IN {   #定義區域 
    type hint;    #定義區域類型為根 
    file "named.ca";              #定義數據文件 
  };  
   
  zone "localhost" IN {   #定義本地解析區域 
    type master;      #定義區域類型為主 
    file "named.localhost";   #定義數據文件 
  }; 
   
  zone "0.0.127.in-addr.arpa" IN {    #定義反向解析區域 
    type master;      #定義區域類型為主 
    file "named.loopback";    #定義數據文件 
  };

檢查語法是否錯誤:
named-checkconf
檢查named.conf文件的屬主屬組和權限
[root@localhost named]# chmod  640 /etc/named.conf 
[root@localhost named]# chown  root:named  /etc/named.conf 
[root@localhost named]# ll /etc/named.conf 
-rw-r----- 1 root named 369 Apr  1 22:08 /etc/named.conf 

2、這裡我們需要關閉SELinux,以確保linux的安全機制不會對BIND服務造成什麼影響。
查看SELinux當前狀態:
[root@localhost named]# getenforce                  #查看SELinux當前的開啟狀態 
Enforcing                                           #SELinux開啟狀態 
[root@localhost named]# setenforce 0                #臨時性關閉SELinux服務 
[root@localhost named]# getenforce                  #再次查看SELinux 
Permissive

臨時性關閉SELinux:
# setenforce 0

開啟SELinux服務
# setenforce 1

永久關閉SELinux就需要配置: vim /etc/selinux/
這裡我們關閉SELinux服務
# setenforce 0

3、測試服務是否正常
重啟named服務service named restart然後我們ping一個EQDN測試是否成功
[root@localhost named]# service named restart 
Stopping named:                                            [  OK  ] 
Starting named:                                            [  OK  ]

使用dig命令查看一下根域
dig -t NS . @172.16.12.1 通過我們自己設置的DNS服務器查看根域名服務器。
[root@localhost named]# dig -t NS . @172.16.12.1 
 
; <<>> DiG 9.7.0-P2-RedHat-9.7.0-6.P2.el5_7.4 <<>> -t NS . @172.16.12.1 
;; global options: +cmd 
;; Got answer: 
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 64807 
;; flags: qr rd ra; QUERY: 1, ANSWER: 13, AUTHORITY: 0, ADDITIONAL: 14 
 
;; QUESTION SECTION: 
;.              IN  NS 
 
;; ANSWER SECTION: 
.           487177  IN  NS  a.root-servers.net. 
.           487177  IN  NS  f.root-servers.net. 
.           487177  IN  NS  m.root-servers.net. 
.           487177  IN  NS  h.root-servers.net. 
.           487177  IN  NS  k.root-servers.net. 
.           487177  IN  NS  b.root-servers.net. 
.           487177  IN  NS  i.root-servers.net. 
.           487177  IN  NS  l.root-servers.net. 
.           487177  IN  NS  d.root-servers.net. 
.           487177  IN  NS  e.root-servers.net. 
.           487177  IN  NS  j.root-servers.net. 
.           487177  IN  NS  c.root-servers.net. 
.           487177  IN  NS  g.root-servers.net. 
 
;; ADDITIONAL SECTION: 
a.root-servers.net. 573577  IN  A   198.41.0.4 
a.root-servers.net. 573577  IN  AAAA    2001:503:ba3e::2:30 
b.root-servers.net. 573577  IN  A   192.228.79.201 
c.root-servers.net. 573577  IN  A   192.33.4.12 
d.root-servers.net. 573577  IN  A   199.7.91.13 
d.root-servers.net. 573577  IN  AAAA    2001:500:2d::d 
e.root-servers.net. 573577  IN  A   192.203.230.10 
f.root-servers.net. 573577  IN  A   192.5.5.241 
f.root-servers.net. 573577  IN  AAAA    2001:500:2f::f 
g.root-servers.net. 573577  IN  A   192.112.36.4 
h.root-servers.net. 573577  IN  A   128.63.2.53 
h.root-servers.net. 573577  IN  AAAA    2001:500:1::803f:235 
i.root-servers.net. 573577  IN  A   192.36.148.17 
i.root-servers.net. 573577  IN  AAAA    2001:7fe::53 
 
;; Query time: 5 msec 
;; SERVER: 172.16.12.1#53(172.16.12.1) 
;; WHEN: Tue Apr  2 19:51:37 2013 
;; MSG SIZE  rcvd: 512

4、為named服務添加開機啟動
chkconfig on named
[root@localhost named]# chkconfig --list named 
named           0:off   1:off   2:off   3:off   4:off   5:off   6:off 
[root@localhost named]# chkconfig named on 
[root@localhost named]# chkconfig --list named 
named           0:off   1:off   2:on    3:on    4:on    5:on    6:off
OK,到這裡緩存DNS就已經配置正常,能夠正常使用了。

六、配置主DNS服務器
1、為/etc/named.conf添加主區域文件配置和反向區域解析
zone "wangej.com" IN {                           #定義wangej.com區域 
    type master;                                #定義區域類型為主 
    file "wangej.com.zone";                     #定義數據文件 
  }; 
   
  zone "12.16.172.in-addr.arpa" IN {            #定義wangej.com反向解析區域 
    type master;                                #定義區域類型為主 
    file "172.16.12.zone";                      #定義數據文件 
  };

2、添加區域文件
vim wangej.com.zone 
$TTL 1H 
wangej.com.     IN   SOA   ns1.wangej.com.   admin.wangej.com. ( 
                1 
                1H 
                5M 
                2D 
                6H ) 
         IN   NS    ns1 
         IN   MX 10 mail 
ns1      IN   A     172.16.12.1 
mail     IN   A  172.16.12.2 
www      IN   A     172.16.12.1 
www      IN   A     172.16.12.3 
ftp      IN  CNAME  www

vim 172.16.12.zone
$TTL 1H 
@               IN   SOA   ns1.wangej.com.   admin.wangej.com. ( 
                1 
                1H 
                5M 
                2D 
                6H ) 
         IN   NS    ns1.wangej.com. 
1               IN   PTR   ns1.wangej.com. 
1               IN   PTR   www.wangej.com. 
2               IN   PTR   mail.wangej.com. 
3              IN   PTR   www.wangej.com.

3、檢查文件的語法錯誤和屬主屬組及權限
named-checkzone "wangej.com" /var/named/wangej.com.zone 
named-checkzone "172.16.12.zone" /var/named/172.16.12.zone 
-rw-r----- 1 root  named  321 Apr  1 22:43 172.16.12.zone 
-rw-r----- 1 root  root   289 Apr  1 22:42 wangej.com.zone

4、測試服務是否能夠正常使用
[root@localhost ~]# dig -t A www.wangej.com @172.16.12.1 
 
; <<>> DiG 9.7.0-P2-RedHat-9.7.0-6.P2.el5_7.4 <<>> -t A www.wangej.com @172.16.12.1 
;; global options: +cmd 
;; Got answer: 
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 43339 
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1 
 
;; QUESTION SECTION: 
;www.wangej.com.            IN  A 
 
;; ANSWER SECTION: 
www.wangej.com.     3600    IN  A   172.16.12.1 
 
;; AUTHORITY SECTION: 
wangej.com.     3600    IN  NS  ns1.wangej.com. 
 
;; ADDITIONAL SECTION: 
ns1.wangej.com.     3600    IN  A   172.16.12.1 
 
;; Query time: 4 msec 
;; SERVER: 172.16.12.1#53(172.16.12.1) 
;; WHEN: Tue Apr  2 20:05:27 2013 
;; MSG SIZE  rcvd: 82

5、如此一個主DNS就已經搭建成功了。
Copyright © Linux教程網 All Rights Reserved