Linux之DNS服務

DNS服務

DNS: Domain Name Service,協議(C/S, 53/udp, 53/tcp)應用層協議

BIND:BekerleyInternatName Domain, ISC (www.isc.org)

本地名稱解析配置文件:hosts

    /etc/hosts

    %WINDIR%/system32/drivers/etc/hosts

        例如:

        1.1.1.1 www.magedu.com

        2.2.2.2 www.apple.com


DNS域名

根域


    一級域名::Top Level Domain: tld

        組織域:.com,.org,.mil,.gov,.edu,

        國家域:.cn,.hk,.tw,.jp,.us,.uk

     反向域:.in-addr.arpa

     二級域名

    三級域名

    最多127級域名

ICANN(The Internet Corporation for Assigned Names and Numbers)互聯網名稱與數字地址分配機構,負責在全球範圍內對互聯網通用頂級域名(gTLD)以及國家和地區頂級域名(ccTLD)系統的管理、以及根服務器系統的管理。


DNS解析

DNS查詢類型:

    遞歸查詢:逐層解析(根DNS拒絕回答遞歸問題)

    迭代查詢:DNS纔會迭代

名稱服務器:域內負責解析本域內的名稱的主機;

    根服務器:13組服務器 (可以在/var/named/named.ca文件裏面看到)

解析類型:

    FQDN --> IP

    IP --> FQDN

注意:正反向解析是兩個不同的名稱空間,是兩棵不同的解析樹


DNS服務器類型

    主DNS服務器

    從DNS服務器

    緩存DNS服務器(轉發器)

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

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

    序列號:解析庫版本號,主服務器解析庫變化時,其序列遞增

    刷新時間間隔:從服務器從主服    務器請求同步解析的時間間隔

    重試時間間隔:從服務器請求同步失敗時,再次嘗試時間間隔

    過期時長:從服務器聯繫不到主服務器時,多久後停止服務

“通知”機制:主服務器解析庫發生變化時,會主動通知從服務器


區域傳輸

    完全傳輸:傳送整個解析庫

    增量傳輸:傳遞解析庫變化的那部分內容

Domain: Fully Qualified Domain Name 完全域名解析

    正向解析:FQDN --> IP

    反向解析: IP --> FQDN

負責本地域名的正向和反向解析庫:

    正向區域

    反向區域


DNS解析

一次完整的查詢請求經過的流程:

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

解析答案:

    肯定答案:

    否定答案:請求的條目不存在等原因導致無法返回結果

    權威答案:aa

    非權威答案


資源記錄

區域解析庫:由衆多RR組成:

    資源記錄:Resource Record, RR

    記錄類型: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,郵件交換器


資源記錄定義的格式

    語法:name [ttl(緩存時間)] IN  資源記錄類型(RRtype)  Value

    例如:

       www  600(單位s) IN     A     1.2.3.4

       www.magedu.com.  600     IN     A     1.2.3.4

注意:

(1) TTL可從全局繼承

(2) @可用於引用當前區域的名字

(3) 同一個名字可以通過多條記錄定義多個不同的值;此時DNS服務器會以輪詢方式響應

(4) 同一個值也可能有多個不同的定義名字;通過多個不同的名字指向同一個值進行定義;此僅表示通過多個不同的名字可以找到同一個主機


SOA記錄

name: 當前區域的名字,例如“magedu.com.”

value: 有多部分組成

(1) 當前區域的主DNS服務器的FQDN,也可以使用當前區域的名字;

(2) 當前區域管理員的郵箱地址;但地址中不能使用@符號,一般用.替換,例如linuxedu.magedu.com

(3) 主從服務區域傳輸相關定義以及否定的答案的統一的TTL


例如:

@  600   IN  SOA  na.magedu.com.  管理員郵箱(dnsadmin.magedu.com.)(

             序列號(serial number) ;註釋內容,十進制數據,不能超過10位,通常使用日期,例如2014031001

             刷新時間(refresh time) ;即每隔多久到主服務器檢查一次

             重試時間(retry time) ;應該小於refresh time

             過期時間(expire time)

             netgative answer ttl ;否定答案的ttl

                                       )


