DNS配置及理論詳解

DNS是什麼web

DNS:Domain Name System,域名系統數據庫

DNS做爲域名和IP地址相互映射的一個分佈式數據庫,可以讓用戶更方便的訪問互聯網。它的正向映射是把一個主機和IP地址關聯起來,它的反向映射則是IP地址到主機名。DNS使用TCP和UDP的53號端口。當前,對於每一級域名長度的限制是63個字符,域名總長度不能超過253個字符。vim

爲何要用DNS
centos

鏈接到互聯網的主機不可勝數。當我要訪問www.magedu.com這個網站。因爲底層網絡只能理解IP地址,而個人電腦不知道www.magedu.com這臺主機的IP地址。DNS服務器收到查詢請求以後,把查詢到的結果(IP:101.200.188.230)再返還給個人電腦。而後個人電腦再經過IP地址進行訪問。  緩存

wKioL1ddI8iROCm-AADp5FlwnmU856.png

如圖所示:bash

    一、本機向DNS服務器發送查詢請求。服務器

    二、DNS服務器將查詢的結果返還給本機。
網絡

    三、本機經過IP地址訪問www.magedu.com。dom

域名:tcp

    DNS名稱空間被組織成一個「樹」形結構。每一個完成的域名(例如,www.magedu.com)是這顆樹的分支上的一個節點。完整限定域名(FQDN,Fully Qualified Domain Name)是到一個DNS對象的完整路徑,包括最後一個點。

wKioL1ddJB3QeZ4SAAEIGxahSug847.png


以上述的域名爲例說明,magedu網址是由兩部分組成,標號magedu是這個域名的主體,而最後的標號com則是該域名的後綴,表明的這是一個com國際域名,是頂級域名。而前面的www是網絡名,爲www的域名。DNS規定,域名中的標號由英文字母和數字組成,每一個組成部分(標號)不能超過63個字符,整個FQDN(完整域名)全長不超過256個字符。FQDN不區分大小寫,可是他們一般都採用小寫。RFC2181對域名放開了限制。


域名級別

域名分爲:

國際頂級域名:.com, .net, .org, .edu等

國家地區頂級域名:.cn, .de, .jp, .hk, .uk, .us等

除了頂級域名外,還有二級域名,就是靠近頂級域名左側的字段。如:www.magedu.com中,.magedu就是二級域名。接下來還有三級域名,即靠近二級域名的左側的字段,以此類推還有四級域名等。


DNS查詢類型:

遞歸查詢:客戶端向根服務器發送請求,根服務器並不返回真實的答案,而是推薦它下級的服務器,以此類推,直到查詢IP地址返回給客戶機。

迭代查詢:客戶機向DNS服務器發送請求,DNS服務器直接回復答案給客戶機。


域名解析

正向解析:FQDN到IP地址的解析。

反向解析:IP地址到FQDN的解析。


域名服務器的分類

服務器的類型 說明
主服務器 維護所負責解析的域內解析庫的服務器
從服務器 從主DNS服務器或其它從DNS服務器「複製」(區域傳送)一份解析庫
緩存服務器

緩存之前的查詢,一般沒有本地的區

轉發服務器 負責非本地域名的本地查詢


一次完整的查詢過程

以上述域名www.magedu.com爲例。客戶機向最近的遠端DNS服務器發送查詢請求,DNS服務器首先查看緩存中是否有www.magedu.com這條記錄。若是沒有就向根服務器發送查詢請求,根服務器會告訴你要去請求.com頂級服務器。以後DNS服務器再向頂級域名服務器發送查詢請求,獲得的回覆是向.magedu這個二級域名服務器發送查詢請求。最終,DNS服務器向二級域名發送請求並獲得正確答案返回給客戶機。同時將這次查詢的結果寫入緩存之中,以便下次的查詢。

wKioL1ddLoSic0jUAACaGXDjeEQ223.png

資源記錄

DNS層次結構中的每個區(zone),都有與之相關的一組資源記錄。資源記錄的基本格式是:

name [TTL] IN rr_type value


記錄的類型

類型 名稱 功能
SOA Start Of Authority

定義一個DNS區

