前言
我們在訪問一個網站的時候,只要輸入該網站的網址就會跳轉到該網站頁面,而實現這一過程就需要DNS服務器將域名解析為IP地址,進而實現數據通信。那么DNS服務器是如何工作的呢?本系列分為兩部分,本文將詳解DNS服務原理及正反向解析配置。
DNS服務原理詳解
DNS相關知識
DNS:Domain Name Service,域名解析服務
監聽端口:udp/53,tcp/53
應用程序:bind
根域:.
一級域:
組織域:.com, .org, .net, .mil, .edu, .gov, .info, .cc, .me, .tv
國家域:.cn, .us, .uk, .jp, .tw, .hk, .iq, .ir
反向域:.in-addr.arpa
DNS樹狀結構
解析方式
正向解析:FQDN –> IP
反向解析:IP –> FQDN
FQDN:(Fully Qualified Domain Name)全稱域名
DNS查詢方式
遞歸:DNS請求被服務器接受后,如果屬于此服務器管轄范圍則請求上級服務器依次傳遞請求,并且依次傳遞結果給發出請求的主機。
#客戶端指向的服務器一定給遞歸服務
迭代: DNS請求被服務器接受后,如果不是自己管轄范圍,讓客戶端訪問根域服務器,然后跟域通知客戶端去訪問下級服務器,直到最后客戶端訪問管轄請求域名的服務器為止。
區域解析庫
資源記錄:rr(resource record)用于此記錄解析的屬性
SOA: Start Of Authority, 起始授權記錄,一個區域文件只能有一個
NS:Name Server,域名服務器
MX: Mail eXchange, 郵件交換器,MX記錄有優先級屬性(0-99)
A:FQDN –> IP,專用于正向解析庫
PTR: IP –> FQDN,專用于反向解析庫
AAAA:FQDN –> IPv6,專用于正向解析庫
CNAME: Canonical Name,正式名稱
DNS服務器類型
主DNS服務器
從DNS服務器
緩存服務器
區域傳送
解析庫文件同步的過程,即輔助DNS服務器與主DNS服務器間的區域文件同步傳輸過程。
完全區域傳送:傳送區域的所有數據,AXFER
增量區域傳送:傳送區域中改變的數據,IXFER
DNS資源記錄格式
格式:
name [ttl] IN RRType value
SOA記錄:
name: 區域名稱,通??梢院唽憺锧 value: 主DNS服務器的FQDN,也可以當前區域的區域名稱 注意:任何解析庫文件的第一個記錄的類型必須是SOA 例如: @ IN SOA ns.scholar.com. admin.scholar.com. ( serial number ;#解析庫版本號,例如2015040701 refresh time ;#刷新時間,即同步時間 retry time ;#重試時間 expire time ;#過期時間 negative answer ttl ;#否定答案的統一緩存時長 )
NS記錄:
name: 區域名稱 value: DNS服務器的FQDN 注意:如果有多臺NS服務器,每一個都必須有對應的NS記錄; 對于正向解析文件來講,每一個NS的FQDN都應該有一個A記錄; 例如: @ IN NS ns.scholar.com.
MX記錄:
name: 區域名稱 value: 郵件服務器的FQDN 優先級:0-99.數字越小,越優先 注意:如果有多臺MX服務器,每一個都必須有對應的MX記錄;但各MX記錄還有優先級屬性 對于正向解析文件來講,每一個NS的FQDN都應該有一個A記錄; 例如: @ IN MX 10 mail.scholar.com. @ IN MX 20 mail2.scholar.com.
A記錄:
name: FQDN(可簡寫) value: IP 例如: www IN A 172.16.10.10 www IN A 172.16.10.100 pop3 IN A 172.16.10.10 imap IN A 172.16.10.10
AAAA記錄:
name: FQDN(可簡寫) value: ipv6 IP
CNAME記錄:
name: FQDN value: FQDN 例如: www IN A 172.16.10.10 ftp IN CNAME www
PTR記錄:
name: 逆向的主機IP地址加后綴in-addr.arpa,例如172.16.10.10/16, 網絡地址為172.16, 主機地址為10.10,其name為10.10.in-addr.arpa.(可簡寫) value: FQDN 例如: 10 IN PTR www.scholar.com.
DNS服務配置之正反向解析
服務程序包介紹
Linux下可提供DNS服務的程序包為bind(bekerley internet name domain)
服務腳本:/etc/rc.d/init.d/named
主配置文件:/etc/named.conf, /etc/named.rfc1912.zones
區域解析庫文件:/var/named/zone_name.zone
主配置文件中通常有三個區域:根、localhost、127.0.0.1的反向區域
域類型:主域(master)、從域(slave)、緩存域(hint)、轉發域(forward)
實戰正反向解析配置
案例要求:
DNS服務器地址:172.16.10.10
www:172.16.10.10
mail:172.168.10.12
pop:mail別名,指向mail
ftp:www別名,指向www
要求可以實現正反向解析
編輯主配置文件,添加正向區域和反向區域
[root@scholar ~]# vim /etc/named.conf options { #全局配置 //listen-on port 53 { 127.0.0.1; }; #注釋后監聽全部IP的53端口 //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; }; #訪問控制,注釋后允許所有IP訪問 recursion yes; #是否遞歸 //dnssec-enable yes; //dnssec-validation yes; //dnssec-lookaside auto; /* Path to ISC DLV key */ bindkeys-file "/etc/named.iscdlv.key"; managed-keys-directory "/var/named/dynamic"; }; logging { #定義日志 channel default_debug { file "data/named.run"; severity dynamic; }; }; zone "." IN { type hint; file "named.ca"; }; zone "scholar.com" IN { #正向區域 type master; file "scholar.com.zone"; }; zone "10.16.172.in-addr.arpa" IN { #反向區域 type master; file "172.16.10.zone"; }; include "/etc/named.rfc1912.zones"; //include "/etc/named.root.key";
創建正向區域文件
[root@scholar named]# vim scholar.com.zone #必須與區域文件名保持一致 $TTL 3600 @ IN SOA dns.scholar.com. admin.scholar.com. ( 2015040701 2H 10M 7D 1D ) @ IN NS dns @ IN MX 10 mail dns IN A 172.16.10.10 mail IN A 172.16.10.12 www IN A 172.16.10.10 pop IN CNAME mail ftp IN CNAME www
創建反向區域文件
[root@scholar named]# vim 172.16.10.zone #必須與區域文件名保持一致 $TTL 3600 @ IN SOA dns.scholar.com. admin.scholar.com. ( 2015040701 2H 10M 7D 1D ) @ IN NS dns.scholar.com. 10 IN PTR dns.scholar.com. 12 IN PTR mail.scholar.com. 10 IN PTR www.scholar.com.
修改權限及屬組
檢查語法,啟動服務并設置開機自啟
查看tcp和upd的53端口是否開啟
正向解析測試
反向解析測試
The end
經過以上測試,正向反向都可以成功解析,至此DNS服務的基本服務算是完成了,測試命令除了dig還可使用nslookup等,想了解dig和其它測試命令命令想自行查手冊,這里不做詳解了。第二部分將會講解主從復制,子域授權和轉發以及view,如有興趣請關注下文。
以上僅為個人學習整理,如有錯漏,大神勿噴~~~
原創文章,作者:書生,如若轉載,請注明出處:http://www.www58058.com/2872
非常清晰明了的思路,圖畫的非常棒,贊