NS記錄

name: 當前區域的名字,通常可以簡寫爲@

value: 當前區域的某DNS服務器的FQDN名字,例如ns.magedu.com.;

注意:一個區域可以有多個NS記錄;

    例如:

    magedu.com. IN NS ns1.magedu.com.

    magedu.com. IN NS ns2.magedu.com.

注意:

    (1) 相鄰的兩個資源記錄的name相同時,後續的可省略

    (2) 對NS記錄而言,任何一個ns記錄後面的服務器名字,都應該在後續有一個A記錄


MX記錄,可以有多個

name: 當前區域的名字

value: 當前區域的某郵件服務器(smtp服務器)的主機名

一個區域內,MX記錄可有多個;但每個記錄的value之前應該有一個數字(0-99),表示此服務器的優先級;數字越小優先級越高

例如:

    magedu.com.IN MX 10 mx1.magedu.com.

    IN MX 20 mx2.magedu.com.

注意:

    (1) 對MX記錄而言,任何一個MX記錄後面的服務器名字,都應該在後續有一個A記錄


A記錄:只能定義在正向區域數據文件中

name: 某主機的FQDN,例如www.magedu.com.

value: 主機名對應主機的IP地址;

例如:

    www.magedu.com.  IN  A  1.1.1.1

    www.magedu.com.  IN  A  2.2.2.2

    mx1.magedu.com.  IN  A  3.3.3.3

    mx2.magedu.com.  IN  A  4.4.4.4

    $GENERATE  1-254  HOST$  A  1.2.3.$

    *.magedu.com.    IN  A  5.5.5.5

    magedu.com.     IN  A  6.6.6.6

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

但凡以FQDN做爲其值的記錄,應該給這個值做一條A記錄


其它記錄

AAAA:

    name: FQDN

    value: IPv6

PTR: IP --> FQDN

只能定義在反向區域數據文件中,反向區域名稱爲逆向網絡地址加.in.addr.arpa.後綴組成

name: IP,有特定格式,把IP地址反過來寫,1.2.3.4,要寫作4.3.2.1;

    而有特定後綴:in-addr.arpa.,所以完整寫法爲:4.3.2.1.in-addr.arpa.

value: FQDN

例如:

    4.3.2.1.in-addr.arpa. IN PTR www.magedu.com

    簡寫成:如1.2.3爲網絡地址,可省

    4 IN PTR www.magedu.com.

注意:網絡地址及後綴可省略;主機地址依然需要反着寫


別名記錄

CNAME:

    name: 別名的FQDN

    value: 真正名字的FQDN;

    例如:

    www.magedu.com. IN CNAME websrv.magedu.com


子域

子域授權:每個域的名稱服務器,都是通過其上級名稱服務器在解析庫進行授權

類似根域授權tld:

    .com.    IN  NS      ns1.com.

    .com.    IN  NS      ns2.com.

    ns1.com.   IN  A     2.2.2.1

    ns2.com.   IN  A     2.2.2.2

magedu.com. 在.com的名稱服務器上,解析庫中添加資源記錄:

    magedu.com.  IN  NS     ns1.magedu.com.

    magedu.com.  IN  NS     ns2.magedu.com.

    magedu.com.  IN  NS     ns3.magedu.com.

    ns1.magedu.com.  IN  A   3.3.3.1

    ns2.magedu.com.  IN  A   3.3.3.2

    ns3.magedu.com.  IN  A   3.3.3.3

glue record:粘合記錄,父域授權子域的記錄


互聯網域名

域名註冊:

    代理商:萬網, 新網;godaddy

註冊完成以後,想自己用專用服務來解析

    管理後臺:把NS記錄指向的服務器名稱,和A記錄指向的服務器地址


BIND安裝

    BIND的安裝配置:

    dns服務程序包:bind,unbound

    程序名:named,unbound

    程序包:yum list all bind*

        bind:服務器

        bind-libs:相關庫

        bind-utils:客戶端

        bind-chroot: /var/named/chroot/


