本章內容
• 名字解析
• DNS服務
• 實現主從服務器
• 實現子域
• 實現view
• 編譯安裝
• 壓力測試
• DNS排錯
DNS服務
• DNS:Domain Name Service 應用層協議 C/S,53/udp, 53/tcp
• BIND :Bekerley Internat Name Domain ISC (www.isc.org )
• 本地名稱解析配置文件:hosts /etc/hosts %WINDIR%/system32/drivers/etc/hosts
122.10.117.2 www.magedu.com
93.46.8.89 www.google.com
DNS域名
• 根域
• 一級域名:Top Level Domain: tld com, edu, mil, gov, net, org, int,arpa 三類:組織域、國家域(.cn, .jp)地區域(.hk, .tw)、反向域
• 二級域名
• 三級域名
• 最多127級域名
• ICANN(The Internet Corporation for Assigned Names and Numbers)互聯網名稱與數字地址分 配機構,負責在全球範圍內對互聯網通用頂級域名(gTLD)以及國家和地區頂級域名(ccTLD)系 統的管理、以及根服務器系統的管理
DNS解析
• DNS查詢類型: 遞歸查詢
迭代查詢
• 名稱服務器:域內負責解析本域內的名稱的主機 根服務器:13組服務器,1個爲主根服務器在美國。其餘12個均爲輔根服務器,其中9個在美 國,歐洲2個,位於英國和瑞典,亞洲1個位於日本
• 解析類型: FQDN --> IP
IP --> FQDN
• 注意:正反向解析是兩個不同的名稱空間,是兩棵不同的解析樹
DNS服務器類型
• DNS服務器的類型: 主DNS服務器 從DNS服務器 緩存DNS服務器(轉發器)
• 主DNS服務器:管理和維護所負責解析的域內解析庫的服務器
• 從DNS服務器:從主服務器或從服務器“複製”(區域傳輸)解析庫副本 序列號:
解析庫版本號,主服務器解析庫變化時,其序列遞增 刷新時間間隔:
從服務器從主服務器請求同步解析的時間間隔 重試時間間隔:
從服務器請求同步失敗時,再次嘗試時間間隔 過期時長:
從服務器聯繫不到主服務器時,多久後停止服務
• “通知”機制:主服務器解析庫發生變化時,會主動通知從服務器
區域傳輸
• 區域傳輸: 完全傳輸:傳送整個解析庫 增量傳輸:傳遞解析庫變化的那部分內容
• Domain: Fully Qualified Domain Name
正向:FQDN --> IP
反向: IP --> FQDN
• 負責本地域名的正向和反向解析庫
正向區域
反向區域
DNS解析
• 一次完整的查詢請求經過的流程: Client -->hosts文件 -->DNS Service Local Cache --> DNS Server (recursion) --> Server Cache --> iteration(迭代) --> 根--> 頂級域名DNS-- >二級域名DNS…
• 解析答案: 肯定答案:
否定答案:請求的條目不存在等原因導致無法返回結果
權威答案:
非權威答案:
資源記錄
• 區域解析庫:由衆多RR組成:
資源記錄:Resource Record, RR
記錄類型:A, AAAA, PTR, SOA, NS, CNAME, MX
• SOA:Start Of Authority,起始授權記錄;一個區域解析庫有且僅能有一個SOA記錄,必須位於解 析庫的第一條記錄
• A:internet Address,作用,FQDN --> IP
• AAAA: 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) 同一個名字可以通過多條記錄定義多個不同的值;此時DNS服務器會以輪詢方式響應
• (4) 同一個值也可能有多個不同的定義名字;通過多個不同的名字指向同一個值進行定義;此僅表 示通過多個不同的名字可以找到同一個主機
SOA記錄
• name: 當前區域的名字,例如“magedu.com.”
• value: 有多部分組成
• (1) 當前區域的主DNS服務器的FQDN,也可以使用當前區域的名字;
• (2) 當前區域管理員的郵箱地址;但地址中不能使用@符號,一般用.替換,例如 linuxedu.magedu.com
• (3) 主從服務區域傳輸相關定義以及否定的答案的統一的TTL
• 例如: magedu.com. 86400 IN SOA ns.magedu.com.
nsadmin.magedu.com. (
2015042201 ;序列號
2H ;刷新時間
10M ;重試時間
1W ;過期時間
1D ;否定答案的TTL值
NS記錄
• name: 當前區域的名字
• value: 當前區域的某DNS服務器的名字,例如ns.magedu.com.
• 注意:一個區域可以有多個NS記錄
例如: magedu.com. IN NS ns1.magedu.com.
magedu.com. IN NS ns2.magedu.com.
• 注意: (1) 相鄰的兩個資源記錄的name相同時,後續的可省略 (2) 對NS記錄而言,任何一個ns 記錄後面的服務器名字,都應該在後續有一個A記錄
MX記錄
• name: 當前區域的名字
• value: 當前區域的某郵件服務器(smtp服務器)的主機名
• 一個區域內,MX記錄可有多個;但每個記錄的value之前應該有一個數字(0-99),表示此服務器的 優先級;數字越小優先級越高
• 例如: magedu.com.
IN MX 10 mx1.magedu.com.
IN MX 20 mx2.magedu.com.
• 注意: (1) 對MX記錄而言,任何一個MX記錄後面的服務器名字,都應該在後續有一個A記錄
A記錄
• name: 某主機的FQDN,例如www.magedu.com.
• value: 主機名對應主機的IP地址
• 例如: www.magedu.com. IN A 1.1.1.1
www.magedu.com. IN A 2.2.2.2
mx1.magedu.com. IN A 3.3.3.3
mx2.magedu.com. IN A 4.4.4.4
$GENERATE 1-254 HOST$ A 1.2.3.
$ *.magedu.com. IN A 5.5.5.5 magedu.com. IN A 6.6.6.6
• 避免用戶寫錯名稱時給錯誤答案,可通過泛域名解析進行解析至某特定地址
其它記錄
• AAAA: name: FQDN value: IPv6
• PTR: name: IP,有特定格式,把IP地址反過來寫,1.2.3.4,要寫作4.3.2.1;而有特定後綴:inaddr.arpa.,所以完整寫法爲:4.3.2.1.in-addr.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: name: 別名的FQDN value: 真正名字的FQDN
• 例如: www.magedu.com. IN CNAME websrv.magedu.com.