NS Name Server 標識服務器,受權子域
A IPv4 Address 名稱到地址的轉換
AAAA IPv6 Address 名稱到IPv6地址的轉換
PTR Pointer 地址到名字的轉換
MX Mail Exchanger 控制郵件的路由
CNAME Canonical Name 主機的呢稱或別名

記錄的類型解釋

SOA

一個SOA記錄標記出一個區,即位於DNS域名空間中相同位置的一組資源記錄的開始位置。一個DNS域的數據一般至少包括兩個區:一個區用來把主機名轉換成IP地址,稱爲正向區,其餘一些區把IP地址反向映射到主機名,稱爲反向區。

例如:
magedu.com.    86400    IN  SOA    ns.magedu.com.  admin.magedu.com.    (
               2016040201    ; 序列號
               2H    ;刷新時間
               10M    ;重試時間
               1W    ;過時時間
               1D    ;否認答案的TTL值
)

NS

NS(域名服務器)記錄標識一個區的權威服務器(主服務器和從服務器),並把子域受權給其餘機構。NS記錄一般直接放在這個區的SOA記錄後面。

注意:一個區域能夠有多條NS記錄
例如:
magedu.com.  IN  NS  ns1.magedu.com.
magedu.com.  IN  NS  ns2.magedu.com.
 
注意:
相鄰的兩個資源記錄的name相同時,後續的能夠省略。
對NS記錄而言,任何一個NS記錄後面的服務器名字,都應該在後續有一個A記錄。

MX

電子郵件系統使用MX記錄來更有效地路由郵件。MX記錄優先於郵件發送方所指定的目的地址,在大多數狀況下,它將郵件指向接收方網點的郵件主機。

一個區域內,MX記錄可有多個,可是每一個記錄的value以前應該有一個數字(0-99)。表示此服務器的優先級,數字越小優先級越高。
例如:
magedu.com.  IN  MX 10  mx1.magedu.com.
             IN  MX 20  mx2.magedu.com.
 
注意:
    對MX記錄而言,任何一個MX記錄後面的服務器名字,都應該在後續有一個A記錄。

A

A記錄是DNS數據庫的核心。它們提供了主機名到IP地址的映射,而這之前是在/etc/hosts文件中指定的。一個主機一般給它的每一個網絡端口都有一條A記錄。

例如:
ns1  IN  A  101.200.188.230

AAAA

AAAA記錄提供主機名到IPv6地址的映射。

PTR

PTR記錄提供IP地址到主機名的反向映射。反向映射記錄存在於in-addr.arpa這個域,而且以IP地址各字節逆序的形式命名。

例如:
101  IN  PTR  www.magedu.com.

CNAME

CNAME記錄爲以前多分配幾個名字。一般,這些別名要麼用來將某項功能與主機關聯起來,要麼用來縮短一個長主機名。

例如:
web.magedu.com.  IN  CNAME  www.magedu.com.


BIND

BIND指Berkeley Internet Name Domain(伯克利因特網域名)系統,它是ISC提供的一種開源軟件包,爲Linux、Unix、Mac OS和Windows系統實現了DNS協議。


BIND安裝

# yum -y install bind bind-utils


BIND簡介

    dns:協議

    bind:dns協議的一種實現

    named:bind程序運行的進程名

    bind-libs:被bind和bind-utils包中的程序共同用到的庫文件

    bind-utils:bind客戶端程序集,例如:dig,host,nslookup等

    bind:提供的dns server程序,已經幾個經常使用的測試程序

    bind-chroot:選裝,讓named運行於jail模式下


bind配置文件說明

  主配置文件:/etc/named.conf

  或包含進來的其它文件

    /etc/named.iscdly.key

    /etc/named.rfc1912.zones

    /etc/named.root.key

  區域配置文件通常在/etc/named.rfc1912.zones,全局配置在/etc/named.conf中

    一、主配置文件格式:

    全局配置段:

      options { ... }; #注意內容先後有空格,分號結尾

    日誌配置段:

      logging { ... };

    區域配置段:

      zone { ... };

      配置那些由本機負責解析的區域,或轉發的區域

    注意:每一個語句必須以分號結尾

    二、緩存名稱服務器的配置:(注意此處的配置應該在使用前操做)

    監聽能與外部主機通訊的地址:

      listen-on port 53 { 192.168.130.242; };

    通常狀況,建議關閉dnssec(基本上用不到,並且很麻煩,反正我是不知道。。)

       dnssec-enable no;

      dnssec-validation no;

      dnssec-lookaside no;   #或者在前面加倆個//;

    修改僅容許本地查詢:

      allow-query { any; };  #或者註釋掉

