亚洲熟女综合色一区二区三区,亚洲精品中文字幕无码蜜桃,亚洲va欧美va日韩va成人网,亚洲av无码国产一区二区三区,亚洲精品无码久久久久久久

Linux基礎(chǔ)教程之DNS入門(mén)教程

DNS服務(wù)原理詳解

因特網(wǎng)上作為域名和IP地址相互映射的一個(gè)分布式數(shù)據(jù)庫(kù),能夠使用戶更方便的訪問(wèn)互聯(lián)網(wǎng),而不用去記住能夠被機(jī)器直接讀取的IP數(shù)串。通過(guò)主機(jī)名,最終得到該主機(jī)名對(duì)應(yīng)的IP地址的過(guò)程叫做域名解析。

我們?cè)谠L問(wèn)一個(gè)網(wǎng)站的時(shí)候,只要輸入該網(wǎng)站的網(wǎng)址就會(huì)跳轉(zhuǎn)到該網(wǎng)站頁(yè)面,而實(shí)現(xiàn)這一過(guò)程就需要DNS服務(wù)器將域名解析為IP地址,進(jìn)而實(shí)現(xiàn)數(shù)據(jù)通信。

DNS:Domain Name Service 域名解析服務(wù)

監(jiān)聽(tīng)端口:

udp/53,tcp/53

應(yīng)用程序:

BIND:Bekerley Internat Name Domain 國(guó)際域名

DNS域名

根域

? ? 一級(jí)域名:Top Level Domain: com, edu, mil, gov, net, org, int,arpa

組織域:.com, .org, .net, .mil, .edu, .gov, .info, .cc, .me, .tv

國(guó)家域:.cn, .us, .uk, .jp, .tw, .hk, .iq, .ir

反向域:.in-addr.arpa

? ? ????? ? ??最多127 級(jí)域名

ICANN(The Internet Corporation for Assigned Names and Numbers)互聯(lián)網(wǎng)名稱與數(shù)字地址分配機(jī)構(gòu),負(fù)責(zé)在全球范圍內(nèi)對(duì)互聯(lián)網(wǎng)通用頂級(jí)域名(gTLD )以及國(guó)家和地區(qū)頂級(jí)域名(ccTLD)系統(tǒng)的管理、以及根服務(wù)器系統(tǒng)的管理。

DNS樹(shù)狀結(jié)構(gòu)圖

DNS查詢類(lèi)型:

遞歸查詢

DNS請(qǐng)求被服務(wù)器接受后,如果屬于此服務(wù)器管轄范圍則請(qǐng)求上級(jí)服務(wù)器依次傳遞請(qǐng)求,并且依次傳遞結(jié)果給發(fā)出請(qǐng)求的主機(jī)。

迭代查詢

DNS請(qǐng)求被服務(wù)器接受后,如果不是自己管轄范圍,讓客戶端訪問(wèn)根域服務(wù)器,然后跟域通知客戶端去訪問(wèn)下級(jí)服務(wù)器,直到最后客戶端訪問(wèn)管轄請(qǐng)求域名的服務(wù)器為止。

名稱服務(wù)器:域內(nèi)負(fù)責(zé)解析本域內(nèi)的名稱的主機(jī)

根服務(wù)器:13組服務(wù)器

解析類(lèi)型:

正向解析:FQDN(完全域名) –> IP

反向解析:IP –> FQDN(完全域名)

FQDN:(Fully Qualified Domain Name)完全限定域名

注意:正反向解析是兩個(gè)不同的名稱空間,是兩棵不同的解析樹(shù),因此,也不是同一個(gè)解析庫(kù)

DNS服務(wù)器類(lèi)型:

DNS 服務(wù)器的類(lèi)型:

主DNS 服務(wù)器

從DNS 服務(wù)器

緩存DNS 服務(wù)器(轉(zhuǎn)發(fā)器)

主DNS 服務(wù)器:管理和維護(hù)所負(fù)責(zé)解析的域內(nèi)解析庫(kù)的服務(wù)器;讀寫(xiě)均可進(jìn)行

從DNS 服務(wù)器:從主服務(wù)器或從服務(wù)器“復(fù)制”(區(qū)域傳輸)解析庫(kù)副本;只能進(jìn)行讀操作

序列號(hào):解析庫(kù)版本號(hào),主服務(wù)器解析庫(kù)變化時(shí),其序列遞增

刷新時(shí)間間隔:從服務(wù)器從主服務(wù)器請(qǐng)求同步解析的時(shí)間間隔

重試時(shí)間間隔:從服務(wù)器請(qǐng)求同步失敗時(shí),再次嘗試時(shí)間間隔

過(guò)期時(shí)長(zhǎng):從服務(wù)器聯(lián)系不到主服務(wù)器時(shí),多久后停止服務(wù)

否定答案的緩存時(shí)長(zhǎng)

“通知”機(jī)制:主服務(wù)器解析庫(kù)發(fā)生變化時(shí),會(huì)主動(dòng)通知從服務(wù)器

區(qū)域傳輸:

完全傳輸:傳送整個(gè)解析庫(kù)

增量傳輸:傳遞解析庫(kù)變化的那部分內(nèi)容

