Linux中搭建DNS域名解析服務(wù)器的詳細(xì)過(guò)程
DNS 從哪里獲取 IP 地址?
- 本地緩存: DNS服務(wù)器會(huì)將先前查詢過(guò)的域名和對(duì)應(yīng)的IP地址存儲(chǔ)在本地緩存中,以便在后續(xù)查詢中加快響應(yīng)速度。如果之前已經(jīng)查詢過(guò)某個(gè)域名,DNS服務(wù)器會(huì)直接從本地緩存中獲取對(duì)應(yīng)的IP地址。
- 遞歸查詢: 如果本地緩存中沒有目標(biāo)域名的IP地址,DNS服務(wù)器會(huì)發(fā)起遞歸查詢。它首先向根域名服務(wù)器發(fā)送查詢請(qǐng)求,根域名服務(wù)器會(huì)返回指向負(fù)責(zé)頂級(jí)域(如.com、.net、.org等)的權(quán)威域名服務(wù)器的IP地址。然后,DNS服務(wù)器會(huì)向權(quán)威域名服務(wù)器發(fā)送查詢請(qǐng)求,直到獲取到目標(biāo)域名的IP地址或者查詢失敗。
- 轉(zhuǎn)發(fā)查詢: DNS服務(wù)器還可以配置為轉(zhuǎn)發(fā)查詢,即將未命中本地緩存的查詢請(qǐng)求轉(zhuǎn)發(fā)給其他DNS服務(wù)器處理。通常情況下,本地DNS服務(wù)器會(huì)將這些請(qǐng)求發(fā)送給ISP(Internet Service Provider,互聯(lián)網(wǎng)服務(wù)提供商)提供的DNS服務(wù)器或者其他可靠的DNS服務(wù)器進(jìn)行處理。
DNS的作用
- 域名解析: DNS最主要的作用是將域名解析為對(duì)應(yīng)的IP地址。當(dāng)用戶在瀏覽器中輸入一個(gè)域名時(shí),DNS系統(tǒng)會(huì)將這個(gè)域名轉(zhuǎn)換為相應(yīng)的IP地址,然后瀏覽器才能通過(guò)IP地址找到并訪問(wèn)目標(biāo)網(wǎng)站。
- 負(fù)載均衡: 通過(guò)DNS解析可以實(shí)現(xiàn)負(fù)載均衡,即將多個(gè)服務(wù)器的域名解析為不同的IP地址并在不同的時(shí)間將其返回給用戶。這樣可以分散流量到多臺(tái)服務(wù)器上,提高網(wǎng)站的訪問(wèn)速度和穩(wěn)定性。
- 郵箱服務(wù)器定位: DNS也用于指定郵件服務(wù)器的IP地址。當(dāng)發(fā)送電子郵件時(shí),郵件服務(wù)器通過(guò)DNS解析找到收件人域名的郵件服務(wù)器IP地址,然后發(fā)送郵件。
- 防止DNS劫持: DNS還能夠通過(guò)各種方式來(lái)防止DNS劫持,即惡意修改DNS解析結(jié)果以實(shí)施網(wǎng)絡(luò)攻擊或監(jiān)視用戶活動(dòng)的行為。例如,DNSSEC(DNS Security Extensions)可以通過(guò)數(shù)字簽名來(lái)保護(hù)DNS解析結(jié)果的完整性和真實(shí)性。
- 提供其他網(wǎng)絡(luò)服務(wù): DNS還可以用于提供其他網(wǎng)絡(luò)服務(wù),如反向DNS解析(將IP地址解析為域名)、動(dòng)態(tài)域名解析(將動(dòng)態(tài)IP地址映射到域名)、域名注冊(cè)等。
接下來(lái)講講我們?cè)诒镜卮罱―NS解析
以下實(shí)驗(yàn)測(cè)試均在VMware中 centos操作系統(tǒng)
首先服務(wù)器的配置
1.服務(wù)器配置
配置ip,關(guān)閉防火墻和selinux
安裝BIND包他就是dns的安裝包需要下載它
yum install bind -y