bind服務器

服務腳本和名稱:/etc/rc.d/init.d/named,unbound.service

主配置文件:/etc/named.conf, /etc/named.rfc1912.zones,             /etc/rndc.key,/etc/unbound/unbound.conf

解析庫文件:/var/named/ZONE_NAME.ZONE

注意:

    (1) 一臺物理服務器可同時爲多個區域提供解析;

    (2) 必須要有根區域文件;named.ca

    (3) 應該有兩個(如果包括ipv6的,應該更多)實現localhost和本地迴環地址的解析庫

rndc: remote name domain controller,

    默認與bind安裝在同一主機,且只能通過127.0.0.1連接named進程

    提供輔助性的管理功能;953/tcp

rndc密鑰

    rndc:持有一半密鑰,保存於rndc的配置文件中

    BIND:持有一辦密鑰,保存在主配置文件中

    rndc的配置文件/etc/rndc.conf

    生成密鑰 rndc-confgen


配置文件

主配置文件:

    全局配置:options {};

    日誌子系統配置:logging {};

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

    zone "ZONE_NAME" IN {};

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


緩存名稱服務器的配置:

    監聽外部地址即可;

    dnssec: 建議關閉dnssec,設爲no


配置主DNS服務器

主DNS名稱服務器:

    (1) 在主配置文件中定義區域

    zone "ZONE_NAME" IN {

    type {master|slave|hint|forward};

    file "ZONE_NAME.zone";

    };

    (2) 定義區域解析庫文件

        出現的內容:

        宏定義;

        資源記錄;

主配置文件語法檢查:

named-checkconf

解析庫文件語法檢查:

named-checkzone "magedu.com" /var/named/magedu.com.zone

rndc status|reload;  service named reload 重載文件


主區域示例

$TTL 86400

$ORIGIN magedu.com.

@       IN     SOA    ns1.magedu.com.  admin.magedu.com (

                            2015042201

                            1H

                            5M

                             7D

                            1D )

       IN    NS    ns1

       IN    NS    ns2

       IN    MX     10    mx1

       IN    MX     20    mx2

ns1    IN    A    172.16.100.11

ns2    IN    A    172.16.100.12

mx1    IN    A    172.16.100.13

mx2    IN    A    172.16.100.14

websrv   IN    A    172.16.100.11

websrv   IN    A    172.16.100.12

www    IN    CNAME  websrv


測試命令

dig

    dig [-t type] name [@SERVER] [query options]

    dig只用於測試dns系統,不會查詢hosts文件進行解析

查詢選項:

    +[no]trace:跟蹤解析過程: dig +trace magedu.com

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

    測試反向解析:

        dig -x IP = dig –t ptr reverseip.in-addr.arpa

    模擬區域傳送:

        dig -t axfrZONE_NAME @SERVER

        dig -t axfrmagedu.com @10.10.10.11

        dig –t axfr100.1.10.in-addr.arpa @172.16.1.1

        dig -t NS . @114.114.114.114

        dig -t NS . @a.root-servers.net


host [-t type] name [SERVER]

    host –t NS magedu.com @172.16.0.1

    host –t soa magedu.com

    host –t mx magedu.com

    host –t axfr magedu.com

    host 1.2.3.4


nslookup 命令:nslookup[-option] [name | -] [server]

交互式模式:

    nslookup>

    server IP: 指明使用哪個DNS server進行查詢

    set q=RR_TYPE: 指明查詢的資源記錄類型

    NAME: 要查詢的名稱


反向區域

反向區域:

    區域名稱:網絡地址反寫.in-addr.arpa.

    172.16.100. --> 100.16.172.in-addr.arpa.

(1) 定義區域

    zone "ZONE_NAME" IN {

    type {master|slave|forward};

    file "網絡地址.zone"

    };

(2) 定義區域解析庫文件

    注意:不需要MX,以PTR記錄爲主


反向區域示例

$TTL 86400

$ORIGIN 100.16.172.in-addr.arpa.

