文章目錄
- 1. DNS資訊
-
- 1.1 DNS域名系統
- 1.2 DNS名詞解釋
-
- 1.2.1 用戶端
- 1.2.2 服務端
- 1.2.3 報錯資訊
- 2. DNS服務的安裝與啟動
- 3. 高速DNS解析
-
- 3.1 伺服器端配置
- 3.2 用戶端配置并檢測
- 4. DNS正向解析(1)
-
- 4.1 正向解析(1)伺服器端
- 4.2 正向解析(1)用戶端
- 5. DNS正向解析(2)
-
- 5.1 正向解析(2)伺服器端
- 5.2 正向解析(2)用戶端
- 6. DNS正向解析(3)郵件解析
-
- 6.1 DNS郵件解析伺服器端
- 6.2 DNS郵件解析用戶端
- 7. DNS反向解析
-
- 7.1 反向解析伺服器端
- 7.2 反向解析用戶端
1. DNS資訊
1.1 DNS域名系統
域名系統(英文:Domain Name System,縮寫:DNS)是網際網路的一項服務。它作為将域名和IP位址互相映射的一個分布式資料庫,能夠使人更友善地通路網際網路。DNS使用TCP和UDP端口53。目前,對于每一級域名長度的限制是63個字元,域名總長度則不能超過253個字元。
域名解析:
當一台機器a向其域名伺服器A發出域名解析請求時,如果A可以解析,則将解析結果發給a,否則,A将向其上級域名伺服器B發出解析請求,如果B能解析,則将解析結果發給a,如果B無法解析,則将請求發給再上一級域名伺服器C,如此下去,直至解析到為止。
1.2 DNS名詞解釋
1.2.1 用戶端
- DNS指向檔案:/etc/resolv.conf
nameserver 172.25.254.127
- 位址解析指令:
host www.baidu.com
- 位址詳細解析資訊指令:
dig www.baidu.com
dig指令是常用的域名查詢工具,可以用來測試域名系統工作是否正常。
@<伺服器位址> | 指定進行域名解析的域名伺服器; |
-b< ip位址 > | 當主機具有多個IP位址,指定使用本機的哪個IP位址向域名伺服器發送域名查詢請求; |
-f<檔案名稱> | 指定dig以批處理的方式運作,指定的檔案中儲存着需要批處理查詢的DNS任務資訊; |
-P | 指定域名伺服器所使用端口号; |
-t<類型> | 指定要查詢的DNS資料類型; |
-x< IP位址 > | 執行逆向域名查詢; |
-4 | 使用IPv4; |
-6 | 使用IPv6; |
-h | 顯示指令幫助資訊 |
#網絡類型:
IN:表示網絡是Internet
#基本記錄:
A:ip位址叫做域名的Address 記錄
AAAA:域名到IPV6的映射
PTR:Printer,反向,ip到域名
#可選記錄:
MX:代表域内的郵件伺服器
CNAME:域名的别名
#區記錄:
SOA:start of authority ,授權起始主機(标示域内主dns伺服器)
NS:代表域内的dns伺服器,标示授權子域
DNS較長的描述
- DNS域名空間結構
域名系統作為一個層次結構和分布式資料庫,包含各種類型的資料,包括主機名和域名。DNS資料庫中的名稱形成一個分層樹狀結構稱為域命名空間
頂級 | “.” |
二級 | .com .net .edu .org ... |
三級 | baidu.com |
四級...等 | ...等 |
1.2.2 服務端
- 安裝包:bind
- 服務名稱:named
- 主配置檔案:/etc/named.conf
- 資料目錄:/var/named
- 端口:53
1.2.3 報錯資訊
- no servers could reached:
服務無法通路 (服務是否開啟 火牆 網絡 端口)
- 服務重新開機失敗:配置檔案寫錯
-
查詢狀态dig
NOERROR #表示查詢成功
REFUSED #服務拒絕通路
SERVFAIL #查詢記錄失敗,(dns伺服器無法到達上級,拒絕緩存)
NXDOMAIN #此域名A記錄在dns中不存在
2. DNS服務的安裝與啟動
- 安裝DNS
dnf install bind.x86_64 -y
- 啟動DNS
systemctl enable --now named.service #啟動服務
firewall-cmd --permanent --add-service=dns #在火牆中添加dns設定
firewall-cmd --reload #更新火牆規則
-
:修改配置檔案vim /etc/named.conf
listen-on port 53 { any; }; #在本地所有網絡接口上開啟53端口
allow-query { any; }; #允許查詢A記錄的用戶端清單
dnssec-validation no; #禁用dns檢測,使dns能夠緩存外部資訊到本機
-
:重新開機服務systemctl restart named
3. 高速DNS解析
實驗環境:
DNS伺服器端:node1:192.168.43.101
用戶端:node2:192.168.43.111
3.1 伺服器端配置
-
:修改DNS主配置檔案vim /etc/named.conf
-
:重新開機服務systemctl restart named
3.2 用戶端配置并檢測
-
:修改DNS指向vim /etc/resolv.conf
-
(第一台用戶端主機dig後,其他用戶端主機再次dig,非常快)dig www.baidu.com
4. DNS正向解析(1)
正向解析:根據主機名(域名)查找對應IP位址
實驗環境:
DNS伺服器端:node1:192.168.43.101
用戶端:node2:192.168.43.111
4.1 正向解析(1)伺服器端
-
:定義區檔案vim /etc/named.rfc1912.zones
zone "XXX" IN { #維護的域名(定義對XXX的解析)
type master; #目前伺服器位 主DNS
file "XXX.zone"; #域名A記錄檔案名(解析配置檔案名)
allow-update { none; }; #允許更新主機清單
};
-
:複制指向檔案模闆到自定義解析檔案cp -p /var/named/named.localhost /var/named/XXX.zone
-
:編輯自定義正向解析檔案vim /var/named/XXX.zone
cp -p /var/named/named.localhost /var/named/westos.org.zone
vim /var/named/westos.org.zone
# dns=dns.westos.org
# dns.westos.org.=dns.westos.org
$TTL 1D #TIME-TO-LIVE(DNS位址儲存時間長長度)
@ IN SOA dns.westos.org. westos.westos.org. (
# @代替westos.org(寫全域名後必須有".")
#SOA 授權起始(Start of Authority)
0 ; serial #域名版本序列号
1D ; refresh #重新整理間隔
1H ; retry #重試間隔
1W ; expire #過期間隔(查詢失敗後超過一周,停止應答)
3H ) ; minimum #記錄最短有效期
NS dns.westos.org. #NS記錄,授權的子域
dns A 192.168.43.101
www A 192.168.43.222 #A:Address 正向解析記錄
-
:重新開機服務systemctl restart named
4.2 正向解析(1)用戶端
-
dig dns.westos.org
-
dig www.westos.org
-
:域名不存在,解析失敗dig hello.westos.org
5. DNS正向解析(2)
此實驗為域名相同,IP位址不同時,dig解析到的位址輪流變換
實驗環境:
DNS伺服器端:node1:192.168.43.101
用戶端:node2:192.168.43.111
5.1 正向解析(2)伺服器端
-
:編輯自定義正向解析檔案vim /var/named/westos.org.zone
$TTL 1D
@ IN SOA dns.westos.org. westos.westos.org. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS dns.westos.org.
dns A 192.168.43.101
www A 192.168.43.111
bbs CNAME test.westos.org.
test A 192.168.43.222
test A 192.168.43.233
-
:重新開機服務systemctl restart named
5.2 正向解析(2)用戶端
-
===> 111 與 222 變換dig bbs.westos.org
-
===> 111 與 222 變換dig test.westos.org
6. DNS正向解析(3)郵件解析
實驗環境:
DNS伺服器端:node1:192.168.43.101
用戶端:node2:192.168.43.111
6.1 DNS郵件解析伺服器端
-
:編輯自定義正向解析檔案vim /var/named/westos.org.zone
$TTL 1D
@ IN SOA dns.westos.org. westos.westos.org. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS dns.westos.org.
dns A 192.168.43.101
www A 192.168.43.111
bbs CNAME test.westos.org.
test A 192.168.43.222
test A 192.168.43.233
westos.org. MX 1 192.168.43.101. #郵件解析記錄
-
:重新開機服務systemctl restart named
6.2 DNS郵件解析用戶端
-
:查詢DNS郵件類型(成功!)dig -t mx westos.org
-
:安裝相應工具dnf install postfix mailx -y
postfix:郵件伺服器
mailx:郵件發送工具
-
:打開郵件服務systemctl start postfix.service
-
:在火牆中永久添加25端口firewall-cmd --permanent --add-port=25/tcp
-
:更新火牆規則firewall-cmd --reload
-
("." + 回車 郵件發送完畢)mail [email protected] 發送郵件
7. DNS反向解析
反向解析:根據IP位址查找對應的主機域名;
實驗環境:
DNS伺服器端:node1:192.168.43.101
用戶端:node2:192.168.43.111
7.1 反向解析伺服器端
-
:定義區檔案vim /etc/named.rfc1912.zones
zone "43.168.192.in-addr.arpa" IN { #定義對192.168.43.XXX的解析(IP反着寫)
type master; #目前DNS伺服器位
file "192.168.43.ptr"; #反向解析配置檔案名
allow-update { none; }; #允許更新主機清單
};
-
:複制指向模闆檔案到自定義反向解析檔案cp -p /var/named/named.loopback /var/named/192.168.43.ptr
-
:編輯自定義反向解析檔案vim /var/named/192.168.43.ptr
$TTL 1D
@ IN SOA dns.westos.org. lee.westos.org. (
0 ; serial #域名版本序列号
1D ; refresh #重新整理間隔
1H ; retry #重試間隔
1W ; expire #過期間隔
3H ) ; minimum #記錄最短有效期
NS dns.westos.org. #NS記錄,授權的子域
dns A 127.0.0.1
111 PTR www.westos.org. #PTR記錄,反向解析
-
:重新開機服務systemctl restart named
7.2 反向解析用戶端
dig -x 192.168.43.111
:反向解析(解析此IP的域名)