簡介DNS是用來名字解析的,名字解析成IP地址,IP地址解析成名字,正反操作,有伺服器端和客戶端即 S/CDNS是應用層協議,基於UDP/53、TCP/53埠,缺一不可分為正向解析和反向解析/遞歸查詢、迭代查詢註意:正反向解析是兩個不同的名稱空間,是兩棵不同的解析樹名稱解析:主機名解析把一種名稱轉... ...
簡介
DNS是用來名字解析的,名字解析成IP地址,IP地址解析成名字,正反操作,有伺服器端和客戶端即 S/C
DNS是應用層協議,基於UDP/53、TCP/53埠,缺一不可
分為正向解析和反向解析/遞歸查詢、迭代查詢
註意:正反向解析是兩個不同的名稱空間,是兩棵不同的解析樹
名稱解析:主機名解析
把一種名稱轉換為另一種名稱的過程
根據用戶提供的名稱,去查詢解析庫,以得到另一種名稱
hosts:文本文件
用戶自定義了對應的解析列表即要解析的FQDN與IP地址對應關係
有時候hosts很好的解決了DNS伺服器訪問不了的情況
如:某個域所在的權威DNS伺服器出問題了,網站圖片不顯示等,這時候在hosts文本里寫上對應的FQDN和IP地址就可。
備註:FQDN也就是我們所說的網址,如www.xxx.com
如果在本機定義了hosts文本則優先本列表,本列表沒有再去DNS庫查詢
遞歸查詢
用戶向第一個DNS服務發請求,DNS收到後,如果它這有直接的結果就直接給你,如果沒有就會向根DNS服務詢問,層層詢問直到問道結果返回給你,負責到底
迭代查詢
上述過程中去問根,根給你推薦別人,你去問它,這就是迭代查詢,不會負責到底
DNS域結構圖
備註:如 www.xxx.com
www:可以是主機或別名
xxx.com:是功能變數名稱
DNS伺服器類型
主DNS伺服器
從DNS伺服器
緩存DNS伺服器(轉發器)
主DNS伺服器:管理和維護所負責解析的域內解析庫的伺服器
從DNS伺服器:從主伺服器或從伺服器“複製”(區域傳輸)解析庫副本
序列號:解析庫版本號,主伺服器解析庫變化時,其序列遞增
刷新時間間隔:從伺服器從主伺服器請求同步解析的時間間隔
重試時間間隔:從伺服器請求同步失敗時,再次嘗試時間間隔
過期時長:從伺服器聯繫不到主伺服器時,多久後停止服務
一次完整的查詢請求經過的流程:
Client -->hosts文件 -->DNS Service Local Cache --> DNS Server (recursion) --> Server Cache --> iteration(迭代) --> 根--> 頂級功能變數名稱DNS-->二級功能變數名稱DNS…
解析答案:
肯定答案:
否定答案:請求的條目不存在等原因導致無法返回結果
權威答案:你請求的dns伺服器正好是負責這個鏈接域的dns
非權威答案:dns伺服器問別人,別人告訴它的,有時候會是假的,比如國外某些網站訪問不了,就是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(intnet記錄) rr_type(資源記錄的類型)value(值)
rr_type類型:有 A(ipv4)、 AAAA(ipv6)、SOA、NS(這兩種最重要)
註意:
(1) TTL可從全局繼承
(2) @可用於引用當前區域的名字
(3) 同一個名字可以通過多條記錄定義多個不同的值;此時DNS伺服器會以輪詢
方式響應
(4) 同一個值也可能有多個不同的定義名字;通過多個不同的名字指向同一個值
進行定義;此僅表示通過多個不同的名字可以找到同一個主機
記錄介紹
MX記錄:郵件交換器
註意:
(1) 對MX記錄而言,任何一個MX記錄後面的伺服器名字,都應該在後續有一個A記錄
DNS伺服器 bind配置文件說明
named.conf主配置文件說明
// // named.conf // // Provided by Red Hat bind package to configure the ISC BIND named(8) DNS // server as a caching only nameserver (as a localhost DNS resolver only). // // See /usr/share/doc/bind*/sample/ for example named configuration files. // options { // 定義全局變數 listen-on port 53 { 127.0.0.1; }; // ipv4 監聽埠 listen-on-v6 port 53 { ::1; }; // ipv6 監聽埠 directory "/var/named"; // 制定裝載zone區域文件的目錄 dump-file "/var/named/data/cache_dump.db"; // cache statistics-file "/var/named/data/named_stats.txt"; // statistics memstatistics-file "/var/named/data/named_mem_stats.txt"; allow-query { localhost; }; // 允許訪問列表 recursion yes; //遞歸查詢 dnssec-enable yes; //DNS確保應答報文的完整性 dnssec-validation yes; dnssec-lookaside auto; /* Path to ISC DLV key */ bindkeys-file "/etc/named.iscdlv.key"; }; // "}"後也得分號結束 logging { channel default_debug { file "data/named.run"; severity dynamic; }; }; zone "." IN { // "."代表根區域 type hint; // 根區域的類型就為hint file "named.ca"; // 指定zone文件,預設已經生成 }; include "/etc/named.rfc1912.zones"; //存放自定義的區域文件
備註:配置文件總體來說分為三大塊選項、日誌、區域