1. 程式人生 > 實用技巧 >Linux之DNS服務

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.2www.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 SOAns1.magedu.com. admin.magedu.com (

2015042201

1H

5M

7D

1D )

INNSns1

INNSns2

INMX 10mx1

INMX 20mx2

ns1INA172.16.100.11

ns2INA172.16.100.12

mx1INA172.16.100.13

mx2INA172.16.100.14

websrv INA172.16.100.11

websrv INA172.16.100.12

wwwINCNAMEwebsrv


測試命令

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.

@INSOAns1.magedu.com. admin.magedu.com. (

2015042201

1H

5M

7D

1D )

INNSns1.magedu.com.

INNSns2.magedu.com.

11INPTRns1.magedu.com.

11INPTRwww.magedu.com.

12INPTRmx1.magedu.com.

12INPTRwww.magedu.com.

13INPTRmx2.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)

rndcCOMMAND

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: 把一個或多個地址歸併為一個集合,並通過一個統一的名稱呼叫

格式:

aclacl_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

轉載於:https://blog.51cto.com/weiweidefeng/1858850