DNS從入門到管理(一)


DNS從入門到管理(一)


  • DNS概念

  • DNS三步法

  • 反向解析

  • 主從DNS服務器的實現

  • 子域授權

  • 智能DNS

  • 壓力測試與DNS排錯


DNS概述

DNS(Domain Name System,域名系統),域名和IP地址相互映射的一個分佈式數據庫,通過主機名,最終得到該主機名對應的IP地址的過程叫做域名解析。而DNS的主要作用,就是域名解析,將主機名解析成IP地址。DNS這種機制能夠完成從域名(FQDN)到主機識別IP地址之間的轉換,在DNS誕生之前,這個功能主要是通過本地的一個hosts文件來記錄域名和IP的對應關係,但hosts文件只能作用於本機,不能同步更新至所有主機,且當hosts文件很龐大時難以管理,因此,一個分佈式、分層次的主機名管理架構DNS便應用而生。

FQDN(Full Qualified Domain Name)亦即完整主機名,完整主機名由主機名與域名構成。DNS同根文件系統一樣是一個倒置的樹狀結構,最頂層的叫做根服務器,主要負責頂級域名的管理,常見的頂級域名有.com、.cn、.net、.org、.edu、.gov、.mil等,頂級域名則負責管理其下面的二級域名,如baidu.com,qq.com等,二級域名服務器則負責對應的主機名稱或其三級域名解析,依次類推,根服務器管理頂級域名,頂級域名管理二級域名,二級域名管理三級域名或直接解析主機名,如此便形成了一個倒置的樹狀結構。

由此可見,每一級只負責對應下級的域的管理,而全球共有13個根節點服務器,10臺位於美國,其餘3臺分別在英國、瑞典和日本,在這13臺根服務器當中有1臺爲主根服務器放置在美國,其餘12臺爲輔根服務器,所有的根服務器均由美國政府授權的互聯網域名與號碼分配機構ICANN組織統一管理,負責全球互聯網域名根服務器、域名體系和IP地址等的管理。

hosts

hsots: 只能作正向解析,優先級比DNS高,hosts文件一般用於測試,或者用於局域網裏面,
在局域網裏面,也可以用nis。

解析類型

正向解析:FQDN --> IP,即把主機名解析爲IP地址

反向解析: IP --> FQDN,即把IP地址解析爲主機名

泛域名解析:避免用戶寫錯名稱時給出錯誤答案,可通過泛域名解析進行解析至某特定地址。

$GENERATE 1-254 HOST$   A   1.2.3.$

查詢類型

遞歸查詢:遞歸查詢一般是客戶機與服務器之間的查詢,即客戶機只發送一次請求,
其他的工作將由上層服務器去解決,最後一層一層地反饋結果到客戶端。

迭代查詢:迭代查詢一般是DNS服務器與DNS服務器之間的查詢,即最開始的DNS服務
器負責發起請求,其他涉及到的DNS服務器只負責響應即可,然後一直查找到目標DNS
服務器,並將結果返回給客戶端。

zone: DNS數據庫

DNS的解析過程當中涉及到DNS數據庫,此數據庫又分爲正解與反解,正解即從主機名
到IP,反解即從IP到主機名,無論正解還是反解,每個域名所對應的解析記錄我們稱
之爲zone(域)

RR: 資源記錄

RR(Resource Record), 這些記錄的類型有:A, AAAA, PTR, SOA, NS, CNAME, MX
        
    SOA:Start Of Authority,起始授權記錄;一個區域解析庫有且僅能有一個SOA記錄,必須位於解析庫的第一條記錄    
    A:internet Address,作用,FQDN --> IP    
    AAAA: FQDN --> IPv6    
    PTR: PoinTeR,IP --> FQDN    
    NS: Name Server,專用於標明當前區域的DNS服務器    
    CNAME:Canonical Name,別名記錄    
    MX:Mail eXchanger,郵件交換器

主從DNS服務器

