目錄
一、DNS概念
? ? ? ? 1、概念和作用
? ? ? ? 2、域名解析類型
? ? ? ?3、 軟件與服務
? ? ? ? 4、DNS核心概念
????????區域
? ? ? ? 記錄
? ? ? ? 5、查詢類型
? ? ? ? 6、分層結構
二、DNS操作
配置本機為DNS內網解析服務器
(1)修改主配置文件
(2)添加區域
正向解析區域:
反向解析區域:
(3)添加記錄文件
(4)修改記錄文件
(5)開啟服務
(6)然后檢查服務是否開啟。
(7)測試dns正常工作,nslookup
DNS復制
主DNS
從DNS
hosts文件的使用
一、DNS概念
? ? ? ? 1、概念和作用
DNS應用層協議:用于將人類可讀的域名轉換為機器可識別的IP地址
????????作用:域名解析。將域名轉換為IP地址(正向解析)或IP地址轉換為域名(反向解析)。
? ? ? ? 2、域名解析類型
- 正向解析(Forward DNS Resolution)是將域名轉換為 IP 地址的過程。
- 反向解析(Reverse DNS Resolution)是將 IP 地址轉換為域名的過程。
? ? ? ?3、 軟件與服務
- 軟件:bind,bind-chroot
- 服務進程:named
- 默認端口:53/UDP
? ? ? ? 4、DNS核心概念
????????區域
- 區域是域名空間的一部分,由一個或多個 DNS 記錄組成,由同一權威 DNS 服務器管理。它通常對應一個域名及其子域名。
- 正向區域(Forward Zone)將域名解析為對應的 IP 地址。
- 反向區域(Reverse Lookup Zone)將IP地址映射到域名,與正向查找(域名→IP)相反。
- IPv4示例:對于
192.168.1.0/24
網絡,反向區域名為1.168.192.in-addr.arpa
。 - IPv6示例:對于
2001:db8::/32
網絡,反向區域名為8.b.d.0.1.0.0.2.ip6.arpa
。
? ? ? ? 記錄
- 記錄是域名系統(DNS)中存儲的指令,用于指定域名與服務器或其他資源的映射關系。
A記錄(Address Record):標識主機名和IP地址的對應關系
將域名指向IPv4地址。
PTR記錄(Pointer Record):標識IP地址和主機名的對應關系
用于反向DNS查詢,將IP地址映射回域名。
NS記錄(Name Server)標識某一個主機是一個DNS服務器,沒有說明對應ip,所以必須和A記錄一起使用
指定負責解析域名的DNS服務器。
?
MX記錄(Mail Exchange)標識郵件服務器,數字代表優先級,數字越小優先級越高
指定接收域名的電子郵件的郵件服務器地址。優先級數值決定郵件服務器的使用順序。
CNAME記錄(Canonical Name)別名記錄
為域名設置別名,使其指向另一個域名。
? ? ? ? 5、查詢類型
- 遞歸查詢:客戶端向本地DNS服務器請求解析,服務器代表客戶端完成所有查詢步驟并返回最終結果。
- 迭代查詢:DNS服務器按層級逐級查詢(根域→頂級域→權威域),返回參考信息而非最終結果。
特性 | 遞歸查詢 | 迭代查詢 |
---|---|---|
發起方 | 客戶端向DNS服務器請求解析 | DNS服務器向其他DNS服務器 |
返回結果 | 必須返回最終解析結果(IP或錯誤) | 可能返回下一級服務器地址 |
責任方 | DNS服務器承擔全部查詢工作 | 查詢方需持續跟進查詢鏈 |
? ? ? ? 6、分層結構
二、DNS操作
安裝bind
//下載完了自動生成一個用戶named
- # rpm -qc bind? ? ? ? //查看與已安裝的BIND軟件包相關的配置文件
這里我們需要主要需要三個文件
/etc/named.conf? ? ?//主配置文件
/etc/named.rfc1912.zones? ? ?? //子配置文件,添加區域用
/var/named? ? ? //存儲記錄文件,
配置本機為DNS內網解析服務器
(1)修改主配置文件
- vim /etc/named.conf?? ?//主配置文件,用于修改端口、ip、可以為哪些機器提供服務
(2)添加區域
- ?vim /etc/named.rfc1912.zones? ???//添加區域
? ? ? ? 添加區域時需要填寫記錄文件名,先寫上名字,一會我們去創建同名記錄文件。
正向解析區域:
反向解析區域:
注意:不同域名和不同IP段要寫不同的區域。區域名稱必須與域名或反向IP段嚴格匹配。必須要確保BIND進程有權限讀取區域文件。
(3)添加記錄文件
這里創建記錄文件。因為記錄文件有格式,這里為了省事,直接復制別的記錄文件,改名后修改內容。-a參數,保留文件權限。cp復制,mv重命名后修改。
(4)修改記錄文件
- vim /var/named/xxxxx.com.zone? ? ? ? //修改記錄文件
這里注意一下!
- 不完整域名:
example.com
?→ 可能解析為?example.com.local
- 完整域名:
example.com.
?→ 嚴格解析為?example.com
若希望定義的是完整域名,應當在末尾加點以避免自動補全域名。
- SOA/NS記錄:強制要求加點,避免解析異常。
- A/CNAME/MX記錄:根據使用場景選擇,若目標域名與當前域無關(如外部域名),必須加點。
這里創建的記錄文件的A和PTR記錄類型用來配置IP和主機名之間的的映射關系。具體見上文。
注意:!!格式一定不要錯,要不然包報錯的。
(5)開啟服務
- # systemctl enable --now named? ? ? ? //配置并立即啟動named
(6)然后檢查服務是否開啟。
(7)測試dns正常工作,nslookup
DNS復制
給一個DNS服務器做備份,防止DNS單點故障。
兩個DNS服務器的數據是同步的——區域、記錄需要一樣
需要兩個機器,一個作為主DNS,一個作為從DNS
主DNS
主DNS的主配置文件
主服務器的子配置文件? ?區域
主服務器的記錄文件
從DNS
(1)為從dns下載bind
(2)從DNS的主配置文件
(3)從DNS的子配置文件?指定類型為從區域。
從區域的的記錄文件只能從別的地方復制過來,不可以修改
(4)寫記錄文件存哪。建議和主服務器上一致。slaves/
(5)然后啟動從DNS就行
(6)查詢是否復制過來了
(1)驗證有復制過來的文件
(2)主dns能解析誰,從dns就能解析誰
//若現在主記錄變化,如加了兩行記錄,通過序列號識別。所以需要手動改序列號,只要比上次的數字大就可以,然后重啟。查詢即可。
hosts文件的使用
/etc/hosts文件是一個操作系統用于映射主機名(域名)到IP地址的本地文本文件,無需通過DNS解析。若此文件中沒有,才向網卡上的dns服務器請求
windows中hosts文件在這里,可以修改但是注意hosts沒有任何后綴!