2.編輯配置文件
/etc/named.conf 是DNS的配置文件
vim /etc/named.conf
options {
listen-on port 53 { any; };
listen-on-v6 port 53 { ::1; };
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";
recursing-file "/var/named/data/named.recursing";
secroots-file "/var/named/data/named.secroots";
allow-query { any; };
以下是詳細(xì)配置解釋:
大家了解即可 主要還是圖中紅色框中的字母
options: 這個(gè)部分包含了DNS服務(wù)器的一般選項(xiàng)設(shè)置。
listen-on port 53 { any; }: 指定DNS服務(wù)器監(jiān)聽的端口。在這個(gè)示例中,DNS服務(wù)器監(jiān)聽在53端口,允許任何IP地址連接到該端口。這意味著DNS服務(wù)器會(huì)接受來(lái)自任何IP地址的DNS查詢請(qǐng)求。
listen-on-v6 port 53 { ::1; }: 指定IPv6地址的監(jiān)聽端口。在這個(gè)示例中,DNS服務(wù)器監(jiān)聽I(yíng)Pv6地址的53端口,只允許本地IPv6地址(::1)連接到該端口。
directory "/var/named";: 指定存儲(chǔ)DNS服務(wù)器相關(guān)數(shù)據(jù)文件的目錄路徑。在這個(gè)示例中,數(shù)據(jù)文件存儲(chǔ)在/var/named目錄下。
dump-file "/var/named/data/cache_dump.db";: 指定DNS服務(wù)器在關(guān)閉時(shí)將緩存內(nèi)容寫入的文件路徑。這個(gè)文件通常用于調(diào)試和故障排除。
statistics-file "/var/named/data/named_stats.txt";: 指定DNS服務(wù)器的統(tǒng)計(jì)信息輸出文件路徑,用于記錄DNS服務(wù)器的運(yùn)行統(tǒng)計(jì)數(shù)據(jù)。
memstatistics-file "/var/named/data/named_mem_stats.txt";: 指定DNS服務(wù)器的內(nèi)存使用統(tǒng)計(jì)輸出文件路徑,用于記錄DNS服務(wù)器的內(nèi)存使用情況。
recursing-file "/var/named/data/named.recursing";: 指定DNS服務(wù)器遞歸查詢的記錄文件路徑。
secroots-file "/var/named/data/named.secroots";: 指定DNS服務(wù)器的安全根文件路徑。
allow-query { any; };: 指定允許查詢的IP地址范圍。在這個(gè)示例中,允許任何IP地址進(jìn)行DNS查詢。
定義正向查詢
正向查詢是最常見的DNS查詢方式之一。
正向查詢用于將域名解析為IP地址,這樣用戶就可以使用易記的域名來(lái)訪問(wèn)互聯(lián)網(wǎng)上的各種網(wǎng)絡(luò)資源,而不需要記憶IP地址。
在dns配置文件中加入如下信息:
zone "example.com" IN {
type master;
file "example.com.zone";
allow-update { none; };
}; 紅色框框里邊的就是

以下是配置詳解:
需要強(qiáng)調(diào)的是file指定的是文件路徑
type master;: 表明這是主 DNS 服務(wù)器,負(fù)責(zé)提供 "example.com" 區(qū)域的數(shù)據(jù)。
file "example.com.zone";: 指定了包含 "example.com" 區(qū)域數(shù)據(jù)的文件的路徑。
allow-update { none; };: 指定了允許對(duì)區(qū)域進(jìn)行動(dòng)態(tài)更新的權(quán)限。在這種情況下,none表示不允許任何動(dòng)態(tài)更新,因此區(qū)域數(shù)據(jù)只能通過(guò)手動(dòng)編輯區(qū)域文件來(lái)更新。
定義反向查詢
反向查詢是一種從IP地址到域名的查詢方式。
反向查詢主要用于安全審計(jì)、網(wǎng)絡(luò)管理和驗(yàn)證IP地址歸屬等方面。例如,當(dāng)收到來(lái)自某個(gè)IP地址的網(wǎng)絡(luò)流量時(shí),可以通過(guò)反向查詢確認(rèn)該IP地址對(duì)應(yīng)的域名,從而了解到流量的來(lái)源。
zone "180.168.192.in-addr.arpa" IN {
type master;
file "example.com.arpa";
allow-update { none; };
};如圖紅色框框

檢測(cè)是否語(yǔ)法錯(cuò)誤
named-checkconf /etc/named.conf
編輯完成之后保存退出并且重啟
systemctl restart named
修改正反區(qū)域文件(重點(diǎn))
進(jìn)入到DNS服務(wù)器相關(guān)文件存儲(chǔ)目錄 /var/named/
cd /var/named/
觀察這兩個(gè)文件 其實(shí)是一個(gè)實(shí)例文件接下來(lái)我們復(fù)制兩份用(找任意一個(gè)都可以)

如下
cp -p named.empty example.com.zone cp -p named.empty example.com.arpa
如下就是我復(fù)制的文件
example.com.zone 當(dāng)做正向查詢解析來(lái)用
example.com.arpa 當(dāng)做反向查詢來(lái)使用

加入解析信息(正向)
vim example.com.zone
觀看如下配置
格式就是這樣的 請(qǐng)大家按照這樣寫
紅色框框里邊可以修改

example.com.: 指定了主域名為example.com。
root.example.com.: 這個(gè)字段指定了負(fù)責(zé)管理該域名的DNS服務(wù)器的郵箱地址,形式為root@example.com。root是指定了這個(gè)域名的管理員(或者叫根管理員),而example.com是該管理員的郵箱地址的域名部分。
@ IN NS dns.example.com.:這行指定了域名example.com的DNS服務(wù)器是dns.example.com。NS記錄(Name Server)指定了管理特定區(qū)域的DNS服務(wù)器。
dns IN A 192.168.180.188:這行指定了主機(jī)名dns對(duì)應(yīng)的IP地址是192.168.180.188。A記錄(Address Record)用于將域名解析為IPv4地址。
www IN A 192.168.180.189:這行指定了主機(jī)名www對(duì)應(yīng)的IP地址是192.168.180.189。
exam IN A 192.168.180.190:這行指定了主機(jī)名exam對(duì)應(yīng)的IP地址是192.168.180.190。
ftp IN A 192.168.180.191:這行指定了主機(jī)名ftp對(duì)應(yīng)的IP地址是192.168.180.191。
sun IN A 192.168.180.44:這行指定了主機(jī)名sun對(duì)應(yīng)的IP地址是192.168.180.44。
加入解析信息(反向)
vim example.com.arpa
觀看如下配置
格式就是這樣的 請(qǐng)大家按照這樣寫
紅色框框里邊可以修改

PTR 記錄將 IP 地址映射到相應(yīng)的域名。
@ IN NS dns.example.com.:這行指定了該反向區(qū)域的DNS服務(wù)器是 dns.example.com。NS記錄(Name Server)指定了管理特定區(qū)域的DNS服務(wù)器。
188 IN PTR dns.example.com.:這行指定了IP地址以 188 結(jié)尾的主機(jī)對(duì)應(yīng)的域名是 dns.example.com。PTR記錄(Pointer Record)用于將IP地址解析為域名。
189 IN PTR www.example.com.:這行指定了IP地址以 189 結(jié)尾的主機(jī)對(duì)應(yīng)的域名是 www.example.com。
190 IN PTR exam.example.com.:這行指定了IP地址以 190 結(jié)尾的主機(jī)對(duì)應(yīng)的域名是 exam.example.com。
191 IN PTR ftp.example.com.:這行指定了IP地址以 191 結(jié)尾的主機(jī)對(duì)應(yīng)的域名是 ftp.example.com。
44 IN PTR sun.example.com.:這行指定了IP地址以 44 結(jié)尾的主機(jī)對(duì)應(yīng)的域名是 sun.example.com。
此刻已經(jīng)寫完了所有的配置信息 重啟服務(wù)
3.客戶機(jī)測(cè)試
配置ip,關(guān)閉防火墻和selinux
[root@localhost ~] vim /etc/resolv.conf
/etc/resolv.conf 是一個(gè)用于配置 DNS 解析的重要文件
將它指向dns服務(wù)器IP地址

正向解析測(cè)試
通過(guò)測(cè)試發(fā)現(xiàn)一切都如配置文件對(duì)應(yīng)關(guān)系那樣

反向解析測(cè)試
通過(guò)測(cè)試發(fā)現(xiàn)一切都如配置文件對(duì)應(yīng)關(guān)系那樣

注意事項(xiàng)
如果重啟發(fā)現(xiàn)
Job for named.service failed because the control process exited with error code. See "systemctl status named.service" and "journalctl -xe" for details.

那就是配置文件在你編輯時(shí)候出現(xiàn)了錯(cuò)誤
vim /etc/named.conf 編輯這個(gè)文件 仔細(xì)的去觀察你編輯的信息
如果解析發(fā)現(xiàn)解析失敗 那就是正反解析文件中的問(wèn)題
還有就是.記得加上去

以上就是Linux中搭建DNS域名解析服務(wù)器的詳細(xì)過(guò)程的詳細(xì)內(nèi)容,更多關(guān)于Linux中搭建DNS域名的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Linux中的內(nèi)核態(tài)&用戶態(tài)使用
本文詳細(xì)介紹了Linux系統(tǒng)內(nèi)核態(tài)與用戶態(tài)的概念、區(qū)別及實(shí)現(xiàn)原理,包括特權(quán)級(jí)、地址空間劃分、系統(tǒng)調(diào)用機(jī)制、頁(yè)表結(jié)構(gòu)等核心內(nèi)容,文章通過(guò)對(duì)比用戶態(tài)與內(nèi)核態(tài)的特征,以及具體的操作系統(tǒng)實(shí)現(xiàn)細(xì)節(jié),幫助讀者理解Linux系統(tǒng)中這兩個(gè)重要概念的運(yùn)行機(jī)制和實(shí)際應(yīng)用2026-01-01
Linux系統(tǒng)調(diào)用中斷機(jī)制的全部流程
這篇文章主要介紹了Linux系統(tǒng)調(diào)用的中斷機(jī)制、工作流程、優(yōu)化技術(shù)及實(shí)踐,并探討了內(nèi)核實(shí)現(xiàn)和安全防護(hù)機(jī)制,最后總結(jié)了現(xiàn)代系統(tǒng)調(diào)用的發(fā)展趨勢(shì),需要的朋友可以參考下2025-12-12
linux上TCP connection timeout問(wèn)題解決辦法
這篇文章主要介紹了 linux上TCP connection timeout問(wèn)題解決辦法的相關(guān)資料,需要的朋友可以參考下2017-04-04
國(guó)產(chǎn)操作類linux系統(tǒng)vnc服務(wù)方式
該文章介紹了如何在銀河麒麟v10系統(tǒng)上配置和使用VNC(Virtual Network Console)虛擬網(wǎng)絡(luò)控制臺(tái)協(xié)議進(jìn)行遠(yuǎn)程圖形化控制,包括查看可用軟件組、安裝VNC服務(wù)、配置VNC服務(wù)、啟動(dòng)和停止VNC服務(wù)、VNC服務(wù)參數(shù)說(shuō)明以及VNC服務(wù)其他說(shuō)明2026-01-01
Linux使用/proc/meminfo和free命令查看內(nèi)存信息
/proc/meminfo和free都是Linux系統(tǒng)查看內(nèi)存使用情況的工具,但free更直觀易用,而/proc/meminfo提供了更底層的詳細(xì)數(shù)據(jù),下面小編為大家詳細(xì)說(shuō)說(shuō)Linux使用/proc/meminfo和free命令查看內(nèi)存信息的方法,需要的朋友可以參考下2026-01-01

