DNS域名解析服務正向反向解析
一、DNS的定義
DNS是“域名系統"的英文縮寫。它作為將域名和IP地址相互對映的一個分散式資料庫,能夠使人更方便地訪問網際網路。DNS服務使用TCP和UDP的53埠,TCP的53埠用於連線DNS伺服器,UDP的53埠用於解析DNS。每一級域名長度的限制是63個字元,域名總長度則不能超過253個字元。
1.DNS系統的作用
正向解析:根據域名查詢對應的IP地址 |
反向解析:根據IP地址檢視對應的域名 |
2.DNS系統的分佈資料結構
根域→頂級域→二級域→子域→主機名或三級域
3.域名結構
www .baidu .com .cn .
http: //主機名。子域。二級域。頂級域 根域
4.域名結構分析
樹狀結構最頂層稱為根域,用“."表示,相應伺服器稱為根伺服器,整個域名空間解析權都歸根伺服器所有,但根伺服器無法承擔龐大的負載,採用“委派”機制,在根域下設定了–些頂級域,然後將不同頂級域解析權分別委派給相應的頂級域伺服器,如將com域的解析權委派給com域伺服器,以後但凡根伺服器收到以com結尾的域名解析請求,都會轉發給com域伺服器,同樣道理,為了減輕頂級域的壓力,又下設了若干二級域,二級域又下設三級域或主機
根域:處於域名結構的最頂端,一般用一個“ . ” 表示; |
頂級域:一般代表一種型別的組織機構或者國家地區, |
.net(網路供應商) |
.com(工商企業) |
.org(團體組織) |
.edu(教育機構) |
.gov(政府部門 |
.cn(中國國家域名) |
二級域:用來標明頂級域內的一個特定的組織,國家頂級域下面的二級域名由國家網路部門統一管理,頂級域名下面設定的是二級域名,如
.com.cn |
.net.cn |
.edu.cn |
子域:二級域下所建立的各級域統稱為子域,各個組織或使用者可以自由申請註冊自己的域名
主機:主機位於域名結構的最下層,就是一臺具體的計算機,如:www、mail都是具體的計算機名字,可以用www.baidu.com.cn.來表示,這種方式稱為FQDN(完全合格域名)
5.主域名伺服器
負責維護一個區域的所有域名資訊,是特定的所有資訊的權威資訊源,資料可以修改;構建主域名伺服器時,需要自行建立所負責區域的地址資料檔案
6.從域名伺服器
起備用域名伺服器的作用,當主域名伺服器出現故障、關閉或者負責過重時,從域名伺服器作為備份伺服器提供域名解析服務。從域名伺服器提供的解析結果不是由自已決定的,而是來自於主域名伺服器。構建從域名伺服器時,需要指定主域名伺服器的位置,以便伺服器能自動同步區域的地址資料庫
7.快取域名伺服器
快取域名伺服器:只提供域名解析結果的快取功能,目的在於提高查詢速度和效率,但沒有域名資料庫。它從某個遠端伺服器取得每次域名伺服器查詢的結果,並將它放在快取記憶體中,以後查詢相同的資訊時用它予以響應。快取域名伺服器不是權威性伺服器,因為提供的所有資訊都是間接資訊。構建快取域名伺服器時,必須設定根域或指定其他DNS伺服器作為解析來源。
8.轉發域名伺服器
負責所有非本地域名的本地查詢。轉發域名伺服器接到查詢請求後,在其快取中查詢,如找不到就將請求依次轉發到指定的域名伺服器,直到查詢到結果為止,否則返回無法對映的結果
9.DNS解析過程
二、使用BIND構建域名伺服器
1.BIND (Berkeley Internet Name Daemon)
BIND是應用最廣泛的DNS伺服器程式 |
官方網站:http://www.isc.org/ |
2.相關軟體包
bind-9.9.4-37.el7.x86_64.rpm |
bind-utils-9.9.4-37.el7.x86_64.rpm |
bind-libs-9.9.4- -37.el7.x86_64.rpm |
bind-chroot-9.9.4-37.el7.x86_64.rpm |
3..BIND伺服器端程式
主要執行程式:/usr/sbin/named |
預設監聽埠:53 |
主配置檔案:/etc/named.conf |
儲存DNS解析記錄的資料檔案位於:/var/named |
4..BIND服務控制
systemctl [status | start | stop | restart] named.service #檢視狀態、啟動、停止和重啟 |
5.構建域名伺服器大概步驟
安裝bind軟體包
yum install -y bind #安裝bind程式 |
6.修改相關配置檔案
1)先檢視需要修改的配置檔案所在路徑 |
[root@cheng0307 ~]# rpm -qc bind #查詢bind軟體配置檔案所在的路徑 |
/etc/named.conf #主配置檔案 |
/etc/named.rfc1912.zones #區域配置檔案 |
/var/named/named.localhost #區域資料配置檔案 |
2)修改主配置檔案 |
vim /etc/named.conf |
options { |
listen-on port 53 { 192,168.80.30; }; #監聽53埠,ip地址使用提供服務的本地ip,也可以用any表示所有 |
# listen-on-v6 port 53 { ::1; }; #ipv6不使用的可以在前面加“#”號註釋掉 |
directory "/var/named"; #區域資料檔案的預設存放位置 |
dump-file "/var/named/data/cache_dump.db"; #域名快取資料庫檔案的位置 |
statistics-file "/var/named/data/named_stats.txt"; #狀態統計檔案的位置 |
memstatistics-file "/var/named/data/named_mem_stats.txt"; #記憶體統計檔案的位置 |
allow-query { any; }; #允許使用本DNS解析服務的網段,也可以any代表所有 |
----------下面程式碼省略----------- |
zone "." IN { #正向解析“.”跟區域 |
type hint; #型別為根區域 |
file "named.ca"; #區域資料檔案為named.ca,記錄了13臺 |
}; |
include "/etc/named.rfc1912.zones"; #包含區域配置檔案裡的所有配置 |
3)修改區域配置檔案,新增正向區域配置 |
vim /etc/named.rfc1912.zones #配置檔案內有模板,可複製貼上進行修改 |
zone "baidu.com" IN { #正向解析“baidu.com”區域 |
type master; #型別為主區域 |
file "baidu.com.zone"; #指定區域資料檔案為baidu.com.zone |
allow-update { none; }; |
4)配置正向區域資料檔案 |
cd /var/named/ |
cp -p named.localhost baidu.com.zone #保留原始檔的許可權和屬主的屬性複製 |
vim baidu.com.zone |
$TTL 1D #有效解析記錄的生存週期 |
@ IN SOA baidu.com admin.kgc.com. ( #“@”符號表示當前的DNS區域名 |
20210427 ; serial #更新序列號,可以是10位數以內的整數 |
1D ; refresh #重新整理時間,重新下載地址資料的間隔 |
1H ; retry #重試延時,下載失敗後的重試問題 |
1W ; expire #失效時間,超過該時間仍然無法下載則放棄 |
3H ) ; minimum #無效解析記錄的生存週期 |
NS baidu.com. #記錄當前區域的DNS伺服器名稱 |
A 192.168.80.30 #記錄主機的IP地址 |
www IN A 192.168.80.40 #記錄正向解析www.baidu.com對應的ip |
mail IN A 192.168.80.50 #記錄正向解析mail.baidu.com對應的ip |
ftp IN CNAME www #CNAME使用別名,ftp是www的別名 |
* IN A 192.168.80.30 #泛域名解析,“*”代表所有主機名 |
7..啟動服務,關閉防火牆
systemctl start named #啟動服務 |
ystemctl stop firewalld #關閉防火牆 |
etenforce 0 #關閉新安全子系統 |
- 如果啟動失敗,可以通過檢視日誌檔案來排除錯誤 |
tail -f /var/log/messages |
- 如果伺服器卡住,可以執行下面命令進行解決 |
rndc-confgen -r /dev/urandom -a |
8.在客戶端的域名解析配置檔案中新增DNS伺服器地址
9.構建域名伺服器正向解析的詳細步驟
前提:操作之前先關閉防火牆
第一步:安裝bind程式
第二步:修改/etc/named.conf相關配置
第三步:修改區域配置檔案
第四步:修改正向區域資料檔案
第五步:開啟named服務、關閉防火牆和增強防護功能,然後檢視named服務的狀態
第六步:在/etc/resolv.conf中修改域名地址
第七步:測試結果域名解析
第八步:修改Win10 虛擬機器的網路連線方式
第九步:修改網路連線中的IP地址和DNS地址
第十步:進行測試都可以進行域名解析
三、構建域名伺服器反向解析的詳細步驟
第一步:修改/etc/named.rfc1912.zones配置檔案,新增反向區域配置
第二步:複製並配置反向區域資料檔案。
第三步:修改反向配置的資料檔案為下圖
第四步:重啟服務後進行解析測試