Domain: Fully Qualified Domain Name

正向:FQDN –> IP

反向:IP –> FQDN

負(fù)責(zé)本地域名的正向和反向解析庫(kù)

正向區(qū)域

反向區(qū)域

DNS解析:

一次完整的查詢請(qǐng)求經(jīng)過(guò)的流程:Client(客戶端) –>hosts文件–>DNS Service Local Cache(自己的本地緩存)–> DNS Server (recursion遞歸) –> Server Cache(緩存) –>iteration(迭代) –>根–>頂級(jí)域名DNS–>二級(jí)域名DNS…

解析答案:

肯定答案:

否定答案:請(qǐng)求的條目不存在等原因?qū)е聼o(wú)法返回結(jié)果

權(quán)威答案:由直接負(fù)責(zé)的DNS服務(wù)器返回的答案

非權(quán)威答案:

例如,DNS客戶機(jī)查詢URL地址www.fastweb.com.cn流程圖

區(qū)域解析庫(kù):

由眾多RR組成:(Resource Record資源記錄)

SOA:Start Of Authority(起始授權(quán)記錄)

一個(gè)區(qū)域解析庫(kù)有且僅能有一個(gè)SOA記錄,必須位于解析庫(kù)的第一條記錄

A:internet Address(地址記錄) ??????FQDN –> IP

AAAA: FQDN –> IPv6

PTR: PoinTeR(域名服務(wù)記錄) ???????IP –> FQDN

一個(gè)區(qū)域解析庫(kù)可以有多個(gè)NS記錄

NS: Name Server(專(zhuān)用于標(biāo)明當(dāng)前區(qū)域的DNS服務(wù)器)

CNAME:Canonical Name (別名記錄)

MX: Mail eXchanger(郵件交換器)

優(yōu)先級(jí):0-99,數(shù)字越小優(yōu)先級(jí)越高

資源記錄定義的格式:

語(yǔ)法:name ?[TTL] ?IN ??rr_type ?value

注意:

(1) TTL可從全局繼承

(2) @可用于引用當(dāng)前區(qū)域的名字

(3)同一個(gè)名字可以通過(guò)多條記錄定義多個(gè)不同的值;此時(shí)DNS 服務(wù)器會(huì)以輪詢方式響應(yīng)

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

SOA記錄

name:當(dāng)前區(qū)域的名字,例如“rookie.com.”

value:有多部分組成

? ?(1)當(dāng)前區(qū)域的主DNS服務(wù)器的FQDN,也可以使用當(dāng)前區(qū)域的名字

? ?(2)當(dāng)前區(qū)域管理員的郵箱地址;但地址中不能使用@ 符號(hào),一般用. 替換,例如Linux.rookie.com

? ?(3)主從服務(wù)區(qū)域傳輸相關(guān)定義以及否定的答案的統(tǒng)一的TTL

? ?例如:

rookie.com. ? ? ? ?86400 ? ? ? ?IN ? ? ? ?SOA ? ? ? ? ?rookie.com. ? ? ? ? admin.rookie.com. ???(

2017052201 ???? ?; 序列號(hào)serial

2H?????????????????????; 刷新時(shí)間refresh

10M ???????????????? ?; 重試時(shí)間retry

1W ????????????? ? ? ?; 過(guò)期時(shí)間expire

1D ????????????????????; 否定答案的TTL值negative answer ttl

)

NS記錄:

name: 當(dāng)前區(qū)域的名字

value: 當(dāng)前區(qū)域的某DNS 服務(wù)器的名字,例如 ns.rookie.com.

注意:一個(gè)區(qū)域可以有多個(gè)NS 記錄

例如:

rookie.com. ??IN ??NS ??ns1.rookie.com.

rookie.com. ??IN ??NS ??ns2.rookie.com.

注意:

(1)相鄰的兩個(gè)資源記錄的name相同時(shí),后續(xù)的可省略

(2)對(duì)NS記錄而言,任何一個(gè)ns記錄后面的服務(wù)器名字,都應(yīng)該在后續(xù)有一個(gè)A記錄

MX記錄:

name:當(dāng)前區(qū)域的名字

value:當(dāng)前區(qū)域的某郵件服務(wù)器(smtp 服務(wù)器)的主機(jī)名

一個(gè)區(qū)域內(nèi),MX 記錄可有多個(gè);但每個(gè)記錄的value之前應(yīng)該有一個(gè)數(shù)字(0-99),表示此服務(wù)器的優(yōu)先級(jí);數(shù)字越小優(yōu)先級(jí)越高

例如:

rookie.com. ??IN ??MX ??10(優(yōu)先級(jí)) ? mx1.rookie.com.

rookie.com. ??IN ??MX ??20(優(yōu)先級(jí)) ? mx2.rookie.com.

注意:

(1)對(duì)MX記錄而言,任何一個(gè)MX記錄后面的服務(wù)器名字,都應(yīng)該在后續(xù)有一個(gè)A記錄

A記錄:

name:某主機(jī)的FQDN ??例如www.rookie.com.

value:主機(jī)名對(duì)應(yīng)主機(jī)的IP地址

例如:

