DNS: domain name server 協議(C/S 53/UDP 53/TCP); 應用層協議; BIND bekerley internet name domain -> ISC TCP:面向鏈接的協議 UDP:無鏈接的協議 本地名稱解析文件:hosts(主機有限時候可用) /etc/hosts %WINDOWS%/system32/drivers/etc/hosts
DNS的樹狀結構(namespace)
linux
Top: com cn net org int mil gov…… 三類: 組織域,國家域(.cn .hk .tw ),反向域 查找順序: 自頂向下 可是互聯網上的任何一臺主機都不會去依次查找主機,會先去找dns服務器,這臺服務器去替 客戶端主機查找。 查詢類型: 一臺客戶端主機僅發送一次請求就得到最終結果的稱爲遞歸查詢; 服務器主機屢次發出查詢請求獲取最終結果的稱爲迭代查詢 名稱服務器:負責解析本域內的名稱的主機(ns) 根服務器:異地多活;13組服務器 解析類型: Name --> IP Ip <-- Name 注意:正反向解析是兩個不一樣的名稱空間,是兩棵不一樣的解析樹; DNS服務器類型 主DNS 維護所負責解析的域內解析庫服務器,由管理員維護 輔助DNS 從DNS服務器要從主DNS或者其餘從DNS服務器那裏複製(區域傳送)一份解析庫; 序列號,解析庫的版本號,前提任什麼時候候主服務器解析庫內容發生變化,其序列號遞增 刷新時間:從服務器從主服務器請求同步解析庫的時間間隔, 重試時間:從服務器請求同步失敗時候再試的時間間隔 重試時間小於刷新時間 「通知」機制:主服務器在發生改變以後會主動通知從服務器進行同步 過時時長:從服務器始終聯繫不到主服務器時候,多久放棄從服務器角色,中止提供服務 區域傳送: 全量傳送:傳送整個解析庫 增量傳送:傳遞解析庫變化的那分內容 緩存DNS 不負責解析任何域,不註冊任何域名,可是它能夠幫助本地主機解析域名,作緩存 轉發器 DNS:domain 正向:FQDN--> IP 反向:IP-->FQDN 正向反向各個都須要一個解析庫負責本地的正向 反向解析 正向區域 反向區域 FQDN: 徹底合格域名(full qualified name) www.magedu.com.(點不能被省略) 一次完整的查詢請求通過的流程 Client --> hosts file --> dns service Local cache --> DNS server(recursion) --> server cache --> iteration(迭代) --> 解析答案: 確定答案:正確解析了請求的結果 否認答案:請求條目不存在等緣由致使沒法返回結果。 權威答案:負責該域的服務器直接給出的答案 非權威答案:非負責該域的服務器給出的答案 資源記錄:resource record, RR 記錄類型:A,AAAA(ipv6),PTR,SOA,NS,CNAME,MX SOA: start authority;起始受權記錄,一個區域解析庫有且只能有一個SOA記錄,必須爲解析庫的第一條記錄 A:inernet address 做用:FQDN-->IP AAAA:FQDN -->ipv6 PTR:pointTER 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:當前區域的名字 例如:Douma.com value:有多部分組成 (1)當前區域的主DNS服務器的FQDN,也可使用當前區域的名字 (2)當前區域管理員的郵箱地址,可是地址中不能使用@符號,通常用.替換, 例如:linuxedu.magedu.com; (3)(主從服務協調屬性的定義以及否認的答案的統一TTL) Ps: Magedu.com 86400 IN SOA ns.Douma.com. nsadmin.Douma.com. 2015042201 序列號 2H 刷新時間 10M 重試時間 1W 過時時間 1D 否認答案的TTL值 ) NS Name : 當前區域的名字 value: 當前區域的某DNS服務器的名字 ps: ns.Douma.com.; 注意:一個區域能夠有多個NS記錄 ps: Douma.com IN NS ns1.Douma.com. Douma.com IN NS ns2.Douma.com. 注意: (1)相鄰的兩個資源記錄的name相同時,後續能夠省略 (2)對NS記錄而言,任何一個ns記錄後面的FQDN,都應該在後面有一個A記錄 MX記錄 name:當前區域的名字 value:當前區域的某郵件服務器(smtp服務器)的主機名 一個區域內,NS記錄能夠有多個;可是每一個記錄的value以前應該有一個數字(0-99), 表示此服務器的優先級;數字越小,優先級越高。 例如: douma.com. IN MX 10 mx1.Douma.com. IN MX 20 mx2.Douma.com. 注意: (1)對MX記錄而言,任何一個MX記錄後面的FQDN,都應該在後面有一個A記錄 A: name:某主機的FQDN,例如:www.Douma.com. value:主機名對應主機的IP地址 例如: www.Douma.com. IN A 1.1.1.1 www.Douma.com. IN A 1.1.1.2 mx1.douma.com. IN A 1.1.1.3 mx2.douma.com. IN A 1.1.1.3 注意: *.douma.com. IN A 1.1.1.4 douma.com. IN A 1.1.1.4 避免用戶寫錯名稱時候給錯誤答案,能夠經過泛域名解析至特定地址; AAAA: name:FQDN value:IPV6 PTR: name:IP 有特定格式,把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.Douma.com. 若1.2.3爲網絡地址,則能夠簡寫爲 4 IN PTR www.Douma.com. 注意:網絡地址以及後綴能夠省略,可是主機地址仍然須要反着寫; CNAME name:別名的FQDN value:正式名字的FQDN 例如 web.Douma.com. IN CNAME www.Douma.com. BIND: RR類型: A PTR NS MX CNAME SOA AAAA 子域受權:每一個域的名稱服務器都是由其上級名稱服務器在解析庫進行受權 相似根域受權tld: .com. IN NS ns1.com. .com. IN NS ns2.com. ns1.com. IN A 2.2.2.1 ns2.com. IN A 2.2.2.2 Douma.com.在.com的名稱服務器上,解析庫中添加資源記錄 Douma.com. IN NS ns1.Douma.com. Douma.com IN NS ns2.Douma.com. Douma.com. IN NS ns3.Douma.com. ns1.Douma.com. IN A 3.3.3.1 ns2.Douma.com. IN A 3.3.3.2 ns3.Douma.com. IN A 3.3.3.3 Glue record :粘合記錄 域名註冊: 代理商;萬網,新網;godaddy 註冊完成以後,想本身用專用服務器來解析? (1)管理後臺,把NS記錄指向的服務器名稱,和A記錄指向的服務器地址; BIND安裝配置: dns服務,程序包名bind ,程序名named 程序包: bind-libs bind-utils(提供了4個測試工具dig nslookup nslookup host) bind bind-chroot /var/named/chroot/ BIND 服務腳本:/etc/rc.d/init.d/named 主配置文件: /etc/named.conf, /etc/named.rfc1912.zones, /etc/rndc.key 解析庫文件:/etc/named/ZONE_NAME 注意: (1)一臺物理服務器能夠同時爲多個區域提供解析; (2)必需要有根區域文件;named.ca (3)應該有兩個甚至更多實現localhost和本地迴環地址的解析庫; named.localhost / named.loopback Rndc: remote name domain controller ,默認與bind安裝在同一主機, 且只能經過127.0.0.1來鏈接named進程;提供輔助性的管理功能;953/tcp BIND的安裝: yum install -y bind rndc rndc --> rndc (953/tcp) rndc COMMAND reload :從新載入主配置文件和區域解析庫文件 reload zone 重載區域解析庫文件 retransfer zone 手動啓動區域傳送過程,而無論序列是否增長 notify zone 從新對區域傳送發通知 reconfig 重載主配置文件 querylog 開啓或者關閉查詢日誌(會直接寫入磁盤 磁盤壓力大) status 查看狀態 trace [num]遞增調試等級(直接調到多少等級)