DNS原理概述及使用
===============================
DNS原理
Bind的安裝配置及正反向解析
主從複製
子域授權及轉發
Acl及view
===============================
一、DNS原理
每個IP地址都可以有一個主機名,主機名由一個或多個字符串組成,字符串之間用小數點隔開。有了主機名,就不要死記硬背每臺IP設備的IP地址,只要記住相對直觀有意義的主機名就行了。這就是DNS協議所要完成的功能。通過主機名,最終得到該主機名對應的IP地址的過程叫做名稱解析(或主機名解析)DNS名稱解析:FQDN --> IP;IP --> FQDN(FQDN:指域名)
DNS服務監聽在53號端口,DNS中的名稱與對應的主機的主機名不要求是一樣的;一個名稱可以對應多個IP;一個IP上也可以對應多個名稱。
DNS的域名的拆分圖解:
如:www.baidu.com.
‘.’:根域名服務器。
‘com’:頂級域名,或者一級域名,還有net cn org等
‘exmple’:二級域名,由公司或者個人使用。
‘www’:主機名 ,主機名還有mall.ftp等都是主機名
區域解析庫:
資源記錄:rr(resource record)
SOA:起始授權記錄,一個區域文件只能有一個;
NS:name server
MX:郵件交換器,MX記錄有優先級的屬性,0-99,數值越小,優先級越高
A:FQDN --> IP,專用於正向解析庫
PTR: IP --> FQDN,專用於反向解析
AAAA: FQDN --> IPV6,專用於正向解析庫
CNAME:Canonical Name,正式名稱
DNS的查詢方式
迭代查詢:本地域名服務器向根域名服務器的查詢通常是採用迭代查詢。當根域名服務器收到本地域名服務器的迭代查詢請求報文時,要麼給出所要查詢的 IP 地址,要麼告訴本地 域名服務器:“你下一步應當向哪一個域名服務器進行查詢”。然後讓本地域名服務器進行後續的查詢
遞歸查詢:主機向本地域名服務器的查詢一般都是採用遞歸查詢。如果主機所詢問的本地域名服務器不知道被查詢域名的 IP 地址,那麼本地域名服務器就以 DNS 客戶的份,向其他根域名服務器繼續發出查詢請求報文會給客戶端一個準確的返回結果,無論是成功與否。
DNS服務器的類型:
master:主DNS服務器擁有區域正反向配置文件,管理區域。
slave:從DNS服務器是從主DNS服務器備份解析庫從而達到DNS解析的。(解析庫文件同步的過程叫:區域傳送;傳送爲單方向的,因爲只是從服務器到主服務器上獲取解析庫;區域傳送分爲:完全區域傳送:axfer;增量區域傳送:ixfer)
forward:將查詢請求發往其他的DNS服務器。
cache:緩存服務器,將客戶端上一次的解析緩存到服務器,過一段時間刷新一下。
hint:根DNS服務器
二、Bind的安裝配置及正反向解析
bind:bekerley internet name domain
服務腳本:/etc/rc.d/init.d/named
主配置文件:/etc/named.conf,/etc/named.rfc1912.zones
區域解析庫文件:/var/named/zone_name.zone
安全:
服務進程以系統用戶的身份運行:named, named
可以運行於chroot模型下,即工作jail環境
實驗環境:
搭建環境:CentOS6.5 x86_64虛擬機2臺,做DNS主從複製。
安裝包:使用yum安裝bind-9.8.2-0.17.rc1.el6_4.6.x86_64rpm包。
主DNS服務器IP地址:172.16.25.1
從DNS服務器IP地址:172.16.25.4
在主DNS服務器上安裝bind包
配置named.conf文件,註釋掉暫時不用的信息(//表示註釋)
編輯此文件,添加正向解析區域
指定區域爲learning.com,定義爲主DNS服務器,指定文件爲learn.com.zone
添加正向解析區域後就開始創建配置文件“learn.com.zone”
將所需要的解析的信息填入配置文件
配置文件填寫完成後就要修改文件的權限跟屬組了,更好以後再檢測下文件的語法是否正確,
重啓服務完成正向解析的配置
再次修改此文件,添加反向解析區域
定義區域名爲25.16.172.in-addr.arpa.指定爲主DNS服務器,配置文件爲172.16.25.zone
把剛纔創建的正向解析配置文件直接複製爲反向解析的配置文件,並使用-p複製其權限信息
然後編輯反向解析文件
定義此文件中的配置信息
然後檢測語法是否有誤,反向解析配置完成
使用客戶端工具測試:
1、 host
語法:host -t RRTypeNAME [SERVER]
2、 nslookup
在命令中使用 server IP:指定要查看的主機的ip地址
set type=查看{A|SOA|NS|MX}記錄
name:查詢名字
3、 dig
使用格式: dig -t TYPE name @server
也可使用跟蹤查看整個解析過程
+trace :跟蹤解析過程
+notrace :不跟蹤解析過程
+recurse :遞歸查詢
+norecurse:不遞歸查詢
使用此命令查看正向解析情況
使用此命令查看反向解析情況
主從複製、子域授權及轉發、Acl及view會在下次的博文中做詳細的圖解,敬請期待!