解析庫文件

    /var/nanmed/目錄下:

                通常名字爲:ZONE_NAME.zone

                        例如:bjwf.com.zone

                                    192.168.130.zone

                注意:

                        一、一臺DNS服務器可同時爲多個區域提供解析

                        二、必需要有跟區域解析庫文件:named.ca

                        三、還應該有兩個區域解析庫文件:localhost和127.0.0.1的正反向解析庫

                                正向:named.localhost            

                                反向:named.loopback

檢查配置文件語法錯誤

    named-checkconf [/etc/named.conf]

    named-checkzone ZONE_NAME ZONE_FILE

# named-checkconf
# named-checkzone bjwf.com /var/named/bjwf.com.zone 
zone bjwf.com/IN: loaded serial 2016061202
OK
測試及管理工具

 dig命令:

        語法:dig [ -t RR_TYPE] name [@SERVER] [query options]

        做用:用於測試DNS系統,所以其不會查詢hosts文件

            查詢選項:

                    +[no]trace:跟蹤解析過程

                    +[no]recurse:進行遞歸解析

#正向解析
# dig -t A ns1.bjwf.com @192.168.130.240

; <<>> DiG 9.9.4-RedHat-9.9.4-29.el7_2.3 <<>> -t A ns1.bjwf.com @192.168.130.240
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 5996
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 2

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;ns1.bjwf.com.			IN	A

;; ANSWER SECTION:
ns1.bjwf.com.		86400	IN	A	192.168.130.240

;; AUTHORITY SECTION:
bjwf.com.		86400	IN	NS	ns2.bjwf.com.
bjwf.com.		86400	IN	NS	ns1.bjwf.com.

;; ADDITIONAL SECTION:
ns2.bjwf.com.		86400	IN	A	192.168.130.241

;; Query time: 1 msec
;; SERVER: 192.168.130.240#53(192.168.130.240)
;; WHEN: 一 6月 13 16:55:05 CST 2016
;; MSG SIZE  rcvd: 105

#反向解析
# dig -x 202.106.0.20

; <<>> DiG 9.9.4-RedHat-9.9.4-29.el7_2.3 <<>> -x 202.106.0.20
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 41309
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;20.0.106.202.in-addr.arpa.	IN	PTR

;; ANSWER SECTION:
20.0.106.202.IN-ADDR.ARPA. 38400 IN	PTR	c1-xingfudajie-ns2.

;; Query time: 6 msec
;; SERVER: 202.106.0.20#53(202.106.0.20)
;; WHEN: 一 6月 13 17:31:52 CST 2016
;; MSG SIZE  rcvd: 111

#模擬徹底區域傳送
# dig -t axfr DOMAIN [@server]
# dig -t axfr bjwf.com. @192.168.130.240

; <<>> DiG 9.9.4-RedHat-9.9.4-29.el7_2.3 <<>> -t axfr bjwf.com. @192.168.130.240
;; global options: +cmd
bjwf.com.		86400	IN	SOA	ns1.bjwf.com. admin.bjwf.com. 2016061202 3600 300 604800 86400
bjwf.com.		86400	IN	NS	ns1.bjwf.com.
bjwf.com.		86400	IN	NS	ns2.bjwf.com.
ns1.bjwf.com.		86400	IN	A	192.168.130.240
ns2.bjwf.com.		86400	IN	A	192.168.130.241
www.bjwf.com.		86400	IN	A	192.168.130.241
bjwf.com.		86400	IN	SOA	ns1.bjwf.com. admin.bjwf.com. 2016061202 3600 300 604800 86400
;; Query time: 1 msec
;; SERVER: 192.168.130.240#53(192.168.130.240)
;; WHEN: 一 6月 13 17:33:44 CST 2016
;; XFR size: 7 records (messages 1, bytes 192)

 host命令:

        host [ -t RR_TYPE] name SERVER_IP

