dns系統的作用
正向解析:根據主機名稱(域名)查找對應的IP位址
反向解析:根據IP位址查找對應的主機域名
dns系統的分布式資料結構
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiInBnauATN2EFNix0XLFFMEFUQxBlZZNERoFTWQFDTvl2S39CX3Q0LcJDNvwFMw00LcJDMzZWe39CXt92Yu8GdjFTNuMzcvw1LcpDc0RHaiojIsJye.jpg)
域名劃分:根域、頂級域、二級域、子域
組織域:3個字元的代号,表示DNS域中所包含的組織的主要功能或活動,mil 軍事機構組織、int 國際機構組織
國家域:2個字元的國家或地區代号,cn 中國、kr 南韓
反向域:in-addr.arpa,用于将IP位址映射到名字。反向域名格式:X.X.X.in-addr.arpa
根域:記錄着Internet的重要DNS資訊,由Internet域名注冊授權機構管理。全球13台根邏輯域名伺服器,名字分别為“A”至“M”,其中10台設定在美國,另外各有一台設定于荷蘭、瑞典和日本。根伺服器主要用來管理網際網路的主目錄,1個為主根伺服器,放置在美國。其餘12個均為輔根伺服器。
頂級域:由Internet域名注冊授權管理機構管理
頂級域的下級域:Internet域名注冊授權機構授權給Internet的各種組織。當一個組織獲得了對域名空間某一部分的授權後,該組織就負責命名所配置設定的域及其子域,包括域中的計算機和其他裝置,并管理配置設定的域中主機名與IP位址的映射資訊
例如:http://www.sxkj.com.cn 其中“.”代表分隔符(出現在FQDN最右邊的表示根域,可以省略),“cn”為頂級域,“com”為二級域,“sxkeji”為三級域,“www”為主機名
主機名.DNS字尾=FQDN
4.域名服務的解析原理和過程
遞歸查詢:在該模式下DNS伺服器接受到客戶機請求,必使用一個準确的查詢結果回複客戶機。如果DNS伺服器本地沒有存儲查詢DNS資訊,那麼該伺服器會詢問其他伺服器,并将傳回的查詢結果送出給客戶機,同時也會緩存該結果
疊代查詢:在該模式下,DNS伺服器會向客戶機提供其他能夠解析查詢請求的DNS伺服器位址,當客戶機發送查詢請求時,DNS伺服器并不直接回複查詢結果,而是告訴客戶機另一台DNS伺服器位址,客戶機再向這台DNS伺服器送出請求,依次循環到傳回查詢的結果為止
5.dns系統的類型
緩存域名伺服器:提供域名解析記錄的緩存,通過向其他域名伺服器查詢獲得域名->IP位址記錄
将域名查詢結果緩存到本地,提高重複查詢時的速度
主域名伺服器:特定DNS區域的官方伺服器,具有唯一性,權威性,負責維護該區域内所有域名->IP位址的映射記錄
從域名伺服器:維護的域名->IP位址記錄 來源于主域名伺服器
6.bind安裝及服務控制
bind-9.8.2-0.17.rc1.el6.x86_64.rpm --DNS伺服器主程式
bind-chroot-9.8.2-0.17.rc1.el6.x86_64.rpm --将bind主程式關在家裡面
bind-utils-9.8.2-0.17.rc1.el6.x86_64.rpm --bind用戶端工具,預設已經安裝
bind-chroot增加了bind伺服器的安全性,服務以root權限啟動和運作,黑客利用服務的漏洞入侵系統,能獲得root級别的權限,進而控制整個系統。現在伺服器軟體通常設計為以root權限啟動,然後伺服器進行自行放棄root,再以某個低權限的系統帳号來運作程序。安裝了bind-chroot包後,DNS服務的目錄變成了/var/named/chroot
服務腳本:/etc/init.d/named
預設監聽端口:tcp udp 53
主配置檔案:/var/named/chroot/etc/named.conf
資料檔案:/var/named/chroot/var/named/ 目錄
rhel6 /etc.named.conf 和 /var/named/ 它們是對應檔案的硬連接配接檔案(看節點号)
如果沒有安裝bind-chroot軟體包
主配置檔案:/etc/named.conf
資料檔案位于:/var/named/ 目錄
bind伺服器端程式
/etc/named.conf
全局配置部分:設定dns伺服器的全局參數,包括監聽位址/端口、資料檔案的預設位置等。
使用options {......};的配置段
dump-file 各dns區域的資料檔案預設存放位置
allow-query 是否允許用戶端的查詢,内容可以是any或網域(IP/netmask)的格式
forwarders 轉發dns請求到其他伺服器
include 指定區域檔案位置
區域配置部分:設定本伺服器提供域名解析的特定DNS區域,包括域名、伺服器角色、資料檔案名等。使用 zone "區域名" IN {......}; 的配置段
hint表示根區域,master表示主區域,slave表示輔助區域
file 用于設定該區域對應的資料檔案名
倒序網絡位址.in-addr.arpa的形式表示反向區域
注意:/etc/resove.conf儲存本機需要使用的dns伺服器的ip位址
dns區域檔案中包含的資源記錄的類型
SOA(起始授權機構),指定該區域的權威名稱伺服器
NS(名稱伺服器),表示某區域的權威伺服器和SOA中指定的該區域的主伺服器和輔助伺服器
A(主機),列出了區域中FQDN到IP位址的映射,隻用在正向解析的區域資料檔案中
PTR(指針),相對于A資源記錄,PTR記錄把IP位址映射到FQDN,隻用在反向解析的區域資料檔案中。配置反向解析記錄時,隻需要指定IP位址中的主機位址部分即可,網絡位址部分不寫
示例:1 IN PTR www.mym.con
若在16.168.192.in-addr.arpa反向區域資料檔案中,則對應為192.168.16.1
MX,郵件交換器記錄,向指定郵件交換主機提供消息路由
CNAME(别名),将多個名字映射到同一台計算機,便于使用者通路
全局TTL配置項及SOA記錄
$TTL (Time To Live)生存時間記錄,其他資源記錄會自動繼承第一行的$TTL值
@ 代表zone,是有/etc/named.conf定義出zone決定的
SOA(Start Of Authority),授權資訊開始
主機名:master dns的主機名,注意小數點
管理者mail:應該是root@,用小數點取代
Serial->更新序列号,Refresh->重新整理時間,Retry->重試延時,Expire->失效時間,Minimun->位址解析記錄的最小緩存時間,有點像TTL
; 開始的部分表示注釋資訊
基于域名解析的負載均衡->同一域名對應多個IP位址
示例:www IN A 10.0.226.2
www IN A 10.0.226.9
www IN A 10.0.226.8
泛域名解析->找不到精确對應的A記錄時,使用“*”進行比對,這條記錄一定要寫在最後,可以是include的前面
示例:* IN A 10.0.226.10
連續域名解析,用$GENERATE函數,實作快速添加大量有規律的dns資源記錄
$GENERATE是函數,1-254是要循環的變量,X$是主機名,X.X.X.$是對應的IP位址
示例:$GENERATE 100-200 mym$ IN A 10.0.226.$
測試:$ host mym120.<zone定義的名字>
7.文法檢測工具named-checkconf -t /var/named/chroot 檢查配置檔案named-checkzone <域名> <區域資料檔案> 檢查zone伺服器搭建
提供dns服務的必要條件
伺服器有固定IP位址
安裝并啟動dns服務
有區域檔案,或者配置轉發器,或者配置根域名伺服器
轉發伺服器,将本地dns伺服器無法解析的查詢,轉發到網絡上的其他dns伺服器,轉發到轉發器的查詢一般為遞歸查詢
8.各種測試指令
host [-t type] hostname/IP [server]
nslookup [-type=資源記錄] hostname/ip [server]
nslookup 互動式查詢
查詢PTR記錄:set type=PTR
查詢郵件互動記錄:set type=MX
臨時指定伺服器:server ip
dig [類型] hostname/ip @ip 指定查詢dns伺服器ip
示例:dig @202.103.96.112 www.sina.com