DNS服務
DNS服務屬於應用層服務,端口號爲 53(ss –utnl | grep 53查看端口是否處於監聽狀態)。
在Linux中,bind軟件包爲相關命令包。
DNS 也分優先級,在本地有hosts文件,該文件存儲部分在DNS註冊過的權威網站,使用域名時優先解析。
在Linux,DNS服務對應的服務名爲named,啓動服務時,service named start 、systemctl start named 。
DNS域名
根域 : 位於美國
一級域名: tld com, edu, mil, gov, net, org, int,arpa ,總共三類:組織域、國家域(.cn, .jp)地區域(.hk, .tw)、反向域
二級域名 :
三級域名 :最多127級域名
DNS解析
DNS查詢類型: 遞歸查詢
迭代查詢
名稱服務器:域內負責解析本域內的名稱的主機 。
根服務器:13組服務器,1個爲主根服務器在美國。其餘12個均爲輔根服務器。
解析類型: FQDN –> IP : 域名解析爲IP地址,正向解析。
IP –> FQDN :IP地址解析爲域名,反向解析。
DNS服務器類型
DNS服務器的類型: 主DNS服務器 從DNS服務器 緩存DNS服務器(轉發器) 。
主DNS服務器:管理和維護所負責解析的域內解析庫的服務器。
從DNS服務器:從主服務器或從服務器“複製”(區域傳輸),解析庫副本。
“通知”機制:主服務器解析庫發生變化時,會主動通知從服務器。
那麼解析的過程是怎樣的呢?
一次完整的查詢請求經過的流程: Client (客戶端)-->hosts文件 -->DNS Service 本地緩存 --> DNS Server (recursion) --> Server Cache --> iteration(迭代查詢) --> 根--> 頂級域名DNS->二級域名DNS…
而解析結果則是: 肯定答案: 權威答案:本地緩存所得出的答案 。
非權威答案:通過轉發或迭代得出的答案。
否定答案:請求的條目不存在等原因導致無法返回結果。
DNS相關配置文件
/etc/name.conf 全局配置文件,決定了dns的工作方式。
/var/named dns 數據文件,決定了如何解析記錄。
資源記錄
• 區域解析庫:由衆多資源記錄組成,而記錄類型分爲:A, AAAA, PTR, SOA, NS, CNAME, MX • SOA:Start Of Authority。
資源記錄定義的格式: name[TTL] IN rr_type value
起始授權記錄SOA;一個區域解析庫有且僅能有一個SOA記錄,必須位於解 析庫的第一條記錄 。
A:internet Address,作用,FQDN –> IP ,IPv4記錄。
AAAA: FQDN –> IPv6 ,IPv6記錄,,有特定格式,把IP地址反過來寫,而有特定後綴:inaddr.arpa.。
PTR: PoinTeR,IP –> FQDN ,反解析記錄。
NS: Name Server,專用於標明當前區域的DNS服務器,需要注意的是:(1) 相鄰的兩個資源記錄的name相同時,後續的可省略 ;(2) 對NS記錄而言,任何一個ns 記錄後面的服務器名字,都應該在後續有一個A記錄。
CNAME:Canonical Name,別名記錄 。
MX: Mail eXchanger,郵件交換器, 對MX記錄而言,任何一個MX記錄後面的服務器名字,都應該在後續有一個A記錄。
實驗2:DNS的主從
1.yum -y install bind
2.vim /etc/name.conf,在主dns上應該設置allow-transfer來確保只有授權的機器才能做從dns
allow-transfer { 192.168.153.6; };
3.主虛擬機:vim zone文件:
4.在從DNS服務器上,vim /etc/name.rfc1912.zones
5.主從虛擬機上皆:service named restart
dig -t axfr magedu.com @192.168.153.7
雖然這是一個很小的實驗,但是基本上都實踐了我們上面介紹過的理論知識,作爲練手還是可以試試的。