centos 6.5 搭建 dns服務器 詳細步驟

1、配置相關參數

yum install -y epel-release
setenforce 0
/etc/init.d/iptables stop
chkconfig iptables off

2、安裝相關包

yum install bind bind-devel bind-utils

3、修改配置文件


一共有四個相關文件:named.ca(根域名配置)named.conf(dns server主配置文件)、正向解析文件、逆向解析文件


named.ca:

$ dig -t NS . @192.168.1.1 >  /tmp/named.ca    # 查詢根dns server,並保存爲文件,用於named.conf引用
$ cat /tmp/named.ca
; <<>> DiG  9.8.2rc1-RedHat-9.8.2-0.47.rc1.el6_8.3 <<>> -t NS . @192.168.1.1
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode:  QUERY, status: NOERROR, id: 54385
;; flags: qr rd ra; QUERY: 1, ANSWER: 13,  AUTHORITY: 0, ADDITIONAL: 0
 
;; QUESTION SECTION:
;.            IN  NS
 
;; ANSWER SECTION:
.          113146 IN  NS  j.root-servers.net.
.          113146 IN  NS  k.root-servers.net.
.          113146 IN  NS  l.root-servers.net.
.          113146 IN  NS  m.root-servers.net.
.          113146 IN  NS  a.root-servers.net.
.          113146 IN  NS  b.root-servers.net.
.          113146 IN  NS  c.root-servers.net.
.          113146 IN  NS  d.root-servers.net.
.          113146 IN  NS  e.root-servers.net.
.          113146 IN  NS  f.root-servers.net.
.          113146 IN  NS  g.root-servers.net.
.          113146 IN  NS  h.root-servers.net.
.          113146 IN  NS  i.root-servers.net.
 
;; Query time: 29 msec
;; SERVER: 192.168.1.1#53(192.168.1.1)
;; WHEN: Tue Dec 13 14:35:01 2016
;; MSG SIZE  rcvd: 228


 

named.conf:(配置文件使用;//作爲註釋)

$ cat named.conf
//
// named.conf
//
// Provided by Red Hat bind package to  configure the ISC BIND named(8) DNS
// server as a caching only nameserver  (as a localhost DNS resolver only).
//
// See /usr/share/doc/bind*/sample/ for  example named configuration files.
//
 
# 主配置
options {
    listen-on  port 53 { 192.168.10.102; };             # 定義端口綁定的ipv4地址,
    //listen-on-v6  port 53 { ::1; };                    # 定義端口綁定的ipv6地址,
    directory   "/var/named";                             # named服務工作目錄,
    dump-file   "/var/named/data/cache_dump.db";    # dump數據文件路徑,
         statistics-file "/var/named/data/named_stats.txt";    # 靜態文件路徑,
         memstatistics-file "/var/named/data/named_mem_stats.txt";    #
    allow-query     { any; };    # 允許客戶端查詢的ip地址,any爲任意,例如:192.168.1.0/24;172.16.0.0/18等,
    recursion  yes;    # 遞歸查詢,除根服務器外儘量開啓,
 
    dnssec-enable  yes;    # 是否開啓dns sec,dns sec可以驗證dns數據有效性,
    dnssec-validation  yes;    # 是否進行dns sec驗證,
 
    /*  Path to ISC DLV key */
    bindkeys-file  "/etc/named.iscdlv.key";    #  設置內置key文件路徑,
 
    pid-file  "/var/run/named/named.pid";     # pid文件路徑,
    managed-keys-directory  "/var/named/dynamic";    # 設置dns sec動態key文件路徑,
};
 
# 日誌相關配置
logging {
         channel default_debug {      # 定義日誌輸出方式:syslog,file,stdout,stderr,文本文件。               
         file "data/named.log";     # 日誌文件
         severity dynamic;    #多個級別:debug、info等
         };
};
 
# 根域配置
zone "." IN {
    type  hint;
    file  "/tmp/named.ca";    # 前面生成的根域文件;
};
 
zone "example.com" IN {      #  定義example.com的域名正向解析配置
    type  master;                # 域類型,類型可分爲hint(根域),master(主dns),slave(從dns)。
    file  "/etc/ns.example.com";    # 正向解析文件
    allow-update  { none; };    # 是否允許
};
zone "10.168.192.in-addr.arpa"  IN {    # 定義逆向域名解析區域,此處zone的名字必須爲ip地址反序+".in-addr.arpa"
    type  master;                              # 域類型,
    file  "/etc/10.168.192.zone";          # 逆向解析文件,
    allow-update  { none; };                # 是否允許更新,
};
 
include  "/etc/named.rfc1912.zones";     # 包含其他配置文件
include "/etc/named.root.key";


 

正向解析文件:ns.example.com

$ cat ns.example.com
$ TTL設定,定義區域中數據文件各項記錄默認TTL值爲86400,缺少不影響使用,會出現警告
$TTL   86400        
@          IN  SOA ns.example.com.  root.example.com.(    
# SOA記錄設定,"@"代表相應域名,也就是在named.conf中這頂的zone,SOA表示區域授權開始。每一個區域文件只能有一個SOA。SOA後面指定的是區域的授權主機名稱和管理員郵箱。注意域名後有“.”。而且授權主機名稱必須在DNS設置中能夠找到一個A記錄,也就是ns對應的那條A記錄。@在配置文件中有其他含義,因此郵箱@用.代替。
                            2016121301    ; serial        # serial 文件修改版本,格式爲年月日加上修改次數,每次修改配置文件時應改動此數字。slave DNS進行信息同步時,會比較數值,當數值比自身值大時纔會更新。
                            3H     ; refresh      # slave 與master同步的間隔時間;
                            15M    ; retry        # slave dns更新失敗後,要隔多久進行重試;
                            1W     ; expiry        # slave dns同步失敗後,多長時間清除對應記錄;
                            1D)    ; minimum        # 默認最小TTL值,如果前面沒有設定,此值爲基準
# H:小時、D:天、W:周、M:分
# NS:定義此主機爲域名服務器、MX:定義郵件交換服務器、A:定義A記錄,即域名到IP的記錄、CNAME:定義域名的別名;
           IN  NS  ns.example.com.        # 定義NS
           IN  MX  10  mail         # 定義mail交換,優先級爲10
           IN  A   192.168.10.102
ns         IN  A   192.168.10.102
www        IN  A   192.168.10.102
mail       IN  A   192.168.10.102
linux      IN  CNAME  www


逆向解析文件:10.168.196.in-addr-arpa

# 與正向解析類似,多出PTR選項,定義一個反向解析記錄,及IPURL的記錄。

$ cat 10.168.192.zone  
$TTL   86400
10.168.192.in-addr.arpa. IN  SOA ns.example.com.      root.example.com.  (
                         2016121301 ; Serial
                         28800      ; Refresh
                         14400;     ; Retry
                         3600000       ; Expire
                         86400  )       ; Minimum
        IN    NS       ns.example.com.
102      IN    PTR      mail.example.com.
102     IN    PTR       www.example.com.


 

4、啓動server

設置相關權限:

chown -R root.named /etc/named.conf /etc/ns.example.com/etc/10.168.192.zone /tmp/named.ca
/etc/init.d/named start
tail -f /var/log/messages # 查看啓動日誌
netstat -tlnup |grep 53    # 查看啓動端口


5、nslookup測試域名

nslookup ns.example.com
nslookup mail.example.com


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章