@    IN    SOA    ns1.magedu.com. admin.magedu.com. (

                        2015042201

                        1H

                        5M

                        7D

                        1D )

    IN    NS    ns1.magedu.com.

    IN    NS    ns2.magedu.com.

11    IN    PTR    ns1.magedu.com.

11    IN    PTR    www.magedu.com.

12    IN    PTR    mx1.magedu.com.

12    IN    PTR    www.magedu.com.

13    IN    PTR    mx2.magedu.com.


從服務器

1、應該爲一臺獨立的名稱服務器

2、主服務器的區域解析庫文件中必須有一條NS記錄指向從服務器

3、從服務器只需要定義區域,而無須提供解析庫文件;解析庫文件應該放置於/var/named/slaves/目錄中

4、主服務器得允許從服務器作區域傳送

5、主從服務器時間應該同步,可通過ntp進行;

6、bind程序的版本應該保持一致;否則,應該從高,主低

    定義從區域的方法:

    zone "ZONE_NAME" IN {

    type slave;

    masters { MASTER_IP; };

    file "slaves/ZONE_NAME.zone";

    };


rndc命令

rndc:

    rndc--> rndc(953/tcp)

    rndc COMMAND

COMMAND:

    reload:      重載主配置文件和區域解析庫文件

    reload zone:    重載區域解析庫文件

    retransfer zone: 手動啓動區域傳送過程,而不管序列號是否增加

    notify zone:    重新對區域傳送發通知

    reconfig:     重載主配置文件

    querylog:     開啓或關閉查詢日誌文件/var/log/message

    trace:       遞增debug一個級別

    trace LEVEL:   指定使用的級別

    notrace:    將調試級別設置爲0

    flush:     清空DNS服務器的所有緩存記錄


區域傳送

   輔助DNS服務器從主DNS服務器或其他的輔助DNS服務器請求數據傳輸過程

       完全區域傳送:傳送區域的所有數據,AXFR

       增量區域傳送:傳送區域中改變的數據部分,IXFR


   用dig模擬完全區域傳送

        dig -t axfr 區域名稱 @server


   主從同步:

       /etc/resolv.conf

   主從:

    主:bind版本可以低於從的


    主從可以不再同一網段


   向區域中添加從服務器的關鍵兩步

      在上級獲得授權

      在區域數據文件中爲從服務器添加一條NS記錄和對應的A或PTR記錄


      masters{ip;};


區域傳送安全控制

    allow-transfer{127.0.0.1;127.16.100.1}


子域

子域授權:分佈式數據庫

正向解析區域子域方法:

定義一個子區域:

    ops.magedu.com. IN NS ns1.ops.magedu.com.

    ops.magedu.com. IN NSns2.ops.magedu.com.

    ns1.ops.magedu.com. IN A 1.1.1.1

    ns2.ops.magedu.com. IN A 1.1.1.2

    fin.magedu.com. IN NS ns1.fin.magedu.com.

    fin.magedu.com. IN NS ns2.fin.magedu.com.

    ns1.fin.magedu.com. IN A 3.1.1.1

    ns2.fin.magedu.com. IN A 3.1.1.2

注意:關閉dnssec功能:

    dnssec-enable no;

    dnssec-validation no;


轉發服務器

注意:被轉發的服務器需要能夠爲請求者做遞歸,否則轉發請求不予進行

(1) 全局轉發: 對非本機所負責解析區域的請求,全轉發給指定的服務器

    在/etc/named.conf 下面編輯

    Options {

    forward first(先轉發在找根)|only(僅轉發);

    fowwarders{ Dns_Server_ip;};

    };

(2) 特定區域轉發:僅轉發對特定的區域的請求,比全局轉發優先級高

    在/etc/named.rfc1912.conf 下面編輯

    zone "ZONE_NAME" IN {

    type forward;

    forward first|only;

    forwarders { Dns_Server_ip;};

    };

注意:轉發必須對方服務器支持遞歸

   關閉dnssec功能:

     dnssec-enable no;

     dnssec-validation no;


bind中ACL