www.rookie.com. IN A 1.1.1.1 www.rookie.com. IN A 2.2.2.2 mx1.rookie.com. IN A 3.3.3.3 mx2.rookie.com. IN A 4.4.4.4 $GENERATE 1-254 HOST$ A 1.2.3.$ *.rookie.com. IN A 5.5.5.5 rookie.com. IN A 6.6.6.6

避免用戶寫(xiě)錯(cuò)名稱時(shí)給錯(cuò)誤答案,可通過(guò)泛域名解析進(jìn)行解析至某特定地址

AAAA記錄:

name: FQDN

value: IPv6

PTR記錄:

name: IP地址,有特定格式,把IP 地址反過(guò)來(lái)寫(xiě),1.2.3.4 ,要寫(xiě)作4.3.2.1 ;并且要加特定后綴:in-addr.arpa. ,所以完整寫(xiě)法為:4.3.2.1.in-addr.arpa.

value: FQDN

例如:

4.3.2.1.in-addr.arpa. ?IN ?PTR ?www.rookie.com.

如1.2.3為網(wǎng)絡(luò)地址 ,可簡(jiǎn)寫(xiě)成:

4 ?IN ?PTR ?www.rookie.com.

注意:網(wǎng)絡(luò)地址及后綴可省略;主機(jī)地址依然需要反著寫(xiě)

CNAME:

name:FQDN格式的別名

value:FQDN格式的正式名字

例如:

web.rookie.com. ? IN ? CNAME ?www.rookie.com.

子域:

子域,是相對(duì)父域來(lái)說(shuō)的,指域名中的每一個(gè)段。各子域之間用小數(shù)點(diǎn)分隔開(kāi)。放在域名最后的子域稱為最高級(jí)子域,或稱為一級(jí)域,在它前面的子域稱為二級(jí)域。

子域授權(quán):每個(gè)域的名稱服務(wù)器,都是通過(guò)其上級(jí)名稱服務(wù)器在解析庫(kù)進(jìn)行授權(quán)

類(lèi)似根域授權(quán)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

rookie.com. 在.com 的名稱服務(wù)器上,解析庫(kù)中添加資源記錄

rookie.com. ?IN ?NS ?ns1.rookie.com.

rookie.com. ?????IN ?NS ?ns2.rookie.com.

rookie.com. ?????IN ?NS ?ns3.rookie.com.

ns1.rookie.com. ?IN ?A ?3.3.3.1

ns2.rookie.com. ?IN ?A ?3.3.3.2

ns3.rookie.com. ?IN ?A ?3.3.3.3

glue record:粘合記錄,父域授權(quán)子域的記錄

BIND安裝:

DNS協(xié)議—>BIND

程序環(huán)境:
主程序:/usr/sbin/named
Unit File:/usr/lib/systemd/system/named.service
配置文件:/etc/named.conf
區(qū)域解析庫(kù)文件:/var/named
關(guān)閉dnssec功能:
vim ?/etc/named.conf
dnssec-enable no;
dnssec-validation no;
解析一個(gè)區(qū)域:
定義:/etc/named.rfc1912.conf
zone “iLinux.io” IN {
type master;
file “ZONE_FILE”;
};
例:vim /etc/named.rfc1912.conf
zone “rookie.com” IN {
type master;
file “rookie.com.zone”;
};

定義解析庫(kù)文件示例:
$TTL 600 ? ? ?#全局定義 ? ?緩存十分鐘
iLinux.com. ? ? ?IN ? ? ?SOA ? ? iLinux.com. ? ? ?nsadmin.iLinux.com. (
2017052301
1H
5M
1W
6H )
IN ? ? ?NS ? ? ?dns1.iLinux.com.
IN ? ? ?NS ? ? ?dns2.iLinux.com.
dns1.iLinux.com. IN ? ? ?A ? ? ? 172.16.0.67
dns2.iLinux.com. IN ? ? ?A ? ? ? 172.16.0.68
www.iLinux.com.IN ? ? ?A ? ? ? 172.16.0.1
web ? ? ? ?????? ? ?IN ? ? ?CNAME ? www

BIND 的安裝配置:

BIND:Berkeley Internet Name Domain

dns: 協(xié)議
BIND: dns協(xié)議的一種實(shí)現(xiàn)
named:bind程序的運(yùn)行的進(jìn)程名

dns服務(wù)程序包:bind ?unbound

程序名:named ??unbound

程序包:yum list all bind*

bind:提供的dns server程序、以及幾個(gè)常用的測(cè)試程序

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

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

bind-chroot:選裝,讓named運(yùn)行于jail模式下

/var/named/chroot/

?

bind服務(wù)器:

服務(wù)腳本和名稱:/etc/rc.d/init.d/named

/usr/lib/systemd/system/named.service

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

????????????????? ? ?/etc/named.iscdlv.key

/etc/named.rfc1912.zones

/etc/named.root.key

yum install -y bind后可見(jiàn)

解析庫(kù)文件:/var/named/ ZONE_NAME.ZONE

注意:

(1)一臺(tái)DNS服務(wù)器可同時(shí)為多個(gè)區(qū)域提供解析

(2)必須要有根區(qū)域解析庫(kù)文件;named.ca