# host 192.168.130.240
240.130.168.192.in-addr.arpa domain name pointer bogon.
# host -t A www.bjwf.com
www.bjwf.com has address 192.168.130.241

nslookup命令:

        nslookup [ -options] [name] [server]

# nslookup www.bjwf.com
Server:		127.0.0.1
Address:	127.0.0.1#53

Name:	www.bjwf.com
Address: 192.168.130.241

rndc命令:named服務控制命令 

# rndc status
version: 9.9.4-RedHat-9.9.4-29.el7_2.3 <id:8f9657aa>
CPUs found: 4
worker threads: 4
UDP listeners per interface: 4
number of zones: 103
debug level: 0
xfers running: 0
xfers deferred: 0
soa queries in progress: 0
query logging is OFF
recursive clients: 0/0/1000
tcp clients: 0/100
server is up and running

配置一個主DNS服務器

以bjwf.com域爲例:

一、定義主配置文件

# vim /etc/named.conf
options {
        listen-on port 53 { 192.168.130.242; };
        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; };
        recursion yes;
        
        dnssec-enable no; 
        dnssec-validation no;
        
        /* Path to ISC DLV key */
        bindkeys-file "/etc/named.iscdlv.key";
        
        managed-keys-directory "/var/named/dynamic";
};

logging {
        channel default_debug {
                file "data/named.run";
                severity dynamic;
        };
};

zone "." IN {
        type hint;
        file "named.ca";
};

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

二、定義區域配置文件

# vim /etc/named.rfc1912.zones
zone "bjwf.com" IN {
        type master;
        file "bjwf.com.zone";
};

zone "130.168.192.in-addr.arpa" IN {
        type master;
        file "192.168.130.zone";
};
#注意:區域名字即爲域名

三、創建區域數據文件(主要爲A或AAAA記錄等)

    在/var/named/目錄下創建區域數據文件

# vim /var/named/bjwf.com.zone   (正向區域文件)
$TTL 86400
@       IN      SOA     ns1.bjwf.com.   admin.bjwf.com. (
                        2016061301
                        1H
                        5M
                        7D
                        1D      )
        IN      NS      ns1.bjwf.com.
        IN      NS      ns2.bjwf.com.
        IN      MX  10  mx1
        IN      MX  15  mx2
mx1     IN      A       192.168.130.111
mx2     IN      A       192.168.130.112
ns1     IN      A       192.168.130.242
ns2     IN      A       192.168.130.243
www     IN      A       192.168.130.240

# vim /var/named/192.168.130.zone   (反向區域文件)
$TTL 86400
@	IN	SOA	ns1.bjwf.com.	admin.bjwf.com.	(
			2016061401	
			1H
			5M
			7D
			1D
)
	IN	NS	ns1.bjwf.com.
	IN	NS	ns2.bjwf.com.
242	IN	NS	ns1.bjwf.com.
243	IN	NS	ns2.bjwf.com.
240	IN	PTR	www.bjwf.com.
245	IN	PTR	ftp.bjwf.com.

四、檢查配置文件並修改區域配置文件權限

#檢查語法
# named-checkconf
# named-checkzone "bjwf.com" bjwf.com.zone 
zone bjwf.com/IN: loaded serial 2016061301
OK
# named-checkzone "130.168.192.in-addr.arpa" 192.168.130.zone 
zone 130.168.192.in-addr.arpa/IN: loaded serial 2016061301
OK
#修改權限及屬組
# chown root:named 192.168.130.zone 
# chown root:named bjwf.com.zone 
# chmod 640 192.168.130.zone 
# chmod 640 bjwf.com.zone 
# ll
-rw-r----- 1 root  named  261 Jun 14 11:01 192.168.130.zone
-rw-r----- 1 root  named  291 Jun 13 18:00 bjwf.com.zone

五、啓動服務器並查詢

# service named start
Generating /etc/rndc.key:                                  [  OK  ]
Starting named:                                            [  OK  ]
# netstat -tunlp|grep 53
tcp  0      0 192.168.130.242:53  0.0.0.0:*      LISTEN      3019/named          
tcp  0      0 127.0.0.1:953       0.0.0.0:*      LISTEN      3019/named          
tcp  0      0 ::1:953             :::*           LISTEN      3019/named          
udp  0      0 192.168.130.242:53  0.0.0.0:*                  3019/named  