bind中基礎的安全相關的配置:

    acl: 把一個或多個地址歸併爲一個集合,並通過一個統一的名稱調用

格式:

    acl acl_name{

    ip;

    net/prelen;

    ……

    };

示例:

    acl mynet{

        172.16.0.0/16;

        10.10.10.10;

    };


bind有四個內置的acl:

    none: 沒有一個主機

    any: 任意主機

    localhost: 本機

    localnet: 本機的IP同掩碼運算後得到的網絡地址

注意:只能先定義,後使用;因此一般定義在配置文件中,處於options的前面


安全控制訪問控制


訪問控制的指令:

   allow-query {}:此項僅用於服務器是緩存名稱服務器時,只開放查詢功能給本地客戶端,白單;

   allow-transfer {}:通常都需要啓用,從服務器,允許區域傳送的主機;白名單,

   allow-recursion {}: 允許遞歸的主機的白名單,建議全局使用,可以使用網段

   allow-update {}: 允許更新區域數據庫中的內容的主機白名單


bind view

    view:視圖,邏輯的DNS服務器,一個bind服務器可定義多個view,每個view中可定義一個或多個zone

    每個view用來匹配一組客戶端;

    多個view內可能需要對同一個區域進行解析,但使用不同的區域解析庫文件

格式:

    view VIEW_NAME {

        match-clients { };

    };


注意:

    (1) 一旦啓用了view,所有的zone都只能定義在view中

    (2) 僅在允許遞歸請求的客戶端所在view中定義根區域

    (3) 客戶端請求到達時,是自上而下檢查每個view所服務的客戶端列表

CDN: Content Delivery Network

智能DNS:(主要用來解決南北電信網絡相互訪問慢的問題)

    dnspod

    dns.la


例如:

     acl telecom{

     1.2.0.0/16

     4.5.8.0

     }

     acl unicom{

     6.4.0.0/16

     4.5.3.0

     }

    view view_name {

        match-clients{ telecom; }

       zone"magelinux.com" IN{

       type master;

        file "magelinux.com.telcom";

       }


     }

    view view_name {

        match-clients{ unicom; }

       zone"magelinux.com" IN{

       type master;

        file "magelinux.com.unicom";

       }


     }

      view view_name {

        match-clients{ any; }

       zone"magelinux.com" IN{

       type master;

        file "magelinux.com.unicom";

       }


     }

     只要寫入view,所有的都應該寫在view中

     自上而下匹配


綜合示例:模擬互聯網DNS服務器

wKiom1f0UNTDWTJvAABA59Yt08s336.png

要求:

1.搭建根dns服務器(10.1.156.156)

2.搭建com的dns服務器(10.1.156.68)

3.搭建magedu.com的dns服務器,分別有主從dns服務器(10.1.156.69;10.1.156.70),web服務器(10.1.156.69;10.1.156.70).郵件mail服務器(10.1.156.73),dns服務器上面設置了acl規則,當北京的主機訪問www.magedu.com網站的時候,用戶訪問會指向10.1.156.71的主機,當上海的主機訪問www.magedu.com網站的時候,用戶訪問會指向10.1.156.72的主機。

4.搭建北京網公共dns服務器114dns(10.1.114.114)

5.搭建上海網公共dns服務器8dns(10.1.8.8),該服務器查詢magedu.com域名的時候不用通過根DNS轉發


第一步:搭建magedu.com的ns1服務器

啓動dnf服務,如果此處還沒有安裝named服務,請執行yum命令安裝bind包

wKioL1f0Uu-QyqLoAAAVDwuWPSA215.png

編輯/etc/named.conf文件

wKiom1f0UvDD-wJIAAAKtgjsxvg284.png

修改options裏面的

監聽端口此處可以屏蔽掉,默認會監聽主機所有的ip.或者此處可以修改爲localhost

允許查詢此處可以屏蔽掉,默認允許所有主機查詢,或者此處可以修改爲any

添加allow-transfer的ip信息,此處的ip爲從dns服務器的ip,此處不添加的話,別人可以抓取該dns裏面的所有dns信息,對於***來說提供***的目標,所以務必添加此處