(3)應(yīng)該有兩個(gè)區(qū)域解析庫(kù)文件(如果包括ipv6的,應(yīng)該更多)實(shí)現(xiàn)localhost和127.0.0.1的正反向解析庫(kù)

????????正向:named.localhost
反向:named.loopback

rndc: remote name domain controller (遠(yuǎn)程域名控制器)

提供輔助性的管理功能 953/tcp 但默認(rèn)監(jiān)聽(tīng)于127.0.0.1地址,因此僅允許本地使用

bind程序安裝完成之后,默認(rèn)即可做緩存名稱服務(wù)器使用,如果沒(méi)有專(zhuān)門(mén)負(fù)責(zé)解析的區(qū)域,直接即可啟動(dòng)服務(wù)

CentOS 6: ?service ?named ?start

CentOS 7: ?systemctl ?start ?named.service

?

主配置文件格式:

全局配置段:

????????options { … }

日志子系統(tǒng)配置段:

????????logging { … }

區(qū)域定義段:

????????zone “ZONE_NAME” IN { … }

區(qū)域定義:本機(jī)能夠?yàn)槟男﹝one進(jìn)行解析,就要定義哪些zone

注意:

每個(gè)配置語(yǔ)句必須以分號(hào)結(jié)尾

任何服務(wù)程序如果期望其能夠通過(guò)網(wǎng)絡(luò)被其它主機(jī)訪問(wèn),至少應(yīng)該監(jiān)聽(tīng)在一個(gè)能與外部主機(jī)通信的IP

緩存名稱服務(wù)器的配置:

監(jiān)聽(tīng)能與外部主機(jī)通信的地址

listen-on port 53

listen-on port 53 { 172.16.252.245; }

dnssec: 建議關(guān)閉dnssec,設(shè)為no(自己做實(shí)驗(yàn)時(shí)建議關(guān)閉)

???????dnssec-enable no

???????dnssec-validation no

???????dnssec-lookaside no

關(guān)閉僅允許本地查詢:

???????//allow-query ?{ localhost; }

檢查配置文件語(yǔ)法錯(cuò)誤:
named-checkconf ? ? ? ? ? ? ??/etc/named.conf
檢查區(qū)域配置文件錯(cuò)誤:

????????named-checkzone “rookie.com” /var/named/rookie.com.zone

例:[root@localhost ~]#vim /etc/named.conf

測(cè)試命令dig:

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

dig 只用于測(cè)試dns 系統(tǒng),不會(huì)查詢hosts 文件進(jìn)行解析

查詢選項(xiàng):

+[no]trace程:跟蹤解析過(guò)程 : dig +trace rookie.com

+[no]recurse:進(jìn)行遞歸解析

[root@localhost ~]#dig -t A www.baidu.com @172.16.252.254 +trace

測(cè)試反向解析:

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

模擬區(qū)域傳送:

dig ?-t ?axfr ?ZONE_NAME @SERVER

dig ?-t ?axfr ?rookie.com @10.10.10.11

dig ?-t ?axfr ?100.1.10.in-addr.arpa @172.16.1.1

dig ?-t ?NS ?. ?@114.114.114.114

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

[root@localhost ~]#dig -t NS baidu.com @172.16.0.1 ; <<>> DiG 9.9.4-RedHat-9.9.4-37.el7 <<>> -t NS baidu.com @172.16.0.1 ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 35043 ;; flags: qr rd ra; QUERY: 1, ANSWER: 5, AUTHORITY: 0, ADDITIONAL: 6 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 4096 ;; QUESTION SECTION: ;baidu.com. IN NS ;; ANSWER SECTION: baidu.com. 54644 IN NS ns7.baidu.com. baidu.com. 54644 IN NS ns3.baidu.com. baidu.com. 54644 IN NS ns4.baidu.com. baidu.com. 54644 IN NS dns.baidu.com. baidu.com. 54644 IN NS ns2.baidu.com. ;; ADDITIONAL SECTION: ns2.baidu.com. 140982 IN A 61.135.165.235 ns4.baidu.com. 140982 IN A 220.181.38.10 dns.baidu.com. 140982 IN A 202.108.22.220 ns3.baidu.com. 140982 IN A 220.181.37.10 ns7.baidu.com. 140982 IN A 119.75.219.82 ;; Query time: 2 msec ;; SERVER: 172.16.0.1#53(172.16.0.1) ;; WHEN: Thu Jun 01 07:22:38 EDT 2017 ;; MSG SIZE rcvd: 208[root@localhost ~]#dig -t NS baidu.com @172.16.0.1 +nocomments ; <<>> DiG 9.9.4-RedHat-9.9.4-37.el7 <<>> -t NS baidu.com @172.16.0.1 +nocomments ;; global options: +cmd ;baidu.com. IN NS baidu.com. 54627 IN NS dns.baidu.com. baidu.com. 54627 IN NS ns3.baidu.com. baidu.com. 54627 IN NS ns2.baidu.com. baidu.com. 54627 IN NS ns4.baidu.com. baidu.com. 54627 IN NS ns7.baidu.com. ns2.baidu.com. 140965 IN A 61.135.165.235 ns4.baidu.com. 140965 IN A 220.181.38.10 dns.baidu.com. 140965 IN A 202.108.22.220 ns3.baidu.com. 140965 IN A 220.181.37.10 ns7.baidu.com. 140965 IN A 119.75.219.82 ;; Query time: 1 msec ;; SERVER: 172.16.0.1#53(172.16.0.1) ;; WHEN: Thu Jun 01 07:22:56 EDT 2017 ;; MSG SIZE rcvd: 208