DNS也是一個網絡服務,因此就有對應的端口號,其端口號爲53號,通常DNS在查詢時是以UDP/53來查詢,而在主從同步時是以TCP/53來同步。爲了克服網絡中的單點故障問題,DNS服務器一般會有主DNS服務器與從DNS服務器。

主DNS服務器:管理和維護所負責解析的域內解析庫的服務器

從DNS服務器:從主服務器或從服務器“複製”(區域傳輸)解析庫副本

主從在同步時有兩種機制:

push: 主服務器push給從服務器pull:從服務器pull主服務器

push: 推機制,主服務器有變,則主動推送給從服務器,瞬間完成。

pull: 拉機制,從服務器定期地同步主服務器,即刷新時間間隔。如果刷新時間失敗,則在重試時間間隔再次同步。

一次完整的DNS查詢

Client -->hosts文件-->DNS Service Local Cache --> DNS Server (recursion) --> Server Cache --> iteration(迭代) --> 根--> 頂級域名DNS-->二級域名DNS…

如下場景:

Client: liansir------>www.qq.com Liansir上網時會自動獲取一個DNS地址,此DNS地址是liansir所在小區或電信提供一個DNS服務器,而此DNS上一般沒有qq.com所對應的主機與IP的對應關係,即沒有www主機所對應的IP,(存放www主機所對應IP的DNS服務器稱爲權威服務器)

此時,liansir自動獲取的DNS會去找根域,(每個DNS軟件上面都有全球的根服務器的地址),根域會將自己子域.com的IP地址給liansir自動獲取的DNS, 於是此DNS又去請求.com,並說我要找www.qq.com,而.com也是非權威服務器,於是將其子域qq.com的地址發送給liansir自動獲取的DNS,從而liansir用戶得到qq.com的地址,併成功訪問www.qq.com

而當liansir訪問過www.qq.com之後,其本地就會有緩存,故而在短期之內訪問www.qq.com時並不會再去訪問根域。同樣地,那個電信DNS服務器也會保存相應的緩存,從而提高訪問速度。

其實,這個電信DNS服務器就是一個緩存服務器。

問題:如果liansir本地有qq.com的子域的DNS, 其如何訪問qq.com? 父域是知道子域的DNS地址的,但子域是不記錄父域的DNS地址的。故而此種情況還是要經過根域進而查詢的!

遞歸查詢:客戶端向第一個DNS服務器發送的請求,最後由此DNS服務器給客戶端結果。“負責到底的一種行爲” 迭代查詢:根域與各DNS服務器之間的查詢,“給你一個最好的結果但不是最終結果”。

DNS是一種機制,一種協議,實現這種機制的常用工具爲bind, BekerleyInternatName Domain, ISC (www.isc.org),目前爲使用最廣泛的DNS服務器軟件。

DNS三步法

DNS的服務器軟件除了bind之外,還有bind-chroot(bind主目錄禁錮程序,就是將bind程序禁錮在家目錄當中,centos 6之後的系統默認禁錮在/var/named/目錄下);

DNS的配置文件主要有:

/etc/named.conf, /etc/named.rfc1912.zones: DNS的主配置文件;
/var/named: 該目錄爲DNS數據庫文件存放的目錄,每一個域文件都存放在這裏;
/etc/rc.d/init.d/named: 爲DNS服務的服務腳本

一臺物理服務器可同時爲多個區域提供解析,並且該DNS服務器上必須要有根區域文件named.ca;rndc(remote name domain controller)服務可爲DNS提供輔助性的管理功能,該服務監聽在主機TCP的953號端口,默認與bind安裝在同一主機上,且只能通過127.0.0.1來連接DNS服務的named進程。

  1. 安裝bind並啓動named服務

[root@centos6 ~]#yum -y install bind

wKiom1f11Z_hcU_7AAAmzyh3kXQ482.png

關閉防火牆並設置爲開機不允許啓動