wKiom1f0UvSSkYmGAAA_gHFGNtI050.png

編輯/etc/named.rfc1912.zones文件

wKioL1f0UvDD0zgoAAAK5yHiGY8763.png

在空白處添加magedu.com的正向解析信息

wKiom1f0UvGAOy1kAAANJdZ-hb4173.png

在空白處添加magedu.com的反向解析信息

wKiom1f0VQfQaZvvAAAN9tjs0p0718.png

添加magedu.com.zone的正向解析信息,如下所示

wKioL1f0UvHwXmHTAAAOR7PBpf0491.png

wKioL1f0UvGTIpcnAABcvjoGk88730.png

此處需要注意的是文件的權限。需要把文件的屬組修改爲named,權限爲640

wKiom1f0UvLxvhmQAABAwofU06k945.png

創建完以後,檢查一下配置文件和magedu.com的域是否有格式上面的錯誤

wKiom1f0UvLTMIRfAAAdjxN981s282.png

添加magedu.com.zone的反向解析信息,如下所示

wKiom1f0UvOjBGP2AAAJfORZq6w469.png

wKioL1f0UvPwX1NvAABNwxcaaUs174.png

同樣需要修改文件的屬組爲namrd和默認權限爲640

wKiom1f0UvSC8hXFAAAsIZi0dlw376.png

檢查反向解析格式是否有問題

wKioL1f0UvPAveizAAAWNhBYD2E068.png

最後配置實現智能dns

此處編輯/etc/named.conf文件,並且acl需要寫在文檔的最上方

設置acl抓取北京網的ip

設置acl抓取上海網的ip

其他未定義的ip段設置爲any

wKioL1f0UvWyBhlrAAAXre6r3LA148.png

在/etc/name.conf文件的下方添加view的信息,來匹配所有剛acl的記錄

添加view匹配shanghainet的信息

添加view匹配beijingnet的信息

添加view匹配othernet的信息,此處需要注意的是由於其他any的網段此處屬於默認的,需要把

include “/etc/named.rfc1912.zones” 的信息寫入到此處,如下所示

wKioL1f0WHuB_MiXAABaskUO_gE449.png

因爲zone "."的信息默認是匹配所有的用戶,

所以此處需要把這個信息寫到/etc/named.rfc1912.zones文件裏面,不然的話會報錯

wKioL1f0UvaRaJbEAAAKJxRElVw779.png

wKioL1f0UvfCmtQgAAAJskWJ-8g127.png

創建acl對應匹配的shanghainet的用戶的zone

wKiom1f0UvWQBW2lAAALeEig2Mg839.png

wKioL1f0UvWS-jlWAAA4ZwlYd-w362.png

創建acl對應匹配的beijingnet的用戶的zone

wKiom1f0UvaBXkrzAAAMhFd_HAU777.png

wKiom1f0UvaT-3z7AABEtc14aEU517.png

最後重載dns配置文件,或者此處可以執行service named restart命令(生產環境中慎用)

wKioL1f0UvLBFxOkAAAJ1eQwtVc544.png


第二步:搭建magedu.com的ns2服務器

首先第一步是安裝bind包,並且啓用named的服務(此處省略圖)

編輯/etc/named文件

wKioL1f0WbfgRv10AAAH8-i4yXg895.png

修改options裏面的

監聽端口此處可以屏蔽掉,默認會監聽主機所有的ip.或者此處可以修改爲localhost

允許查詢此處可以屏蔽掉,默認允許所有主機查詢,或者此處可以修改爲any

添加allow-transfer的ip信息,此處的ip爲設置爲none即可,此處不添加的話,別人可以抓取該dns裏面的所有dns信息,對於***來說提供***的目標,所以務必添加此處

wKiom1f0WbjxN2uqAAA-F4qIvjY548.png

編輯/etc/named.rfc1912.zones文件

wKiom1f0WbjDXa5UAAAJtDyTp6Q570.png