測(cè)試命令host:

host [-t type] name [SERVER]

host ??-t ??NS ??rookie.com 172.16.0.1

host ??-t ??soa ??rookie.com

host ??-t ??mx ??rookie.com

host ??-t ??axfr ??rookie.com

host 1.2.3.4

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

交互式模式:

nslookup>

server IP:指明使用哪個(gè)DNS server進(jìn)行查詢

set q=RR_TYPE:指明查詢的資源記錄類(lèi)型

name:要查詢的名稱

[root@localhost ~]#nslookup > server 172.16.0.1 Default server: 172.16.0.1 Address: 172.16.0.1#53 > set q=a > www.tencent.com Server: 172.16.0.1 Address: 172.16.0.1#53 Non-authoritative answer: www.tencent.com canonical name = upfile.wj.qq.com.cloud.tc.qq.com. upfile.wj.qq.com.cloud.tc.qq.com canonical name = ssd.tcdn.qq.com. Name: ssd.tcdn.qq.com Address: 111.202.99.24 Name: ssd.tcdn.qq.com Address: 111.202.99.25 Name: ssd.tcdn.qq.com Address: 111.202.99.23 Name: ssd.tcdn.qq.com Address: 123.125.110.21 Name: ssd.tcdn.qq.com Address: 123.125.110.12 Name: ssd.tcdn.qq.com Address: 123.125.110.11 Name: ssd.tcdn.qq.com Address: 123.125.110.22

命令rndc:

rndc:remote name domain contoller(遠(yuǎn)程域名控制器)
953/tcp,但默認(rèn)監(jiān)聽(tīng)于127.0.0.1地址,因此僅允許本地使用

????????rndc –> rndc (953/tcp)

rndc COMMAND

命令:

reload:重載主配置文件和區(qū)域解析庫(kù)文件

reload zonename:重載區(qū)域解析庫(kù)文件

retransfer zonename:手動(dòng)啟動(dòng)區(qū)域傳送,而不管序列號(hào)是否增加

notify zonename:重新對(duì)區(qū)域傳送發(fā)通知

reconfig:重載主配置文件

querylog:開(kāi)啟或關(guān)閉查詢?nèi)罩疚募?var/log/message

trace:遞增debug 一個(gè)級(jí)別

trace LEVEL:指定使用的級(jí)別

notrace:為將調(diào)試級(jí)別設(shè)置為 0

flush:清空DNS

[root@localhost ~]#rndc status version: 9.9.4-RedHat-9.9.4-37.el7 <id:8f9657aa> 版本 CPUs found: 4 CPU worker threads: 4 線程 UDP listeners per interface: 4 接口 number of zones: 101 區(qū)域數(shù) debug level: 0 調(diào)試級(jí)別 xfers running: 0 運(yùn)行 xfers deferred: 0 延遲 soa queries in progress: 0 正在進(jìn)行的SOA查詢 query logging is OFF 查詢記錄 recursive clients: 0/0/1000 遞歸客戶端 tcp clients: 0/100 TCP客戶端 server is up and running 服務(wù)器啟動(dòng)并運(yùn)行

配置主DNS 服務(wù)器:

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

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

(2)定義區(qū)域解析庫(kù)文件

出現(xiàn)的內(nèi)容

宏定義

資源記錄

主配置文件語(yǔ)法檢查:

named-checkconf

解析庫(kù)文件語(yǔ)法檢查:

named-checkzone "rookie.com" /var/named/rookie.com.zone rndc status|reload ;service named reload

注意:實(shí)驗(yàn)配置前需要特別注意三點(diǎn)

關(guān)閉防火墻

關(guān)閉SELinux

時(shí)間必須同步

?

配置解析一個(gè)正向區(qū)域:

以rookie.com域?yàn)槔?(1)定義區(qū)域 在主配置文件中(/etc/named.conf)或主配置文件輔助配置文件(/etc/named.rfc1912.conf)中實(shí)現(xiàn) [root@localhost ~]#vim /etc/named.rfc1912.zones zone "rookie.com" IN { type master; file "rookie.com.zone"; }; 注意:區(qū)域名字即為域名(2)建立區(qū)域數(shù)據(jù)文件(主要記錄為A或AAAA記錄) 在/var/named目錄下建立區(qū)域數(shù)據(jù)文件; 文件為:/var/named/rookie.com.zone [root@localhost /var/named]#vim rookie.com.zone $TTL 600(全局變量 緩存600秒) rookie.com.(域名) IN SOA rookie.com. admin.rookie.com.管理員郵箱 ( 2017060101 序列號(hào) 1H 刷新時(shí)間間隔一小時(shí) 5M 重試時(shí)間間隔五分鐘 1W 過(guò)期時(shí)間一周 6H ) 否定答案的TTL值六小時(shí) IN NS dns1.rookie.com. IN NS dns2.rookie.com. dns1.rookie.com. IN A 172.16.250.149 dns2.rookie.com. IN A 172.16.252.245 www.rookie.com. IN A 172.16.0.1 web IN CNAME www 權(quán)限及屬組修改: [root@localhost /var/named]#chgrp named /var/named/rookie.com.zone [root@localhost /var/named]#chmod o= /var/named/rookie.com.zone [root@localhost /var/named]#ll 總用量 20 drwxrwx--- 2 named named 6 11月 12 2016 data drwxrwx--- 2 named named 6 11月 12 2016 dynamic -rw-r----- 1 root named 2076 1月 28 2013 named.ca -rw-r----- 1 root named 152 12月 15 2009 named.empty -rw-r----- 1 root named 152 6月 21 2007 named.localhost -rw-r----- 1 root named 168 12月 15 2009 named.loopback -rw-r----- 1 root named 301 6月 1 00:22 rookie.com.zone 檢查語(yǔ)法錯(cuò)誤: [root@localhost /var/named]#named-checkconf [root@localhost /var/named]#named-checkzone "rookie.com" /var/named/rookie.com.zone zone rookie.com/IN: loaded serial 2017060101 OK(3)讓服務(wù)器重載配置文件和區(qū)域數(shù)據(jù)文件 [root@localhost /var/named]#rndc reload [root@localhost ~]#systemctl restart named.service(4)驗(yàn)證 [root@localhost /var/named]#dig -t A www.rookie.com @172.16.250.149 ; <<>> DiG 9.9.4-RedHat-9.9.4-37.el7 <<>> -t A www.rookie.com @172.16.250.149 ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 38718 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 3 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 4096 ;; QUESTION SECTION: ;www.rookie.com. IN A ;; ANSWER SECTION: www.rookie.com. 600 IN A 172.16.252.125 ;; AUTHORITY SECTION: rookie.com. 600 IN NS dns1.rookie.com. rookie.com. 600 IN NS dns2.rookie.com. ;; ADDITIONAL SECTION: dns1.rookie.com. 600 IN A 172.16.250.149 dns2.rookie.com. 600 IN A 172.16.252.245 ;; Query time: 0 msec ;; SERVER: 172.16.250.149#53(172.16.250.149) ;; WHEN: 四 6月 01 01:02:13 CST 2017 ;; MSG SIZE rcvd: 129也可以通過(guò)修改/etc/hosts省略IP [root@localhost /var/named]#vim /etc/resolv.conf ; generated by /usr/sbin/dhclient-script search magedu.com #nameserver 172.16.0.1 [root@localhost /var/named]#dig -t A www.rookie.com ; <<>> DiG 9.9.4-RedHat-9.9.4-37.el7 <<>> -t A www.rookie.com ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 39628 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 3 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 4096 ;; QUESTION SECTION: ;www.rookie.com. IN A ;; ANSWER SECTION: www.rookie.com. 600 IN A 172.16.252.125 ;; AUTHORITY SECTION: rookie.com. 600 IN NS dns2.rookie.com. rookie.com. 600 IN NS dns1.rookie.com. ;; ADDITIONAL SECTION: dns1.rookie.com. 600 IN A 172.16.250.149 dns2.rookie.com. 600 IN A 172.16.252.245 ;; Query time: 0 msec ;; SERVER: 127.0.0.1#53(127.0.0.1) ;; WHEN: 四 6月 01 01:08:08 CST 2017 ;; MSG SIZE rcvd: 129

配置解析一個(gè)反向區(qū)域

(1)定義區(qū)域 在主配置文件中或主配置文件輔助配置文件中實(shí)現(xiàn); [root@localhost ~]#vim /etc/named.rfc1912.zones zone "16.172.in-addr.arpa" IN { type master; file "172.16.zone"; }; 注意:反向區(qū)域的名字 反寫(xiě)的網(wǎng)段地址.in-addr.arpa 16.172.in-addr.arpa(2)定義區(qū)域解析庫(kù)文件(主要記錄為PTR) [root@localhost ~]#vim /var/named/172.16.zone $TTL 600 @ IN SOA rookie.com. admin.rookie.com. ( 2017060101 1H 5M 2W 1D ) @ IN NS dns1.rookie.com. @ IN NS dns2.rookie.com. 149.250 IN PTR dns1.rookie.com. 245.252 IN PTR dns2.rookie.com. 125.252 IN PTR www.rookie.com. 權(quán)限及屬組修改: [root@localhost /var/named]#chgrp named /var/named/rookie.com.zone [root@localhost /var/named]#chmod o= /var/named/rookie.com.zone 檢查語(yǔ)法錯(cuò)誤: [root@localhost ~]#named-checkconf [root@localhost ~]#named-checkzone "172.16" /var/named/172.16.zone zone 172.16/IN: loaded serial 2017060101 OK(3)讓服務(wù)器重載配置文件和區(qū)域數(shù)據(jù)文件 [root@localhost ~]#rndc reload [root@localhost ~]#systemctl restart named.service(4)驗(yàn)證 [root@localhost /var/named]#dig -x 172.16.250.149 ; <<>> DiG 9.9.4-RedHat-9.9.4-37.el7 <<>> -x 172.16.259.149 ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 8132 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 3 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 4096 ;; QUESTION SECTION: ;149.259.16.172.in-addr.arpa. IN PTR ;; ANSWER SECTION: 149.259.16.172.in-addr.arpa. 600 IN PTR dns1.rookie.com. ;; AUTHORITY SECTION: 16.172.in-addr.arpa. 600 IN NS dns1.rookie.com. 16.172.in-addr.arpa. 600 IN NS dns2.rookie.com. ;; ADDITIONAL SECTION: dns1.rookie.com. 600 IN A 172.16.250.149 dns2.rookie.com. 600 IN A 172.16.252.245 ;; Query time: 0 msec ;; SERVER: 127.0.0.1#53(127.0.0.1) ;; WHEN: 四 6月 01 01:44:45 CST 2017 ;; MSG SIZE rcvd: 150

