DNS and Bind (一)
DNS and Bind
========================================================================
概述:
? ?DNS(Domain Name System,域名系統),因特網上作為域名和IP地址相互映射的一個分布式數據庫,能夠使用戶更方便的訪問互聯網,而不用去記住能夠被機器直接讀取的IP數串。通過主機名,最終得到該主機名對應的IP地址的過程叫做域名解析(或主機名解析)。DNS協議運行在UDP協議之上,使用端口號53。
========================================================================
相關知識
★Sockets:在互聯網上基于套接字協議的通信一般都遵循C/S法則;
Client:客戶端,發起應用請求的程序;
Server:響應請求(提供服務)的程序;
LISTEN:Socket(ip:port)
★傳輸層協議:TCP,UDP,SCTP
TCP:面向連接的協議,雙方通信之前需要建立虛連接;
UDP:無連接的協議,雙方無需通信之前事先建立虛連接;
DNS服務
?1.介紹
★DNS:Domain Name Service 域名系統,是一個應用層協議。
C/S架構,監聽在 53/udp, 53/tcp(DNS服務在啟動的時候會同時開啟tcp和udp的53號端口)
★DNS作用:
將主機名解析成IP地址的過程;
解決了從域名(FQDN)到主機識別的IP地址之間的轉換.
★本地名稱配置解析文件:/etc/hosts
??
? ?
☉缺點:
只能作用于本主機,而不能同步更新所有的主機使用,并且當hosts文件很龐大時很難管理,因此就必須有一個統一的組織去記錄管理域名和ip的對應關系。
★DNS結構
DNS是一個分布式、分層次的主機名管理架構,通過配置DNS服務器地址,主機不需要知道對應的ip地址就能通過主機名的形式訪問互聯網;
DNS利用類似倒狀樹的目錄結構將主機名的管理分配在不同層級的DNS服務器當中,經過分層管理,每一級DNS服務器負責部分域名信息,這也就減輕了DNS服務器的負載,同時也方便記錄的更新同步。
★FQDN(Full Qualified Domain Name):完整主機名
完整主機名由主機名和域名構成。比如,www.taobao.com當中,www就是web網站服務器的主機名,taobao.com就是域名;
主機名和域名之間用實心的點號來表示;
?2.DNS域名
★域名劃分:
☉根域:
☉一級域名:Top Level Domain: tld(頂級域)
組織域:com, edu, mil, gov, net, org, int,
國家域:.cn, .ca, .hk, .tw...
反向域:
☉二級域名:
如:.magedu.com、taobao.com
☉三級域名:
如:.dns.magedu.com
★說明:
每一級只負責對應下級的域的管理,其中根節點是有分布在世界各地的13臺服務器組成,其中10臺位于美國,另外3臺設置于英國、瑞典和日本。
ICANN(The Internet Corporation for Assigned Names and Numbers)互聯網名稱與數字地址分配機構,負責在全球范圍內對互聯網通用頂級域名(gTLD)以及國家和地區頂級域名(ccTLD)系統的管理、以及根服務器系統的管理。
?◆域名層級結構圖:
? ◆按其功能命名空間中用來描述 DNS 域名稱的五個類別的介紹詳見下表中,以及與每個名稱類型的示例:
? ? ?
?3.DNS解析
★解析流程:? ? 1.在瀏覽器中輸入www.qq.com域名,操作系統會先檢查自己本地的hosts文件是否有這個網址映射關系,如果有,就先調用這個IP地址映射,完成域名解析。
? ? 2.如果hosts里沒有這個域名的映射,則查找本地DNS解析器緩存(每次通過TCP/IP指向的DNS服務器查詢到的記錄返回結果都會在本地數據庫中緩存一份,是這種加速機制,有生存周期TTL),是否有這個網址映射關系,如果有,直接返回,完成域名解析。
? ?3.如果hosts與本地DNS解析器緩存都沒有相應的網址映射關系,首先會找TCP/IP參數中設置的首選DNS服務器,此服務器收到查詢時,如果要查詢的域名,包含在本地配置區域資源中,則返回解析結果給客戶機,完成域名解析,此解析具有權威性。
? ? 4.如果要查詢的域名,不由本地DNS服務器區域解析,但該服務器已緩存了此網址映射關系,則調用這個IP地址映射,完成域名解析,此解析不具有權威性。
? ? 5.如果本地DNS服務器本地區域文件與緩存解析都失效,則根據本地DNS服務器的設置(是否設置轉發器)進行查詢,如果未用轉發模式,本地DNS就把請求發至13臺根DNS,根DNS服務器收到請求后會判斷這個域名(.com)是誰來授權管理,并會返回一個負責該頂級域名服務器的一個IP。本地DNS服務器收到IP信息后,將會聯系負責.com域的這臺服務器。這臺負責.com域的服務器收到請求后,如果自己無法解析,它就會找一個管理.com域的下一級DNS服務器地址(qq.com)給本地DNS服務器。當本地DNS服務器收到這個地址后,就會找qq.com域服務器,重復上面的動作,進行查詢,直至找到www.qq.com主機。
? ? 6.如果用的是轉發模式,此DNS服務器就會把請求轉發至上一級DNS服務器,由上一級服務器進行解析,上一級服務器如果不能解析,或找根DNS或把轉請求轉至上上級,以此循環。不管是本地DNS服務器用是是轉發,還是根提示,最后都是把結果返回給本地DNS服務器,由此DNS服務器再返回給客戶機。
☉說明:
? ?從客戶端到本地DNS服務器是屬于遞歸查詢,而DNS服務器之間就是的交互查詢就是迭代查詢。
解析流程圖如下:
?4.DNS類型,解析方式
★DNS查詢類型
☉遞歸查詢:
客戶機和本地DNS服務器之間的查詢
☉迭代查詢:
DNS服務器與DNS服務器之間的交互查詢
★DNS名稱解析方式:
名稱--->IP : ?正向解析
IP --->名稱:反向解析
注意:
正反向解析是兩個不同的名稱空間,是兩棵不同的解析樹,因此也不是同一個解析庫。
★域名購買
通常我們申請注冊的域名是頂級域下的一個二級域(.com),申請成功之后(如:magedu.com),域名商會免費給我們提供DNS解析服務(群租的一個DNS服務器),我們只需要通過其提供的接口(如:web頁面)在管理后臺添加主機記錄即可。然而免費的東西和付費的服務總是不一樣的,免費提供的服務不保證服務的可靠性,因此企業里面要想架設自己的DNS服務器,來提供更可靠、更豐富的功能,就需要向上級提出授權認證,更改DNS服務器的指向,從原來的群租轉到自己的DNS服務器上,自己管理。但一般的小公司如果自己架設DNS服務器的話成本較高,所以一般都是代理商提供的。
★DNS服務器的類型:
☉負責解析至少一個域:
主DNS服務器:
輔助DNS服務器:
☉不負責域解析:
緩存DNS服務器:轉發器
★一次完整地解析請求經歷的過程:
Client-->hosts文件-->Dns Local Cache-->DNS Server(recursion遞歸)-->
? ? ? ?自己負責解析的域:直接查詢數據庫并返回答案;
? ? ? ?不是自己負責的解析域:Server Cache-->iteration(迭代)--> 根--> 頂級域DNS-->二級域名DNS…
★解析答案:
肯定答案:
否定答案:請求的條目不存在等原因導致無法返回結果;
權威答案:由直接負責的DNS服務器返回的答案;
非權威答案:
★主-從DNS服務器:
☉主DNS服務器:
維護所負責解析的域數據庫的那臺服務器;讀寫操作均可進行;
☉從DNS服務器:
從主DNS服務器那里或其他的從DNS服務器那里“復制”解析庫;但只能進行讀操作(只能接受查詢,不能接受修改);
◆復制操作的實施方式(主從同步的屬性):
序列號:解析庫版本號,主服務器解析庫變化時,其序列號遞增;
刷新時間間隔:從服務器每隔多久到主服務器檢查序列號更新情況;
重試時間間隔:從服務器請求同步失敗時,再次發起嘗試請求時間間隔;
過期時長:從服務器聯系不到主服務器時,多久后停止服務;
否定答案的緩存時長(TTL):快取時間
“通知”機制:主服務器解析庫發生變化時,會主動通知從服務器;
★區域傳送:
全量傳送:axfr,傳遞整個解析庫;
增量傳送:ixfr,傳遞解析庫變化的數據;
★區域(zone)和域(domain)
☉baidu.com域:
FQDN-->IP:正向解析庫;(正向區域:正向解析庫和正向解析的功能的組合);
IP --->FQDN:反向解析庫,反向區域
注意:
一般來說一個域由正向區域和反向區域組成,但并不是域就一定大于區域,如:父域的區域可能會比子域要大;
區域是物理概念,而域是邏輯概念。
★DNS端口
DNS是一個網絡服務,因此就有對應的端口,其端口是53號,通常DNS在查詢的時候是以udp這個快速的數據傳輸協議來查詢的,但是一旦沒有辦法查詢到完整的信息時就會再次以TCP協議來進行重新查詢,因此DNS服務在啟動的時候會同時開啟 tcp的53號端口 和 udp的53號端口。
區域數據庫文件
?1.資源記錄(Resource Record)簡稱rr
★區域解析庫:由眾多RR組成:
☉記錄類型:A, AAAA, PTR, SOA, NS, CNAME, MX
◆SOA:(Start Of Authority)
起始授權記錄;一個區域解析庫有且僅能有一個SOA記錄,必須為解析庫的第一條記錄;
◆A:(internet Address)
作用:FQDN --> IPv4;
◆AAAA:地址記錄
作用:FQDN --> IPv6;
◆PTR:(PoinTeR)
作用:IP --> FQDN;反解到的主機名;
◆NS:(Name Server)
專用于標明當前區域的DNS服務器,一個區域解析庫可以有多個NS記錄(主從DNS服務器等);
◆CNAME:(Canonical Name)
別名記錄,一個主機可以有多個別名,但IP地址是一樣的;
◆MX:
Mail exchanger,郵件交換器,有優先級,0-99,數字越小優先級越高;
?4.資源記錄的格式及各資源類型詳解
★資源記錄的定義格式:? ??
☉語法:
name ? ?[TTL] ? IN ? ?RR_TYPE ? value
每一種資源類型的定義方式如下:
★SOA記錄?
起始授權記錄;一個區域解析庫有且僅能有一個SOA記錄,必須為解析庫的第一條記錄;
☉name:
當前區域的名字。例如“magedu.com.”或者“2.3.4.in-addr.arpa.”
☉value:有多部分組成
? ? 1)當前區域的區域名稱(也可以是主DNS服務器的FQDN);
? ? 2)當前區域管理員的郵箱地址;但地址中不能使用@符號,一般用.替換,例如linuxedu.magedu.com
? ? 3)主從服務協調屬性的定義以及否定的答案的統一的TTL
示例:
★NS記錄
專用于標明當前區域的DNS服務器,一個區域解析庫可以有多個NS記錄(主從DNS服務器等);
☉name:當前區域的名字
☉value:當前區域的某DNS服務器的名字,例如 ns.magedu.com.;
示例:
注意:
相鄰的兩個資源記錄的name相同時,后續的可省略;
對NS記錄而言,任何一個ns記錄后面的服務器名字,都應該在后續有一個A記錄
★MX記錄
郵件交換器,有優先級,0-99,數字越小優先級越高;
☉name:當前區域的名字
☉value:當前區域的某郵件服務器(smtp服務器)的主機名
注意:
一個區域內,MX記錄可有多個;但每個記錄的value之前應該有一個數字(0-99),表示此服務器的優先級;數字越小優先級越高;
對MX記錄而言,任何一個MX記錄后面的服務器名字,都應該在后續有一個A記錄
示例:
★A記錄
作用:FQDN --> IPv4;
☉name:某主機的FQDN,例如www.magedu.com.
☉value:主機名對應主機的IPv4地址;
例如:
? ? ? www.magedu.com.? IN ?A ? 1.1.1.1
? ? ? www.magedu.com.? IN ?A ? 1.1.1.2
? ? ? mx1.magedu.com. ? IN ?A ? 1.1.1.1
? ? ? mx2.magedu.com. ? IN ?A ? 1.1.1.2
注意:
? ? ? *.magedu.com. ?IN ?A ?5.5.5.5
? ? ? ? magedu.com. ?IN ?A ?5.5.5.5
避免用戶寫錯名稱時給錯誤答案,可通過泛域名解析進行解析至某特定地址。
★AAAA記錄
作用:FQDN --> IPv6;
☉name:FQDN
☉value:IPv6
★PTR記錄?
☉name:IP
有特定格式,把IP地址反過來寫 ?如:1.2.3.4,要寫作4.3.2.1;
有特定后綴:in-addr.arpa. ?如:完整寫法為:4.3.2.1.in-addra.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記錄
別名記錄,一個主機可以有多個別名,但IP地址是一樣的;
☉name:FQDN格式的別名
☉value:FQDN格式的正式名字;
?例如:
? ? ? ? web.magedu.com. ? ?IN ? ? ?CNAME ??www.magedu.com.
? ? ? (表示www的這個主機的別名為web)
注意:
TTL就是time to live,表示該記錄被其他dns服務器保留到對方服務器上的緩存當中,并保持多少秒(即客戶端可以緩存多長時間),可從全局繼承;
IN:為關鍵字 ;
@ :可用于引用當前區域的名字;
相鄰的兩條記錄其name相同時,后面的可以省略;
同一個名字可以通過多條記錄定義多個不同的值(即一個主機名有多個IP地址);此時DNS服務器會以輪詢方式響應可以實現負載均衡;
同一個值也可能有多個不同的定義名字(即一個IP地址多個主機名);通過多個不同的名字指向同一個值進行定義;此僅表示通過多個不同的名字可以找到同一個主機而已;
對于正向區域來說,各MX、NS等類型的記錄的value為一個FQDN,此FQDN應該有一個A記錄。
安裝部署DNS服務
?1.bind的安裝配置
★BIND:Berkeley Internet Name Domain,ISC.org
dns:協議;
bind:dns協議的一種實現;
named:bind程序的運行的進程名;
★相關程序包:
? ?查詢方式:yum list all bind*
bind-libs:被bind和bind-utils包中的程序共同用到的庫文件;
bind-utils:bind客戶端程序集(工具組件),例如dig,host,nslookup等;
bind:提供的dns server程序、以及幾個常用的測試程序;
bind-chroot:選裝,讓named運行于jall模式下;/var/named/chroot
★bind服務器配置文件
☉服務腳本和名稱:
/etc/rc.d/init.d/named,unbound.service
☉主配置文件:/etc/named.conf
?或包含進來其他文件:
?/etc/named.iscdlv.key
?/etc/named.rfc1912.zones
?/etc/named.root.key
★解析庫文件:
☉/var/named:
該目錄為DNS數據庫文件存放目錄,每一個域文件都存放在這里;
一般名字為:/var/named/ZONE_NAME.ZONE
注意:
?1)一臺DNS服務器可同時為多個區域提供解析;
?2)必須要有根區域解析庫文件:named.ca;
?3)還應該有兩個區域解析庫文件:localhost 和 127.0.0.1 的正反向解析庫;
正向:named.localhost
反向:named.loopbask
★rndc:remote name domain controller
默認與bind安裝在同一主機,且只能通過127.0.0.1連接named進程,因此僅允許本地使用;
提供輔助性的管理功能;953/tcp(監聽在953端口)
★啟動服務
☉bind程序安裝完成之后,默認既可作為緩存名稱服務器使用,如果沒有專門負責解析的區域,直接即可啟動服務;
CentOS 6:service named start
CentOS 7:systemctl start named.service
演示:
[root@centos7?~]#?yum?info?bind 已加載插件:fastestmirror,?langpacks Loading?mirror?speeds?from?cached?hostfile 可安裝的軟件包 名稱????:bind 架構????:x86_64 時期???????:32 版本????:9.9.4 發布????:37.el7 大小????:1.8?M 源????:bash 簡介????:?The?Berkeley?Internet?Name?Domain?(BIND)?DNS?(Domain?Name?System)?server 網址????:http://www.isc.org/products/BIND/ 協議????:?ISC 描述????:?BIND?(Berkeley?Internet?Name?Domain)?is?an?implementation?of?the?DNS:?(Domain?Name?System)?protocols.?BIND?includes?a?DNS?server?(named),:?which?resolves?host?names?to?IP?addresses;?a?resolver?library:?(routines?for?applications?to?use?when?interfacing?with?DNS);?and:?tools?for?verifying?that?the?DNS?server?is?operating?properly.?2.主配置文件格式:
★主配置文件:
☉全局配置段:
options {...};
☉日志配置段:
logging {...};
☉區域配置段:本機能夠為哪些zone進行解析,就要定義哪些zone;
zone {...};
注意:
任何服務程序如果期望其能夠通過網絡被其它主機訪問,至少應該監聽在一個能與外部主機通信的IP地址上;
每個配置語句必須以分號結尾,否則語法錯誤;
★緩存名稱服務器的配置(初始化配置):
☉監聽能與外部主機通信的地址;
◆listen-on port 53 { any; };
監聽的端口,即哪些主機可以進行訪問解析,這里表示監聽所有地址,后面有分號 ,花括號兩邊有空格;
◆listen-on port 53 { 192.168.16.104; };
表示監聽某一特定的地址;
☉學習使用時建議關閉dnssec
? ? ? dnssec-enable ?no;
? ? ? dnssec-validation no;
? ? ? dnssec-lookaside no;
☉關閉僅允許本地查詢
// allow-query ? ? { localhost; };
★配置文件語法檢查
named-checkconf [/etc/named.conf]
演示:
bind 安裝、初始化設置及啟動
1.主配置文件初始化設置
#?安裝?bind [root@centos7?~]#?yum?install?bind?-y#?查看主配置文件 [root@centos7?~]#?cat?/etc/named.conf?? // //?named.conf // //?Provided?by?Red?Hat?bind?package?to?configure?the?ISC?BIND?named(8)?DNS //?server?as?a?caching?only?nameserver?(as?a?localhost?DNS?resolver?only). // //?See?/usr/share/doc/bind*/sample/?for?example?named?configuration?files. //#?全局配置段 options?{??????????????????????listen-on?port?53?{?any;?};??#?修改為監聽本地的所有地址,注意以分號結尾,花括號兩邊有空格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?????{?localhost;?};??#?關閉僅允許本地查詢/*?-?If?you?are?building?an?AUTHORITATIVE?DNS?server,?do?NOT?enable?recursion.attacks.?Implementing?BCP38?within?your?network?would?greatlyreduce?such?attack?surface?*/????#?以上為多行注釋recursion?yes;dnssec-enable?no;???#?學習使用時建議關閉dnssecdnssec-validation?no;?#?學習使用時建議關閉dnssec/*?Path?to?ISC?DLV?key?*/??#?單行注釋,在行首加雙斜線也可以bindkeys-file?"/etc/named.iscdlv.key";managed-keys-directory?"/var/named/dynamic";pid-file?"/run/named/named.pid";session-keyfile?"/run/named/session.key"; };#?日志配置段 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";2.檢查語法錯誤,啟動服務,并查看狀態:
#?檢查語法錯誤 [root@centos7?~]#?named-checkconf??#?開啟服務 [root@centos7?~]#?systemctl?start?named3.查看監聽狀態:
4.此時,我們可以把/etc/resolv.conf 配置文件中的DNS指向為本機的地址,即自己把自己當做DNS服務器,也可以在另一個客戶端主機中配置DNS指向這臺服務器,也可以正常訪問
#?把地址換成自己的,也就是說自己把自己的當做DNS服務器 [root@centos7?~]#?vim?/etc/resolv.conf?1?#?Generated?by?NetworkManager2?nameserver?192.168.16.104??#?可以正常?ping?通?(如果不能ping通,要檢測防火墻設置,并要保證自己可以訪問互聯網) [root@centos7?~]#?ping?www.baidu.com??? PING?www.a.shifen.com?(220.181.111.188)?56(84)?bytes?of?data. 64?bytes?from?220.181.111.188:?icmp_seq=1?ttl=54?time=22.9?ms 64?bytes?from?220.181.111.188:?icmp_seq=2?ttl=54?time=25.5?ms 64?bytes?from?220.181.111.188:?icmp_seq=3?ttl=54?time=28.7?ms 64?bytes?from?220.181.111.188:?icmp_seq=4?ttl=54?time=22.9?ms#?在另一臺CentOS?6?主機修改?DNS?的指向,一樣也可以訪問?3.測試DNS工具:dig,host,nslookup
★dig命令
☉語法:?
dig [-t RR_TYPE] name [@SERVER] [query options]
?注意:
dig只用于測試dns系統,不會查詢hosts文件進行解析
@:表示通過哪個DNS服務器,不寫表示為通過本機
☉選項:?
+[no]trace:跟蹤解析過程
+[no]recurse:進行遞歸解析
☉測試反向解析:
dig -x IP @SERVER
☉模擬完全區域傳送:
dig -t axfr ZONE_NAME @SERVER
示例:
dig -t axfr magedu.com @172.16.100.11
dig –t axfr 100.16.172.in-addr.arpa @172.16.1.1
★host命令
☉語法:?
host [-t type] name [SERVER_IP]
示例:?
host –t NS magedu.com @172.16.0.1
★nslookup命令:
☉語法:
nslookup [-option] [name | -] [server]
☉交互式模式:
nslookup>
server IP:指明使用哪個DNS server進行查詢;默認為/etc/resolv.conf中的
set q=RR_TYPE:指明查詢的資源記錄類型
NAME:要查詢的名稱
dig命令演示:
1.測試本機DNS能否正常查詢
#?測試能否解析? [root@centos7?~]#?dig?-t?A?www.baidu.com??;?<<>>?DiG?9.9.4-RedHat-9.9.4-29.el7?<<>>?-t?A?www.baidu.com ;;?global?options:?+cmd ;;?Got?answer: ;;?->>HEADER<<-?opcode:?QUERY,?status:?NOERROR,?id:?28923 ;;?flags:?qr?rd?ra;?QUERY:?1,?ANSWER:?3,?AUTHORITY:?5,?ADDITIONAL:?6;;?OPT?PSEUDOSECTION: ;?EDNS:?version:?0,?flags:;?udp:?4096 ;;?QUESTION?SECTION:??#?問題區段 ;www.baidu.com. IN A;;?ANSWER?SECTION:?#?答案選項 www.baidu.com. 901 IN CNAME www.a.shifen.com.??#?一個別名 www.a.shifen.com. 300 IN A 220.181.112.244 www.a.shifen.com. 300 IN A 220.181.111.188;;?AUTHORITY?SECTION:?#?權威選項?,這個別名對應了5臺DNS服務器 a.shifen.com. 1200 IN NS ns1.a.shifen.com. a.shifen.com. 1200 IN NS ns2.a.shifen.com. a.shifen.com. 1200 IN NS ns5.a.shifen.com. a.shifen.com. 1200 IN NS ns4.a.shifen.com. a.shifen.com. 1200 IN NS ns3.a.shifen.com.;;?ADDITIONAL?SECTION:??#附加選項?,顯示著5臺服務器分別對應的地址 ns1.a.shifen.com. 1200 IN A 61.135.165.224 ns2.a.shifen.com. 1200 IN A 180.149.133.241 ns3.a.shifen.com. 1200 IN A 61.135.162.215 ns4.a.shifen.com. 1200 IN A 115.239.210.176 ns5.a.shifen.com. 1200 IN A 119.75.222.17;;?Query?time:?89?msec??#?查詢指令時長,為89毫秒 ;;?SERVER:?192.168.16.104#53(192.168.16.104)??#?由哪個DNS服務器進行解析的,這里是由本機進行迭代的方式查詢的 ;;?WHEN:?Tue?Oct?04?16:27:53?CST?2016 ;;?MSG?SIZE??rcvd:?2712.dig跟蹤查詢命令
[root@centos7?~]#?dig?+trace?-t?A?www.baidu.com;?<<>>?DiG?9.9.4-RedHat-9.9.4-29.el7?<<>>?+trace?-t?A????#?首先查找根節點服務器? ;;?global?options:?+cmd . 511977 IN NS i.root-servers.net. . 511977 IN NS l.root-servers.net. . 511977 IN NS m.root-servers.net. . 511977 IN NS k.root-servers.net. . 511977 IN NS f.root-servers.net. . 511977 IN NS d.root-servers.net. . 511977 IN NS a.root-servers.net. ;;?Received?783?bytes?from?192.168.16.104#53(192.168.16.104)?in?31?mscom. 172800 IN NS j.gtld-servers.net.??#?其次查找頂級域名 com. 172800 IN NS h.gtld-servers.net. com. 172800 IN NS d.gtld-servers.net. com. 172800 IN NS i.gtld-servers.net. com. 172800 IN NS f.gtld-servers.net. com. 172800 IN NS g.gtld-servers.net. com. 86400 IN DS 30909?8?2?E2D3C916F6DEEAC73294E8268FB5885044A833FC5459588F4A9184CF?C41A5766 com. 86400 IN RRSIG DS?8?1?86400?20161016170000?20161003160000?39291?.?WmTN9517zn1fnhOz36UYC1CiDcRwvG+pYVO0wwU4ucOF0dQKgoCTVclv?l1qxjuYDgl/XF3hj3lnSQZMQIpGzT48vnMVdJjBkGbySLgqtNjkoL/yO?DtZGyY6jxbxYBchx7U6QDkgaC3AQ9o82uClTVPg8N+KFx3TuORDvB/CO?sp2/5D0KSMS81/N+PEGemK/wmfHg9t48CGLx/T6+v1oPHP9oxq+vDtSG?bRmsHFzrvatrrpttP6wMjNK4x9r07t/apPzKAQvxxzaeISsElpWe62+K?zviR6hp7TxKrp4PmtNWul7jwNxvVkcLuzCdhjq44O9sU/bk4UzM+D6fq?j4C+9A== ;;?Received?865?bytes?from?192.36.148.17#53(i.root-servers.net)?in?200?msbaidu.com. 172800 IN NS dns.baidu.com.?#?再查找子域 baidu.com. 172800 IN NS ns2.baidu.com. baidu.com. 172800 IN NS ns3.baidu.com. baidu.com. 172800 IN NS ns4.baidu.com. baidu.com. 172800 IN NS ns7.baidu.com. CK0POJMG874LJREF7EFN8430QVIT8BSM.com.?86400?IN?NSEC3?1?1?0?-?CK0Q1GIN43N1ARRC9OSM6QPQR81H5M9A?NS?SOA?RRSIG?DNSKEY?NSEC3PARAM CK0POJMG874LJREF7EFN8430QVIT8BSM.com.?86400?IN?RRSIG?NSEC3?8?2?86400?20161009044157?20161002033157?27452?com.?M41sYMa1AlSgKf/CWelF3cJ4O2uGYGJEWlS1b8b2WlsMKCXnhK/rYlrb?FAtAWNcgyzdspmEEZtRcZqLj4x4Oizr3zHPz2EM18IPuDsSdeIIHV70y?gwEnInozpTeqk1A0u/fVVSDpfcurgcZcW9bGbu74cLlg9KZ+J2V//br1?+7w= HPVV2B5N85O7HJJRB7690IB5UVF9O9UA.com.?86400?IN?NSEC3?1?1?0?-?HQ01H2D8Q0MT897NAE62MCFNM16HPMG6?NS?DS?RRSIG HPVV2B5N85O7HJJRB7690IB5UVF9O9UA.com.?86400?IN?RRSIG?NSEC3?8?2?86400?20161011043201?20161004032201?27452?com.?hRWUxUIPqALKCeNnKeycykf5L0ydbvwxF5pyCZ/aKpO6g2f2wSnOGPEI?0sgHxJ57t0nKIYwjnnODkyOAyFl6TJoxIO46jPCi8cEkz+f/jCKtUOdF?gxoBdOBez+gQCQ9BlCaTzAg1mgJM00G+9kXcMcQN/4RcnVPhGv0oe6Xp?c6E= ;;?Received?697?bytes?from?192.35.51.30#53(f.gtld-servers.net)?in?240?ms#?查找的主機 www.baidu.com. 1200 IN CNAME www.a.shifen.com. a.shifen.com. 1200 IN NS ns3.a.shifen.com.? a.shifen.com. 1200 IN NS ns4.a.shifen.com. a.shifen.com. 1200 IN NS ns5.a.shifen.com. a.shifen.com. 1200 IN NS ns1.a.shifen.com. a.shifen.com. 1200 IN NS ns2.a.shifen.com. ;;?Received?239?bytes?from?220.181.38.10#53(ns4.baidu.com)?in?26?mshost命令演示:
#?查詢IPv4地址資源記錄? [root@centos7?~]#?host?-t?A?www.baidu.com? www.baidu.com?is?an?alias?for?www.a.shifen.com. www.a.shifen.com?has?address?61.135.169.125 www.a.shifen.com?has?address?61.135.169.121#?查詢域名服務器名資源記錄 [root@centos7?~]#?host?-t?NS?baidu.com? baidu.com?name?server?dns.baidu.com. baidu.com?name?server?ns2.baidu.com. baidu.com?name?server?ns4.baidu.com. baidu.com?name?server?ns3.baidu.com. baidu.com?name?server?ns7.baidu.com.#?查詢郵件服務器資源記錄 [root@centos7?~]#?host?-t?MX?baidu.com? baidu.com?mail?is?handled?by?20?mx1.baidu.com. baidu.com?mail?is?handled?by?20?jpmx.baidu.com. baidu.com?mail?is?handled?by?20?mx50.baidu.com. baidu.com?mail?is?handled?by?10?mx.n.shifen.com.nslookup命令演示:
[root@centos7?~]#?nslookup >?server?192.168.1.1??#?直接寫?server?默認為本機DNS Default?server:?192.168.1.1 Address:?192.168.1.1#53 >?set?q=A?????????????#?查詢A記錄 >?www.baidu.com Server: 192.168.1.1 Address: 192.168.1.1#53Non-authoritative?answer: www.baidu.com canonical?name?=?www.a.shifen.com. Name: www.a.shifen.com Address:?61.135.169.121 Name: www.a.shifen.com Address:?61.135.169.125#?查詢?NS?資源記錄 >?set?q=NS >?baidu.com Server: 192.168.1.1 Address: 192.168.1.1#53Non-authoritative?answer: baidu.com nameserver?=?ns3.baidu.com. baidu.com nameserver?=?ns7.baidu.com. baidu.com nameserver?=?ns2.baidu.com. baidu.com nameserver?=?ns4.baidu.com. baidu.com nameserver?=?dns.baidu.com.Authoritative?answers?can?be?found?from: >?exit?3.rndc命令:named服務控制命令
★rndc:named 服務控制命令
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服務器的所有緩存記錄
status:狀態查詢
演示:
[root@centos7?~]#?rndc?status version:?9.9.4-RedHat-9.9.4-29.el7?<id:8f9657aa> CPUs?found:?4 worker?threads:?4 UDP?listeners?per?interface:?4 number?of?zones:?101 debug?level:?0 xfers?running:?0 xfers?deferred:?0 recursive?clients:?0/0/1000 tcp?clients:?0/100 server?is?up?and?running由于本章內容篇幅過長,后續內容(配置正反向區域解析,從DNS服務器,子域授權,定義轉發等)詳見DNS(二)http://1992tao.blog.51cto.com/11606804/1859019
轉載于:https://blog.51cto.com/1992tao/1857935
總結
以上是生活随笔為你收集整理的DNS and Bind (一)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 第四单元作业
- 下一篇: ubuntu安装使用ffmpeg