#查詢
# dig -t A www.bjwf.com @192.168.130.242  (正向)

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.47.rc1.el6 <<>> -t A www.bjwf.com @192.168.130.242
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 2828
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 2

;; QUESTION SECTION:
;www.bjwf.com.			IN	A

;; ANSWER SECTION:
www.bjwf.com.		86400	IN	A	192.168.130.240

;; AUTHORITY SECTION:
bjwf.com.		86400	IN	NS	ns2.bjwf.com.
bjwf.com.		86400	IN	NS	ns1.bjwf.com.

;; ADDITIONAL SECTION:
ns1.bjwf.com.		86400	IN	A	192.168.130.242
ns2.bjwf.com.		86400	IN	A	192.168.130.243

;; Query time: 0 msec
;; SERVER: 192.168.130.242#53(192.168.130.242)
;; WHEN: Tue Jun 14 13:22:16 2016
;; MSG SIZE  rcvd: 114

# dig -x 192.168.130.240 @192.168.130.242  (反向)

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.47.rc1.el6 <<>> -x 192.168.130.240 @192.168.130.242
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 49513
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 2

;; QUESTION SECTION:
;240.130.168.192.in-addr.arpa.	IN	PTR

;; ANSWER SECTION:
240.130.168.192.in-addr.arpa. 86400 IN	PTR	www.bjwf.com.

;; AUTHORITY SECTION:
130.168.192.in-addr.arpa. 86400	IN	NS	ns2.bjwf.com.
130.168.192.in-addr.arpa. 86400	IN	NS	ns1.bjwf.com.

;; ADDITIONAL SECTION:
ns1.bjwf.com.		86400	IN	A	192.168.130.242
ns2.bjwf.com.		86400	IN	A	192.168.130.243

;; Query time: 0 msec
;; SERVER: 192.168.130.242#53(192.168.130.242)
;; WHEN: Tue Jun 14 13:22:36 2016
;; MSG SIZE  rcvd: 140


配置從DNS服務器

一、定義主配置文件