主從服務(wù)器:

注意:從服務(wù)器是區(qū)域級(jí)別的概念;

主區(qū)域配置:可以參照上面的正向區(qū)域配置和反向區(qū)域配置

從區(qū)域配置:

On Slave

(1)定義從區(qū)域 (以另一虛擬機(jī)為例) [root@localhost ~]#vim /etc/named.rfc1912.zones zone "rookie.com." IN { type slave; file "slaves/rookie.com.zone"; masters { 172.16.250.149; };????????????#指明主節(jié)點(diǎn) };[root@localhost ~]#vim /etc/named.conf options { //listen-on port 53 { 127.0.0.1; }; 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; }; /* - If you are building an AUTHORITATIVE DNS server, do NOT enable recursion. - If you are building a RECURSIVE (caching) DNS server, you need to enable recursion. - If your recursive DNS server has a public IP address, you MUST enable access control to limit queries to your legitimate users. Failing to do so will cause your server to become part of large scale DNS amplification attacks. Implementing BCP38 within your network would greatly reduce such attack surface */ recursion yes; dnssec-enable no; dnssec-validation no; 配置文件語(yǔ)法檢查: [root@localhost ~]#named-checkconf(2)主/從都要重載配置 [root@localhost ~]#rndc reload [root@localhost ~]#systemctl restart named.service [root@localhost ~]#ll /var/named/slaves/ (文件已經(jīng)同步) total 4 -rw-r--r-- 1 named named 414 Jun 1 03:01 rookie.com.zone(3)驗(yàn)證 從 [root@localhost ~]#dig -t A www.rookie.com @172.16.250.149 ; <<>> DiG 9.9.4-RedHat-9.9.4-37.el7 <<>> -t A www.rookie.com @172.16.250.149 ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 5639 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 3 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 4096 ;; QUESTION SECTION: ;www.rookie.com. IN A ;; ANSWER SECTION: www.rookie.com. 600 IN A 172.16.252.125 ;; AUTHORITY SECTION: rookie.com. 600 IN NS dns1.rookie.com. rookie.com. 600 IN NS dns2.rookie.com. ;; ADDITIONAL SECTION: dns1.rookie.com. 600 IN A 172.16.250.149 dns2.rookie.com. 600 IN A 172.16.252.245 ;; Query time: 0 msec ;; SERVER: 172.16.250.149#53(172.16.250.149) ;; WHEN: Thu Jun 01 03:41:02 EDT 2017 ;; MSG SIZE rcvd: 129 (4)修改主配置文件,并重新測(cè)試 [root@localhost /var/named]#vim rookie.com.zone $TTL 600 rookie.com. IN SOA rookie.com. admin.rookie.com. ( 2017060102 1H 5M 1W 6D ) IN NS dns1.rookie.com. IN NS dns2.rookie.com. dns1.rookie.com. IN A 172.16.250.149 dns2.rookie.com. IN A 172.16.252.245 www.rookie.com. IN A 172.16.252.125 web IN CNAME www ftp IN CNAME www [root@localhost ~]#dig -t A ftp.rookie.com @172.16.250.149 ; <<>> DiG 9.9.4-RedHat-9.9.4-37.el7 <<>> -t A ftp.rookie.com @172.16.250.149 ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 30068 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 2, ADDITIONAL: 3 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 4096 ;; QUESTION SECTION: ;ftp.rookie.com. IN A ;; ANSWER SECTION: ftp.rookie.com. 600 IN CNAME WWW.rookie.com. WWW.rookie.com. 600 IN A 172.16.252.125 ;; AUTHORITY SECTION: rookie.com. 600 IN NS dns1.rookie.com. rookie.com. 600 IN NS dns2.rookie.com. ;; ADDITIONAL SECTION: dns1.rookie.com. 600 IN A 172.16.250.149 dns2.rookie.com. 600 IN A 172.16.252.245 ;; Query time: 0 msec ;; SERVER: 172.16.250.149#53(172.16.250.149) ;; WHEN: Thu Jun 01 03:46:11 EDT 2017 ;; MSG SIZE rcvd: 147

On Master

(1) 確保區(qū)域數(shù)據(jù)文件中為每個(gè)從服務(wù)配置NS記錄,并且在正向區(qū)域文件需要每個(gè)從服務(wù)器的NS記錄的主機(jī)名配置一個(gè)A記錄,且此A后面的地址為真正的從服務(wù)器的IP地