添加magedu.com的信息。並且設置type類型爲slave表示爲從服務器

wKioL1f0WbmQNqVFAAAmvvDz79k705.png

配置完以上檢查配置文件是否有錯誤

wKioL1f0WbmDj741AAAHSoX3Tgw288.png

以上沒問題,重載dns的配置文件,或者重啓服務(生產環境慎用)

wKiom1f0Wbmy2-TyAAAJ7Jvhmkg135.png

重載dns文件以後,過了一會,我們可以在/var/named/slaves/目錄下面多了兩個文件,是主dns服務器傳送過來的,並且此處應該需要文件權限的問題,下圖還沒有修改權限,應該需要修改,去掉other的r權限

wKiom1f0WbqCSdO-AAA_U_l0Slk241.png

查看一下正向解析zones區域信息確認一下有沒問題

wKiom1f0XFvBuc5tAACzIy9NXyQ306.png

查看一下反向解析zones區域信息確認一下有沒問題

wKiom1f0WbvRnQDpAAB3J7IF04o376.png


第三步:搭建magedu.com的子域mail服務器(僅用於環境模擬),此處就不上圖了

此處服務器檢查設置ip地址和設置hostname即可,僅是用戶環境模擬


搭建測試完以上步驟,需要測試一下dns服務器是否正常,在生成環境當中,應該一般也就以上的主從dns服務器需要搭建。

在ns1服務器上面和ns2服務器上面都使用自身ip解析一下網站看有沒有問題,如果有問題,需要排查


查詢ns記錄,可以看見第5行那有flags:裏面的aa信息,表示爲權威記錄,即從本dns服務器上面查詢纔有的信息,從其他dns服務器上面查詢的話並不會帶有此信息。

wKiom1f0Xz7zWfspAACD6Z8tTqA437.png

查看A記錄

wKioL1f0Xz7jkKHIAACUB_aWkaQ625.png

查詢子域信息看有沒有報錯

wKioL1f0Xz7BafHaAACLmqYXTpQ498.png


第四步:搭建root根dns服務器

首先第一步是安裝bind包,並且啓用named的服務(此處省略圖)

編輯/etc/named文件

wKioL1f0sOTDHixOAAAIgAJHwTU834.png

修改options裏面的

監聽端口此處可以屏蔽掉,默認會監聽主機所有的ip.或者此處可以修改爲localhost

允許查詢此處可以屏蔽掉,默認允許所有主機查詢,或者此處可以修改爲any

wKioL1f0cICCIx5SAAAxmUCllKM799.png

關閉dnssec功能

wKiom1f0cIHwTXMDAAAHcbipvAk327.png

刪除掉原有的根信息,自己指定一個根的zone

wKioL1f0cIHTjvwvAAAVcHGQqyk240.png

編輯/var/named/root.zone文件信息,如下圖所示

wKiom1f0cIHxaZE8AAAxUvRTdPc437.png

注意文件的屬組和權限的問題

wKioL1f0cIHhhdC-AAB1xDvM7ZA452.png

修改/var/named/named.ca文件,如下所示

wKiom1f0cIKgFEIUAAAJ0PdZeIs554.png

wKioL1f0cIKQ15K_AAAY5NyL0Zo155.png

把named.ca文件複製到其他主機,不然的話其他主機找不到根

wKiom1f0cIOyNKblAACuqEWrsd4857.png


第五步:搭建com的dns服務器

首先第一步是安裝bind包,並且啓用named的服務(此處省略圖)

編輯/etc/named文件

wKiom1f0cIDCT0BvAAAIgAJHwTU675.png

修改options裏面的

監聽端口此處可以屏蔽掉,默認會監聽主機所有的ip.或者此處可以修改爲localhost

允許查詢此處可以屏蔽掉,默認允許所有主機查詢,或者此處可以修改爲any

wKiom1f0c7CCJdxaAAA_0Nr97yE481.png

關閉dnssec功能

wKiom1f0cIHwTXMDAAAHcbipvAk327.png

編輯/etc/named.rfc1912.com文件