# vim /etc/named.conf
options {
        listen-on port 53 { 192.168.130.243; };
//      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; };
        recursion yes;
# vim /etc/named.rfc1912.zones        
zone "bjwf.com" IN {                   #正向解析
        type slave;                    #類型從DNS
        masters { 192.168.130.242; };  #主DNS的IP地址
        file "slaves/bjwf.com.zone";   #bjwf.com.zone拷貝到slaves文件夾下
};

zone "130.168.192.in-addr.arpa" IN {    #反向解析
        type slave;                     #類型從DNS
        masters { 192.168.130.242; };   #主DNS的IP地址
        file "slaves/192.168.130.zone"; #192.168.130.zone拷貝到salves文件夾下
};

# service named start     #重啓服務
Generating /etc/rndc.key:                                  [  OK  ]
Starting named:                                            [  OK  ]

#查看同步過來的文件
# cat bjwf.com.zone 
$ORIGIN .
$TTL 86400	; 1 day
bjwf.com		IN SOA	ns1.bjwf.com. admin.bjwf.com. (
				2016061301 ; serial            #版本號
				3600       ; refresh (1 hour)  #更新時間
				300        ; retry (5 minutes) #更新失敗,重試更新時間
				604800     ; expire (1 week)   #更新失敗多長時間後此DNS失效時間
				86400      ; minimum (1 day)   #解析不到請求不予回覆的時間
				)
			NS	ns1.bjwf.com.   #域名服務器
			NS	ns2.bjwf.com.   #域名服務器
$ORIGIN bjwf.com.
ns1			A	192.168.130.242 #ns1域名服務器的地址
ns2			A	192.168.130.243 #ns2域名服務器的地址
www			A	192.168.130.240 #www服務器的地址

# cat 192.168.130.zone 
$ORIGIN .
$TTL 86400	; 1 day
130.168.192.in-addr.arpa IN SOA	ns1.bjwf.com. admin.bjwf.com. (
				2016061401 ; serial
				3600       ; refresh (1 hour)
				300        ; retry (5 minutes)
				604800     ; expire (1 week)
				86400      ; minimum (1 day)
				)
			NS	ns1.bjwf.com.
			NS	ns2.bjwf.com.
$ORIGIN 130.168.192.in-addr.arpa.
240			PTR	www.bjwf.com.
242			NS	ns1.bjwf.com.
243			NS	ns2.bjwf.com.
245			PTR	ftp.bjwf.com.

二、更新數據查看同步

# vim /var/named/bjwf.com.zone
$TTL 86400
@       IN      SOA     ns1.bjwf.com.   admin.bjwf.com. (
                        2016061302    #版本號修改了
                        1H
                        5M
                        7D
                        1D
)
        IN      NS      ns1.bjwf.com.
        IN      NS      ns2.bjwf.com.
ns1     IN      A       192.168.130.242
ns2     IN      A       192.168.130.243
www     IN      A       192.168.130.240
p_w_picpath   IN      A       192.168.130.10   #新增A記錄
img     IN      CNAME   p_w_picpaths           #新增CNAME記錄
# vim /var/named/192.168.130.zone
$TTL 86400
@       IN      SOA     ns1.bjwf.com.   admin.bjwf.com. (
                        2016061402   #版本號加一
                        1H
                        5M
                        7D
                        1D
)
        IN      NS      ns1.bjwf.com.
        IN      NS      ns2.bjwf.com.
242     IN      NS      ns1.bjwf.com.
243     IN      NS      ns2.bjwf.com.
240     IN      PTR     www.bjwf.com.
245     IN      PTR     ftp.bjwf.com.
10      IN      PTR     p_w_picpath.bjwf.com.   #新增的記錄

# rndc reload
server reload successful    #重載一下

#在從服務器上查看一下
# cat bjwf.com.zone 
$ORIGIN .
$TTL 86400	; 1 day
bjwf.com		IN SOA	ns1.bjwf.com. admin.bjwf.com. (
				2016061302 ; serial
				3600       ; refresh (1 hour)
				300        ; retry (5 minutes)
				604800     ; expire (1 week)
				86400      ; minimum (1 day)
				)
			NS	ns1.bjwf.com.
			NS	ns2.bjwf.com.
$ORIGIN bjwf.com.
p_w_picpath			A	192.168.130.10    #新增的同步完成
img			CNAME	p_w_picpaths
ns1			A	192.168.130.242
ns2			A	192.168.130.243
www			A	192.168.130.240

# cat 192.168.130.zone 
$ORIGIN .
$TTL 86400	; 1 day
130.168.192.in-addr.arpa IN SOA	ns1.bjwf.com. admin.bjwf.com. (
				2016061402 ; serial
				3600       ; refresh (1 hour)
				300        ; retry (5 minutes)
				604800     ; expire (1 week)
				86400      ; minimum (1 day)
				)
			NS	ns1.bjwf.com.
			NS	ns2.bjwf.com.
$ORIGIN 130.168.192.in-addr.arpa.
10			PTR	p_w_picpath.bjwf.com.    #新增的同步完成
240			PTR	www.bjwf.com.
242			NS	ns1.bjwf.com.
243			NS	ns2.bjwf.com.
245			PTR	ftp.bjwf.com.

三、在從服務器上測試一下

# dig -t A img.bjwf.com @192.168.130.242

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.47.rc1.el6 <<>> -t A img.bjwf.com @192.168.130.242
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 1755
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 0

;; QUESTION SECTION:
;img.bjwf.com.			IN	A

;; ANSWER SECTION:
img.bjwf.com.		86400	IN	CNAME	p_w_picpaths.bjwf.com.

;; AUTHORITY SECTION:
bjwf.com.		86400	IN	SOA	ns1.bjwf.com. admin.bjwf.com. 2016061302 3600 300 604800 86400

;; Query time: 1 msec
;; SERVER: 192.168.130.242#53(192.168.130.242)
;; WHEN: Tue Jun 14 15:23:41 2016
;; MSG SIZE  rcvd: 97

# dig -t A img.bjwf.com @192.168.130.243

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.47.rc1.el6 <<>> -t A img.bjwf.com @192.168.130.243
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 24987
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 0

;; QUESTION SECTION:
;img.bjwf.com.			IN	A

;; ANSWER SECTION:
img.bjwf.com.		86400	IN	CNAME	p_w_picpaths.bjwf.com.

;; AUTHORITY SECTION:
bjwf.com.		86400	IN	SOA	ns1.bjwf.com. admin.bjwf.com. 2016061302 3600 300 604800 86400

;; Query time: 0 msec
;; SERVER: 192.168.130.243#53(192.168.130.243)
;; WHEN: Tue Jun 14 15:23:53 2016
;; MSG SIZE  rcvd: 97                      #能夠看出主從上都同樣

# dig -x 192.168.130.10 @192.168.130.243   #反向解析也沒有問題

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.47.rc1.el6 <<>> -x 192.168.130.10 @192.168.130.243
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 37022
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 2

;; QUESTION SECTION:
;10.130.168.192.in-addr.arpa.	IN	PTR

;; ANSWER SECTION:
10.130.168.192.in-addr.arpa. 86400 IN	PTR	p_w_picpath.bjwf.com.

;; AUTHORITY SECTION:
130.168.192.in-addr.arpa. 86400	IN	NS	ns1.bjwf.com.
130.168.192.in-addr.arpa. 86400	IN	NS	ns2.bjwf.com.

;; ADDITIONAL SECTION:
ns1.bjwf.com.		86400	IN	A	192.168.130.242
ns2.bjwf.com.		86400	IN	A	192.168.130.243


子域受權

1、子域配置

一、主域服務器配置

# vim /var/named/bjwf.com.zone 
$TTL 86400
@	IN	SOA	ns1.bjwf.com.	admin.bjwf.com.	(
			2016061303
			1H
			5M
			7D
			1D
)
	IN	NS	ns1.bjwf.com.
	IN 	NS 	ns2.bjwf.com.
ns1	IN	A	192.168.130.242
ns2	IN	A	192.168.130.243
www	IN	A	192.168.130.240
p_w_picpath	IN	A	192.168.130.10
img	IN	CNAME	p_w_picpaths

test	IN	NS	ns1.test.bjwf.com.
ns1	IN	A	192.168.130.244

# rndc reload    #重載服務
server reload successful

二、子域服務器配置

(1)、修改主配置文件及區域定義文件

# vim /etc/named.conf
options {
        listen-on port 53 { 192.168.130.244; };
        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; };
        recursion yes;
# vim /etc/named.rfc1912.zones
zone "test.bjwf.com" IN {
        type master;
        file "test.bjwf.com.zone";
};

(2)、定義區域文件

# vim /var/named/test.bjwf.com.zone
$TTL 86400
@       IN      SOA     ns1.test.bjwf.com.      admin.test.bjwf.com.    (
                        2016061401
                        1H
                        2M
                        7D
                        1D
)
        IN      NS      ns1.test.bjwf.com.
ns1     IN      A       192.168.130.244
www     IN      A       192.168.130.20

# chown :named test.bjwf.com.zone
# chmod 640 test.bjwf.com.zone
# named-checkconf 
# named-checkzone "test.bjwf.com" test.bjwf.com.zone 
zone test.bjwf.com/IN: loaded serial 2016061401
OK

# service named start   #啓動子域進行測試
Starting named:                                            [  OK  ]

# dig -t A www.test.bjwf.com @192.168.130.244   #經過子域測試能夠實現

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.47.rc1.el6 <<>> -t A www.test.bjwf.com @192.168.130.244
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 2134
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1

;; QUESTION SECTION:
;www.test.bjwf.com.		IN	A

;; ANSWER SECTION:
www.test.bjwf.com.	86400	IN	A	192.168.130.20

;; AUTHORITY SECTION:
test.bjwf.com.		86400	IN	NS	ns1.test.bjwf.com.

;; ADDITIONAL SECTION:
ns1.test.bjwf.com.	86400	IN	A	192.168.130.244

;; Query time: 0 msec
;; SERVER: 192.168.130.244#53(192.168.130.244)
;; WHEN: Tue Jun 14 16:06:50 2016
;; MSG SIZE  rcvd: 85

# dig -t A www.test.bjwf.com @192.168.130.242  #經過主域查詢不到

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.47.rc1.el6 <<>> -t A www.test.bjwf.com @192.168.130.242
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 20380
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;www.test.bjwf.com.		IN	A

;; Query time: 1 msec
;; SERVER: 192.168.130.242#53(192.168.130.242)
;; WHEN: Tue Jun 14 16:06:53 2016
;; MSG SIZE  rcvd: 35


2、DNS轉發

DNS轉發,通常指向外網的dns服務器,當本地沒有記錄時會向外網dns服務器發起查詢請求。

注意:被轉發的服務器必須容許爲當前服務作遞歸;

    一、區域轉發:僅轉發對某特定區域的解析請求:

        zone "ZONE_NAME" IN {

          type forward;

            forward (first|only);   #配置文件中不能有扣號。centos6.7中測試

        };

      first:首先轉發;轉發器不響應時,自行去迭代查詢;

      only:只轉發;

    二、全局轉發:針對凡本地沒有經過zone定義的區域查詢請求,統統抓給某轉發服務器。

        options {

            ... ...

            forward {only|first};

            forwarders {SERVER_IP;};

            ... ...

            };


(1)、首先在主從服務器上分別配置子域轉發。

# vim /etc/named.rfc1912.zones
zone "test.bjwf.com" IN {
        type forward;
        forward only;
        forwarders { 192.168.130.244; };
};
# rndc reload  或 service named restart      #分別主從DNS服務器上執行

#測試
# dig -t A www.test.bjwf.com @192.168.130.244     #在子域測試

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.47.rc1.el6 <<>> -t A www.test.bjwf.com @192.168.130.244
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 22532
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1

;; QUESTION SECTION:
;www.test.bjwf.com.		IN	A

;; ANSWER SECTION:
www.test.bjwf.com.	86400	IN	A	192.168.130.20

;; AUTHORITY SECTION:
test.bjwf.com.		86400	IN	NS	ns1.test.bjwf.com.

;; ADDITIONAL SECTION:
ns1.test.bjwf.com.	86400	IN	A	192.168.130.244

;; Query time: 0 msec
;; SERVER: 192.168.130.244#53(192.168.130.244)
;; WHEN: Tue Jun 14 16:28:54 2016
;; MSG SIZE  rcvd: 85

# dig -t A www.test.bjwf.com @192.168.130.242    #主域測試

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.47.rc1.el6 <<>> -t A www.test.bjwf.com @192.168.130.242
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 11415
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1

;; QUESTION SECTION:
;www.test.bjwf.com.		IN	A

;; ANSWER SECTION:
www.test.bjwf.com.	86284	IN	A	192.168.130.20

;; AUTHORITY SECTION:
test.bjwf.com.		86284	IN	NS	ns1.test.bjwf.com.

;; ADDITIONAL SECTION:
ns1.test.bjwf.com.	86284	IN	A	192.168.130.244

;; Query time: 1 msec
;; SERVER: 192.168.130.242#53(192.168.130.242)
;; WHEN: Tue Jun 14 16:28:56 2016
;; MSG SIZE  rcvd: 85

# dig -t A www.test.bjwf.com @192.168.130.243  #主域從服務器上測試

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.47.rc1.el6 <<>> -t A www.test.bjwf.com @192.168.130.243
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 34667
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1

;; QUESTION SECTION:
;www.test.bjwf.com.		IN	A

;; ANSWER SECTION:
www.test.bjwf.com.	86343	IN	A	192.168.130.20

;; AUTHORITY SECTION:
test.bjwf.com.		86343	IN	NS	ns1.test.bjwf.com.

;; ADDITIONAL SECTION:
ns1.test.bjwf.com.	86343	IN	A	192.168.130.244

;; Query time: 1 msec
;; SERVER: 192.168.130.243#53(192.168.130.243)
;; WHEN: Tue Jun 14 16:28:59 2016
;; MSG SIZE  rcvd: 85


(2)、全局轉發這裏不在演示。。自行測試。。



大概寫到這吧。。之後可能還有補充。。寫的比較亂,比較雜,敬請諒解,有什麼不對的地方,麻煩朋友們告訴我。以上爲我的學習整理,若有錯漏,大神勿噴。。。

相關文章
相關標籤/搜索