注意:時(shí)間要同步

ntpdate命令

子域授權(quán):

正向解析區(qū)域授權(quán)子域的方法:

ops.rookie.com. IN NS ns1.ops.rookie.com. ops.rookie.com. IN NS ns2.ops.rookie.com. ns1.ops.rookie.com. IN A IP.AD.DR.ESS ns2.ops.rookie.com. IN A IP.AD.DR.ESS

定義轉(zhuǎn)發(fā):

注意:被轉(zhuǎn)發(fā)的服務(wù)器必須允許為當(dāng)前服務(wù)做遞歸;

(1) 區(qū)域轉(zhuǎn)發(fā):僅轉(zhuǎn)發(fā)對(duì)某特定區(qū)域的解析請(qǐng)求;

zone "ZONE_NAME" IN { type forward; forward {first|only}; forwarders { SERVER_IP; }; };

first:首先轉(zhuǎn)發(fā);轉(zhuǎn)發(fā)器不響應(yīng)時(shí),自行去迭代查詢;

only:只轉(zhuǎn)發(fā)

(2) 全局轉(zhuǎn)發(fā):針對(duì)凡本地沒(méi)有通過(guò)zone定義的區(qū)域查詢請(qǐng)求,通通轉(zhuǎn)給某轉(zhuǎn)發(fā)器;

options { ... ... forward {only|first}; forwarders { SERVER_IP; }; .. ... };

轉(zhuǎn)發(fā)服務(wù)器

注意:被轉(zhuǎn)發(fā)的服務(wù)器需要能夠?yàn)檎?qǐng)求者做遞歸,否則轉(zhuǎn)發(fā)請(qǐng)求不予進(jìn)行

first:首先轉(zhuǎn)發(fā);轉(zhuǎn)發(fā)器不響應(yīng)時(shí),自行去迭代查詢

only:只轉(zhuǎn)發(fā)

(1)全局轉(zhuǎn)發(fā): 對(duì)非本機(jī)所負(fù)責(zé)解析區(qū)域的請(qǐng)求, 全 轉(zhuǎn)發(fā)給指定的服務(wù)器 Options { fforward {only|first}; forwarders { SERVER_IP; }; };(2)特定區(qū)域轉(zhuǎn)發(fā):僅轉(zhuǎn)發(fā)對(duì)特定的區(qū)域的請(qǐng)求,比全局轉(zhuǎn)發(fā)優(yōu)先級(jí)高 zone "ZONE_NAME" IN { type forward; forward {first|only}; forwarders { SERVER_IP; }; }; 注意:關(guān)閉dnssec 功能: dnssec-enable no; dnssec-validation no;

bind中的安全相關(guān)的配置:

acl:訪問(wèn)控制列表;把一個(gè)或多個(gè)地址歸并一個(gè)命名的集合,隨后通過(guò)此名稱即可對(duì)此集合內(nèi)的所有主機(jī)實(shí)現(xiàn)統(tǒng)一調(diào)用

格式:

acl acl_name { ip; net/prelen; …… };示例: acl mynet { 172.16.0.0/16; 10.10.10.10; };

bind有四個(gè)內(nèi)置的acl:

none:沒(méi)有一個(gè)主機(jī)

any:任意主機(jī)

localhost:本機(jī)

localnet:本機(jī)的IP同掩碼運(yùn)算后得到的網(wǎng)絡(luò)地址

注意:只能先定義,后使用,因此一般定在配置文件中,處于options

訪問(wèn)控制的指令:

allow-query ?{};允許查詢的主機(jī);白名單

allow-transfer {};允許向哪些主機(jī)做區(qū)域傳送;默認(rèn)為向所有主機(jī);應(yīng)該配置僅允許從服務(wù)器

allow-recursion {}; 允許哪此主機(jī)向當(dāng)前DNS服務(wù)器發(fā)起遞歸查詢請(qǐng)求

allow-update {}; DDNS,允許動(dòng)態(tài)更新區(qū)域數(shù)據(jù)庫(kù)文件中內(nèi)容

bind view:

view:視圖,一個(gè)bind 服務(wù)器可定義多個(gè)view ,每個(gè)view中可定義一個(gè)或多個(gè)zone

每個(gè)view 用來(lái)匹配一組客戶端

多個(gè)view 內(nèi)可能需要對(duì)同一個(gè)區(qū)域進(jìn)行解析,但使用不同的區(qū)域解析庫(kù)文件

view VIEW_NAME { zone zone zone } view internal { match-clients { 172.16.0.0/8; }; zone "rookie.com" IN { type master; file "rookie.com/internal"; }; }; view external { match-clients { any; }; zone "rookie.com" IN { type master; file rookie.com/external"; }; };

相關(guān)新聞

歷經(jīng)多年發(fā)展,已成為國(guó)內(nèi)好評(píng)如潮的Linux云計(jì)算運(yùn)維、SRE、Devops、網(wǎng)絡(luò)安全、云原生、Go、Python開(kāi)發(fā)專(zhuān)業(yè)人才培訓(xùn)機(jī)構(gòu)!