DNS & BIND(1)php
what-DNS& BINDweb
DNS: 數據庫
Domain Name Service緩存
已於C/S架構的協議安全
53/udp: 域名解析服務器
53/tcp : 區域傳輸 網絡
BIND: 架構
Bekerley Internet Name Domaintcp
BIND對DNS協議的開源實現,包含對域名的查詢和響應所需的全部軟件分佈式
BIND是互聯網上最普遍使用的一種DNS服務器
傳輸方式
1)區域傳輸 的時候使用TCP協議 :
主DNS服務器: 從本身本機的數據文件中讀取該區的DNS數據信息。
輔助服務器: 從主 DNS 服務器獲取信息,也就是區域傳輸( 通常三小時一次 )
區域傳送將使用TCP而不是UDP,由於數據同步傳送的數據量比一個請求和應答的數據量要多得多。
*)UDP報文的最大長度爲512字節,而TCP則容許報文長度超過512字節。
當DNS查詢超過512字節時,協議的TC標誌出現刪除標誌,這時則使用TCP發送。
2)域名解析時使用UDP協議:
客戶端向DNS服務器查詢域名,通常返回的內容都不超過512字節,用UDP傳輸便可。
由於不用通過TCP三次握手,這樣DNS服務器負載更低,響應更快。
雖然從理論上說,客戶端也能夠指定向DNS服務器查詢的時候使用TCP,但事實上,不少DNS服務器進行配置的時候,僅支持UDP查詢包。
解析的發展
主機數量很少: 用本身的hosts文件
主機數量千餘臺:
IANA 推出ftp服務器(本質仍是hosts文件)
任何主機訪問都須要申請ftp服務器
每一個人更新本身的hosts文件(每隔一個小時更新一次)
主機數量上萬臺:
把主機和IP hash化,保存在內存中
* hash : 特徵碼,hash barket(桶)
DNS服務器
主機數量百萬臺: 分層的DNS分佈式服務器
DNS服務器每層中都存儲了什麼
域名(最多127個域)
頂級域名(一級域名)Top Level Domain:TLD
三類:
組織類(com,edu,mil,gov,net,org,int-國際域)
國家類(.cn, .iq-伊拉克, .hk , .tw)
反向域
任何一個組織,公司拿到的都是二級域名
注意的問題:
1)DNS數據庫系統和文件系統的區別
命名規則
dns自底向上命名(www.baidu.com.)
文件系統,自上而下,從/開始
2)DNS查詢方式:自頂向下
遞歸查詢:客戶端 請求一次就得到最終結果
迭代查詢:服務器 請求屢次 才能得到最終結果
服務器在查詢時,有可能獲得的是參考答案或最終答案
離用戶最近的,本地DNS服務器爲當地運營商,電信聯通之流
使用該種查詢方式的DNS服務器有不少種
3)DNS服務器類型:
主DNS服務器(master)
輔助DNS 服務器(slave)
緩存服務器
轉發器
主DNS服務器:維護所負責域內解析庫服務器
解析庫文件由管理員維護
從DNS服務器:區域傳送(TCP)
解析庫文件 是從主DNS服務器或其餘從 DNS服務器那「複製」來的
主從服務器協調屬性(SOA):
序列號:解析庫的版本號
刷新時間: 從服務器同主服務器請求同步解析庫的時間間隔
重試時長:從服務器同主服務器請求同步解析庫失敗時,再次嘗試的時間間
過時時長:從服務器始終聯繫不到主服務器,多久後放棄從服務器角色,中止提供服務。居然不接管。。。。無語。。。。。
通知機制:主服務器主動通知從服務器
全量傳送:傳送整個解析庫
增量傳送:傳送解析庫變化的部分內容
緩存DNS服務器(遞歸)
不解析任何域,不註冊任何域名
4)解析類型:
正向解析:FQDN --> IP
反向解析 :IP --> FQDN
FQDN : Full Qualified Domain Name 徹底合格域名
www.baidu.com. .不能省略
www.baidu.com
方法:根據網段,子網
用途:反向解析是郵件服務器檢驗對方是否是垃圾郵件服務器重要手段
例子:
-n numeric
不指定 -n ,須要將IP反向解析成地址
route -n
注意: 正反解析
是兩個不一樣的名稱空間(namespace)
是兩棵不一樣的解析樹
各須要一個解析庫,來分別負責本地域名的正向反向解析,即
正向區域
反向區域
5)專業名詞
名稱服務器:域內負責解析本域內的名稱的主機
根服務器:13組服務器(戒備森嚴,安全等級高)
解析答案
確定答案
否認答案:請求的條目不存在等緣由,致使沒法返回結果.
權威答案:負責這個域的服務器給的答案
非權威答案
6)資源記錄:Resource Record ,RR
記錄類型
SOA
Start of Authority,起始受權記錄
一個區域解析庫有且僅能有一個SOA記錄
並且必須位於解析庫第一條
A
internet Address: FQDN -->IP
AAAA
internet Address: FQDN -->IPv6
PTR
pointer: IP-->FQDN
NS
name server,專門用於標明當前區域的Dns服務器
CNAME
Canonical Name,別名記錄
MX
Mail eXchanger,郵件交換器
資源記錄定義的格式:
語法: name [TTL] IN rr_type value
注意:
1.TTL能夠從全局繼承
2.@用於引用當前區域的名字
3.同一個名字能夠經過多條記錄定義多個不一樣的值(rr);
4.同一個值也可有多個不一樣的名字
5.經過多個不一樣的名字能夠找到同一個主機
資源記錄詳解
SOA:(Start of Authority)
name:
當前區域的名字
value:
當前區域內的主DNS服務器FDQN,也可使用當前區域的名字
當前區域中管理員郵箱地址;但地址中不能使用@,用點替換
主從服務器協調屬性的定義以及否認的答案統一的TTL
例如
lalala.com. 86400 IN SOA ns.lalala.com. nsadmin.lalala.com. (
2015042201;序列號
2H ;刷新時間
10M ;重試時間
1W ;過時時間
1D ;否認答案的緩存時間(TTL值)
)
H(hour),D(day),M(min),W(week)
NS:(Name Server):是域名服務器記錄,用來指定該域名由哪一個DNS服務器來進行解析
name
value:當前區域的某DNS服務器的名字,例如ns.lalala.com
一個區域能夠有多個NS服務器
例如:
FQDN
lalala.com. IN NS ns1.lalala.com.
lalala.com. IN NS ns2.lalala.com.
注意
兩個相鄰的資源記錄(rr)的name相同時,後續的能夠省略;
對NS記錄而言,任何一個NS記錄後面的服務器名字(FQDN),都應該在後續有一個A記錄
MX:
name:當前區域名字
value:當前區域某郵件服務器(smtp服務器)的主機名
一個區域內,MX記錄可有多個;
優先級:但每一個記錄的value以前應該有一個數字(0~99)
數字越小優先級越高
例如
lalala.com. IN MX 10 ns1.lalala.com.
IN MX 20 ns2.lalala.com.
注意
對於MX記錄而言,任何一個MX記錄服務器後面的名字,都應該在後續有一個A記錄
A記錄:
name: 某主機的FQDN,例如www.lalala.com
value: 主機名對應主機的IP地址
例如
同一個名字能夠定義多條記錄(值) rr
www.lalala.com. IN A 1.1.1.1
www.lalala.com. IN A 1.1.1.2
經過不一樣名字找到一個主機
mx1.lalala.com. IN A 1.1.1.3
mx2.lalala.com. IN A 1.1.1.3
注意
*.lalala.com. IN A 1.1.1.4
lalala.com. IN A 1.1.1.4
避免用戶寫錯名稱時,可經過泛域名解析進行解析至某特定地址
AAAA記錄:
name: 某主機的FQDN
value: 主機名對應主機的IPv6地址
PTR:
name: IP
有特定格式: 1.2.3.4,寫作4.3.2.1
有特定後綴: in-addr.arpa.
完整寫法: 4.3.2.1.in-addr.arpa.
value: FQDN
例如
4.3.2.1.in-addr.arpa. IN PTR www.lalala.com
簡寫:
若是網絡地址是1.2.0.0
4 IN PTR www.lalala.com.
若是網絡地址是1.2.3.0
4.3 IN PTR www.lalala.com.
注意:
網絡地址及後綴可省略,主機地址依然須要反着寫
CNAME:
name: 別名的FQDN
value: 正式名字的FQDN
例如:
正式名字 別名 web.lalala.com. IN CNAME www.lalala.com.