[root@centos6 ~]#iptables -F 
[root@centos6 ~]#chkconfig iptables off
[root@centos6 ~]#chkconfig --list iptables
iptables        0:off   1:off   2:off   3:off   4:off   5:off   6:off
[root@centos6 ~]#

CentOS 7爲如下設置:

~]#systemctl is-enabled firewalld  #查看防火牆是否開啓
~]#systemctl disable firewalld

啓動named服務

[root@centos6 ~]#service named start
Starting named:                                            [  OK  ]

Centos 7相關命令:

[root@centos7-min ~]#systemctl enable named
[root@centos7-min ~]#systemctl disable named

[root@centos7-min ~]#systemctl start named
[root@centos7-min ~]#systemctl status named
  1. 創建域(zone)

首先編輯/etc/named.conf文件,本文以添加liansir99.com域爲例。

在修改/etc/named.conf文件時,最好先備份:cp -p /etc/named.conf /etc/named.conf.bak

options {
        listen-on port 53 { 127.0.0.1; };
        listen-on-v6 port 53 { ::1; };
        directory       "/var/named";
        allow-query     { localhost; };
        recursion yes;
        
        dnssec-enable yes;
        dnssec-validation yes;
        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";

wKioL1f11e2DoI8iAABNlpDrWTY889.png

常見的修改選項:

listen-on port 53 { localhost; };    localhost:相當於一個變量,代表本機所有IP
allow-query  { localhost; }; 只允許本機查詢
allow-query  { any; }; any表示任何主機,也可寫成一個網段

注意:任何服務程序如果期望其能夠通過網絡被其它主機訪問,至少應該監聽在一個能與外部主機通信的IP地址上。

緩存名稱服務器的配置:監聽外部地址即可;

dnssec: 建議關閉dnssec,設爲no

創建域zone數據庫文件

區域定義:本機能夠爲哪些zone進行解析,就要定義哪些zone;

zone "ZONE_NAME" IN {};

其中zone的格式爲:

zone "ZONE_NAME" IN {type {master|slave|hint|forward}; 
file "ZONE_NAME.zone"; 
};

type:

該zone的類型,主要類型有:

hint:根
master:主DNSslave: 從DNSforward: 專用於轉發

創建zone:

[root@centos6 ~]#vim /etc/named.rfc1912.zones
zone "liansir99.com" IN {        
        type master;
        file "liansir99.com.zone";
};
"/etc/named.rfc1912.zones" 47L, 1005C written

創建zone的數據庫文件:

[root@centos6 /var/named]#vim liansir99.com.zone

$TTL 86400
@  IN SOA ns1.liansir99.com. admin.liansir99.com. (                                        
                                                2016100401
                                                1H  
                                                5M  
                                                7D     
                                                1D)
@     NS  ns1.liansir99.com.
@     MX  10  mail.liansir99.com.
@     NS  slave.liansir99.com.
ns1   A   10.1.1.1
slave A   10.1.1.4
www   A   10.1.1.2
www   A   10.1.1.3
mail  A   10.1.1.5
ftp   A   10.1.1.4
web   CNAME  ftp
  1. 修改解析庫文件的屬主屬組並重啓DNS服務

[root@centos6 /var/named]#chown named.named liansir99.com.zone 
[root@centos6 /var/named]#chmod 640 liansir99.com.zone
[root@centos6 /var/named]#service named restart
Stopping named: .                                          [  OK  ]
Starting named:                                            [  OK  ]
[root@centos6 /var/named]#

如果沒有報錯信息,則說明配置正常,若有相關報錯,則查看系統日誌/var/log/messages.

也可進行語法檢測:

[root@centos6 ~]#named-checkconf
[root@centos6 /var/named]#named-checkzone "liansir99.com" ./liansir99.com.zone zone 
liansir99.com/IN: loaded serial 2016100401
OK
[root@centos6 /var/named]#
  1. 測試

[root@centos6 ~]#rndc reload
server reload successful
[root@centos6 ~]#
[root@centos6 ~]#dig www.liansir99.com  @10.1.1.1
; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.47.rc1.el6 <<>> www.liansir99.com @10.1.1.1
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 27361;; 
flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 0;; 

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

;; ANSWER SECTION:
www.liansir99.com.      86400   IN      CNAME   websrv.liansir99.com.

;; AUTHORITY SECTION:
liansir99.com.          86400   IN      SOA     ns1.liansir99.com. admin.liansir99.com. 2016100401 3600 300 604800 86400
;; Query time: 1 msec
;; SERVER: 10.1.1.1#53(10.1.1.1)
;; WHEN: Wed Oct  5 17:16:20 2016
;; MSG SIZE  rcvd: 102
[root@centos6 ~]#

查看53端口是否正常開啓:

wKiom1f114_xMTrNAABH1wBo9KM375.png

找一客戶端,修改其/etc/resolv.conf文件,將nameserver指向主DNS10.1.1.1

wKioL1f116KRts0pAAAXITyaIRU605.png

注:重啓服務後失效,可在網卡配置文件裏面修改

在客戶端上ping

wKiom1f117GCMh_dAABcat_ELww050.png

在Windows上添加dns條目:

wKioL1f118DjEKGTAABC_tqAJq8487.png

wKiom1f1187hPnElAABWJAPKaqE758.png

OK,我們再在DNS服務端開啓httpd功能:

[root@centos6 ~]#service httpd status
httpd (pid  6499) is running...

[root@centos6 ~]#cat /var/www/html/index.html welcome 
liansir99.com [root@centos6 ~]#

在客戶端上links:

wKioL1f11_yC4WqnAAAJHZ1XGMc446.png

[[email protected] ~]#dig -t A www.liansir99.com @10.1.1.1; <<>> DiG 9.3.6-P1-RedHat-9.3.6-4.P1.el5 <<>> -t A www.liansir99.com @10.1.1.1
;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 31319
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 1, ADDITIONAL: 1

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

;; ANSWER SECTION:
www.liansir99.com.      86400   IN      A       10.1.1.3www.liansir99.com.      86400   IN      A       10.1.1.2;; AUTHORITY SECTION:
liansir99.com.          86400   IN      NS      ns1.liansir99.com.

;; ADDITIONAL SECTION:
ns1.liansir99.com.      86400   IN      A       10.1.1.1
;; Query time: 12 msec
;; SERVER: 10.1.1.1#53(10.1.1.1)
;; WHEN: Tue Oct  4 21:45:11 2016
;; MSG SIZE  rcvd: 101
[[email protected] ~]#

可看出DNS是用了53號端口進行網絡服務的,那此處其走的是TCP還是UDP呢?分別屏蔽TCP與UDP53端口,然後dig。

[root@centos6 ~]#iptables -A INPUT -p tcp --dport 53 -j REJECT

wKioL1f12DvjrD9yAABhYt3yaao470.png

[root@centos6 ~]#iptables -F
[root@centos6 ~]#iptables -A INPUT -p udp --dport 53 -j REJECT

wKiom1f12Euj7AcyAAAsnxr6YXM797.png

此由可知,DNS在一般情況下是用UDP進行查詢的,誰叫人家UDP天生快人一步呢!至此,一個極簡風格的DNS便配置完成了!步驟其實就不多,首先修改主配置文件/etc/named.con, 然後在主配置文件/etc/named.rfc1912.zones裏面添加zone條目,最後在/var/named/目錄下創建相關zone的解析庫並重啓name即可!

資源記錄RR小結:

資源記錄定義的格式:
語法:name  [TTL]   IN  rr_type     value
注意:
(1) TTL可從全局繼承
(2) @可用於引用當前區域的名字
(3) 同一個名字可以通過多條記錄定義多個不同的值;此時DNS服務器會以輪詢方式
響應
(4) 同一個值也可能有多個不同的定義名字;通過多個不同的名字指向同一個值進
行定義;此僅表示通過多個不同的名字可以找到同一個主機

反向解析

  1. 創建反向區域:反向區域也得指明主從

wKioL1f12KTS08x1AAAVrs0svJ0141.png

  1. 創建反向區域數據庫

wKiom1f12LKB6JKFAABBOSgiFXA709.png

在反向解析中,郵件服務要求比較高,要一一對應。對於區域數據而言,SOA與NS是必須要添加的!

  1. 修改解析庫文件的權限並重啓DNS服務

    wKiom1f12NKgWQgbAABGTax5yYE229.png

  2. 測試

[[email protected] ~]#dig -x 10.1.1.1  # 等價於dig -t PTR 5.1.1.10.in-addr.arpa

; <<>> DiG 9.3.6-P1-RedHat-9.3.6-4.P1.el5 <<>> -x 10.1.1.1;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 4864;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1

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

;; ANSWER SECTION:1.1.1.10.in-addr.arpa.  86400   IN      PTR     ns1.1.10.in-addr.arpa.

;; AUTHORITY SECTION:1.10.in-addr.arpa.      86400   IN      NS      ns1.liansir99.com.

;; ADDITIONAL SECTION:
ns1.liansir99.com.      86400   IN      A       10.1.1.1
;; Query time: 15 msec
;; SERVER: 10.1.1.1#53(10.1.1.1)
;; WHEN: Tue Oct  4 23:26:01 2016
;; MSG SIZE  rcvd: 104
[[email protected] ~]#

反向區域也就是個紙老虎,兩三步亦搞定,首先添加反向zone條目,然後創建反向區域數據庫,最後修改反向解析庫文件的權限與屬主屬組並重啓DNS服務!


主從DNS服務器的實現

主從DNS服務器的實現,其實也不難,我們在上面實現的就是一個主DNS,接着我們實現從DNS即可,主從DNS的相關介紹請查卷DNS概述。

主從DNS服務器實現的步驟:

  1. 主授權從:allow-transfer與從服務器的NS記錄

wKioL1f12S-i0SbPAAA3Qt4Y6Ko225.png

主服務器需要在bind的主配置文件/etc/named.conf或/etc/named.rfc191.zones的每個zone的定義中設置允許哪些從服務器來同步信息,不然誰都可以成爲主的從服務器,這是一件多麼可怕的事!

wKiom1f12UWg9LIJAABnrueVuLY578.png

至於添加從服務器的NS記錄,也不難理解,添加了NS記錄,就得有解析NS的A記錄,不然怎麼解析去。

  1. 修改從服務器的主配置文件/etc/named.conf

wKioL1f12VXRDx6UAABQrATiEfw272.png

  1. 在/etc/named.rfc1912.zones裏面添加從DNS的zone條目

wKiom1f12WjimQujAAA4UaHD3lE812.png

注意:主從的域名必須完全一致!文件名無所謂!

  1. 重啓主從服務器的named進程,通過觀察日誌文件/var/log/mmessages或者查看從服務器上的解析庫文件是否進行了同步。

注:從DNS服務器的數據解析庫文件不需要定義,因爲要從主服務器上同步過來。

wKioL1f12XmRb-qtAABicydKsMM132.png

wKiom1f12YzwLQF6AACJQ3RlLfw879.png

設置好Windows的主DNS服務器,刷新其緩存:

C:\Users\Administrator>ipconfig /flushdns

Windows IP Configuration

Successfully flushed the DNS Resolver Cache.

nslookup的交互式查詢與直接查詢:

wKioL1f12aKRSQKDAABhqBBe_1s309.png

在linux上:

wKioL1f12bmzxw7dAABTiAOabbI106.png

那麼,反向區域的從服務器如何配置呢?正向的從都會了,還不會反向的從呼?依葫蘆畫瓢唄!

反向區域的從服務器

在主服務器上:

wKiom1f12c2xuJwCAABN3mXw05k942.png

當然可以直接在主服務器的/etc/named.conf文件中直接指明:

wKioL1f12dzAahlnAABGPDd9hak467.png

在從服務器上添加反向的zone條目:

wKiom1f12eyTVY2mAAA0mu2436Y252.png

從服務器的allow-transfer要修改爲none:

wKiom1f12f2ibJgpAABMVgCg2cw319.png

rndc reload 即可實現反向區域的主從同步!

wKioL1f12gyjCjQwAACnHPQL4dY213.png

由此可知,不管是正向的主從還是反向的主從,我們的思路是類似的:在主DNS服務器上修改/etc/named.conf文件並添加正向或反向的zone條目,指定從服務器的IP地址,寫好正向和反向的解析庫文件;在從DNS服務器上,只需修改/etc/named.conf文件並添加正向或反向的zone條目,最後重啓DNS服務即可實現正向或反向的主從同(得到主DNS的解析庫文件)。

我們用同樣的端口測試方法可得到DNS的主從同步時用的是TCP/53.


子域授權

在DNS查詢的過程中,DNS解析請求發送到指定的DNS服務器後,其會一級一級去查找域名進行解析,此處的每一級就是一個域,且每個域都爲上級域的子域。

所謂子域授權,因爲本級域只負責解析該級域名,對於下一級域名的解析便告知對應的DNS服務器地址,具體的解析權交給下級完成。

授權原理就是在本域名服務器上的正向解析庫文件中定義子域對應的DNS服務器的主機名及其A記錄即可。另外,子域還需要定義其對應子域的解析庫文件,這樣才能對子域進行解析。

子域的實現有兩種方法:子域與父域在同一服務器上;子域與父域在不同的服務器上。

子域與父域在同一主機上的前提上子域與父域的訪問量並不大,父域也無需對子域進行授權;而子域與父域如果在不同主機上,則父域要對子域進行授權。

子域與父域在同一服務器上的實現

方法一:

  1. 修改/etc/named.conf文件

  2. 添加子域的zone條目:vim /etc/named.rfc1912.zones

wKiom1f12iTB0bv_AAAU4Fh0Kzg585.png

  1. 創始解析庫文件

wKioL1f12jXwSUvFAACNzomFU4I126.png

  1. 重啓服務

wKioL1f12kXQZzO5AAA_y-syFN0540.png

wKiom1f12lbQ1_4OAAA_JMT-chg623.png

[[email protected] ~]#dig www.game.liansir99.com

; <<>> DiG 9.3.6-P1-RedHat-9.3.6-4.P1.el5 <<>> www.game.liansir99.com
;; global options:  printcmd;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 56590
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 2, ADDITIONAL: 2

;; QUESTION SECTION:
;www.game.liansir99.com.                IN      A

;; ANSWER SECTION:
www.game.liansir99.com. 86400   IN      A       10.1.1.3
www.game.liansir99.com. 86400   IN      A       10.1.1.2

;; AUTHORITY SECTION:
game.liansir99.com.     86400   IN      NS      ns2.game.liansir99.com.
game.liansir99.com.     86400   IN      NS      ns1.liansir99.com.

;; ADDITIONAL SECTION:
ns1.liansir99.com.      86400   IN      A       10.1.1.1
ns2.game.liansir99.com. 86400   IN      A       10.1.1.1

;; Query time: 14 msec;; SERVER: 10.1.1.1#53(10.1.1.1)
;; WHEN: Wed Oct  5 02:54:28 2016
;; MSG SIZE  rcvd: 140
[[email protected] ~]#

過程:電信DNS服務器-->.(根)--> .com-->liansir99.com--->game.liansir99.com

注:在/etc/named.rfc1912.zones這個文件裏面,其認爲liansir99.com與game.liansir99.com是平級的!所以,我們可以直接數據解析庫中實現本機的子域。

方法二:

直接在資源記錄中實現子域:

wKiom1f120Hzyu2RAABPSplYd-w375.png

創建子域的zone:

wKioL1f121GQMpA6AABJCPIMtTg477.png

創建解析庫文件並重啓服務:

wKiom1f122OC7sf3AACEEUd_f1Y064.png

測試:

wKioL1f123TSVopWAACG5IEKHeA199.png

[[email protected] ~]#dig www.study.liansir99.com

; <<>> DiG 9.3.6-P1-RedHat-9.3.6-4.P1.el5 <<>> www.study.liansir99.com;; global options:  printcmd;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 30814
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 2, ADDITIONAL: 2

;; QUESTION SECTION:
;www.study.liansir99.com.       IN      A

;; ANSWER SECTION:
www.study.liansir99.com. 86400  IN      A       10.1.1.3
www.study.liansir99.com. 86400  IN      A       10.1.1.2

;; AUTHORITY SECTION:
study.liansir99.com.    86400   IN      NS      ns2.study.liansir99.com.
study.liansir99.com.    86400   IN      NS      ns1.liansir99.com.

;; ADDITIONAL SECTION:
ns1.liansir99.com.      86400   IN      A       10.1.1.1
ns2.study.liansir99.com. 86400  IN      A       10.1.1.1

;; Query time: 30 msec
;; SERVER: 10.1.1.1#53(10.1.1.1)
;; WHEN: Wed Oct  5 03:22:13 2016
;; MSG SIZE  rcvd: 141
[[email protected] ~]#

子域與父域在不同服務器上的實現

[root@centos6 ~]#yun -y install bind-chroot
[root@centos6 ~]#service named restart
Stopping named:                                            [  OK  ]
Starting named:                                            [  OK  ]
[root@centos6 ~]#

bind-chroot的安裝使得DNS的數據庫文件搬家:

[root@centos6 ~]#cd /var/named/chroot/
[root@centos6 /var/named/chroot]#ls
dev  etc  usr  var

在父域服務器上委派子域:在zone的解析庫裏面添加相應的子域NS記錄並關閉dnssec

wKiom1f12-HyWvwwAABhOvxKNVQ433.png

在/etc/named.conof裏面關掉devsec相關選項。(只能no,不能註釋掉,註釋掉默認爲yes)

wKioL1f12_jy3RrNAABk_YzQJ9Y592.png

在子域服務器上:也可以選擇安裝bind-chroot,並啓動named服務。

[root@auto-centos7 ~]#yum -y install bind bind-chroot

[root@auto-centos7 ~]#systemctl start named
  1. 修改主配置文件/etc/named.conf裏面的相關內容並添加zone條目(或/etc/named.rfc1912.zones裏面創建zone條目)

[root@auto-centos7 ~]#vim /etc/named.conf
        zone "music.liansir99.com" IN {
        type master;
        file "music.liansir99.com.zone";
}; 
[root@auto-centos7 ~]#named-checkconf
  1. 創建解析庫文件

wKiom1f13EvDrRk2AABMksypjb8551.png

別忘了修改屬主屬組與權限:

[root@auto-centos7 /var/named]#chown named.named music.liansir99.com.zone
[root@auto-centos7 /var/named]#chmod 640 music.liansir99.com.zone
[root@auto-centos7 /var/named]#
  1. rndc reload 父域與子域服務器

在子域上自查:

wKiom1f13GujKm0WAAB-XgeCgDM566.png

在父域上自查:

wKioL1f13LqTIqiIAACEsqtmfGA828.png

在其它主機上檢測:

wKiom1f13QrjVCKLAACdUARn0uU610.png

本文《DNS從入門到管理(一)》前半部分主要講述了DNS及其相關的基本概念,後面以實驗的形式給出一個最基本的DNS是怎麼實現的,接着實現了DNS的反向解析、主從DNS服務器,最後介紹了子域授權。


2016.10.6




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