wKioL1f0dHKTzBs1AAAJshYYAgM382.png

添加com的區域信息

wKiom1f0dIOBTuxaAAAKcZQQREk739.png

編輯com的區域的文件信息,還有注意權限和屬組的問題,這裏就不截圖了

wKiom1f0sFLSIipYAAAIX8Ox-88162.png

wKioL1f0c7DSIrA9AAA2ThKhkBc447.png

編輯完,檢查一下配置文件有沒格式錯誤

wKiom1f0c7HAcIcnAAAaaOtigy4139.png

查看一下根文件有沒有錯誤

wKioL1f0c7GQ6pUpAAAm93sDg_A135.png

檢查沒有問題,重載配置即可

wKiom1f0Wbmy2-TyAAAJ7Jvhmkg135.png


第六步:搭建bj114dns的dns服務器

首先第一步是安裝bind包,並且啓用named的服務(此處省略圖)

編輯/etc/named文件

wKiom1f0cIDCT0BvAAAIgAJHwTU675.png

修改options裏面的

監聽端口此處可以屏蔽掉,默認會監聽主機所有的ip.或者此處可以修改爲localhost

允許查詢此處可以屏蔽掉,默認允許所有主機查詢,或者此處可以修改爲any

wKiom1f0c7CCJdxaAAA_0Nr97yE481.png

關閉dnssec功能

wKiom1f0cIHwTXMDAAAHcbipvAk327.png

查看一下根文件有沒有錯誤

wKiom1f0syrhyykYAAAVg8BzWYQ191.png

檢查沒有問題,重載配置即可

wKioL1f0syqS5zQoAAAItmzdPtM659.png


第七步:搭建sh8dns的dns服務器

首先第一步是安裝bind包,並且啓用named的服務(此處省略圖)

編輯/etc/named文件

wKiom1f0cIDCT0BvAAAIgAJHwTU675.png

修改options裏面的

監聽端口此處可以屏蔽掉,默認會監聽主機所有的ip.或者此處可以修改爲localhost

允許查詢此處可以屏蔽掉,默認允許所有主機查詢,或者此處可以修改爲any

wKiom1f0c7CCJdxaAAA_0Nr97yE481.png

關閉dnssec功能

wKiom1f0cIHwTXMDAAAHcbipvAk327.png

編輯/etc/named.rfc.1912.zones

wKioL1f0tdbSh3teAAAJon4YKro050.png

添加magedu.com的轉發信息,這樣的話,當通過此服務器訪問magedu.com的時候,將不再會去查看根,然後直接轉發magedu.com的信息到指定的服務器。

wKiom1f0tdbzGDrpAAAQo4DzTO0359.png

檢查配置文件有沒有問題,確認named.ca文件,沒問題就重載配置

wKiom1f0tqzQtDmOAAAlR6hmqiA612.png


第八步,測試dns服務器

在客戶端上面,測試一下能不能找到根

wKiom1f0udSgO3pfAABkhgPlCaI025.png

追蹤到根的路徑

wKiom1f0udTBs70zAABEkqm6mfE784.png

測試訪問magedu.com的NS記錄

wKioL1f0udWjZh1zAAB9n6WhmWc571.png

測試訪問www.magedu.com.此時web服務器顯示的ip爲10.1.156.71,表示智能dns配置成功

wKiom1f0udWxbumTAACcLRljjxw856.png

追蹤到magedu.com的網絡路徑8dns服務器->根dns->com_dns->ns1.magedu.com

wKiom1f0uc3ygSBjAABxMzTuMyo100.png

查看一下能不能到達郵件服務器,也正常

wKiom1f0uguwniKmAACVJPUmQNM779.png

在bj_host的主機上面測試訪問www.magedu.com.此時顯示的ip爲10.1.156.72,表示智能dns也生效了

wKioL1f0udagwNuEAACVY8jNH5Q200.png

追蹤一下到magedu.com的網絡路徑,114dns服務器->根dns->com_dns->ns1.magedu.com

wKioL1f0udaA_sX_AAB5Y_6Yby0757.png

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