Linux中搭建DNS域名解析服務器的詳細過程
DNS 從哪里獲取 IP 地址?
- 本地緩存: DNS服務器會將先前查詢過的域名和對應的IP地址存儲在本地緩存中,以便在后續(xù)查詢中加快響應速度。如果之前已經查詢過某個域名,DNS服務器會直接從本地緩存中獲取對應的IP地址。
- 遞歸查詢: 如果本地緩存中沒有目標域名的IP地址,DNS服務器會發(fā)起遞歸查詢。它首先向根域名服務器發(fā)送查詢請求,根域名服務器會返回指向負責頂級域(如.com、.net、.org等)的權威域名服務器的IP地址。然后,DNS服務器會向權威域名服務器發(fā)送查詢請求,直到獲取到目標域名的IP地址或者查詢失敗。
- 轉發(fā)查詢: DNS服務器還可以配置為轉發(fā)查詢,即將未命中本地緩存的查詢請求轉發(fā)給其他DNS服務器處理。通常情況下,本地DNS服務器會將這些請求發(fā)送給ISP(Internet Service Provider,互聯(lián)網服務提供商)提供的DNS服務器或者其他可靠的DNS服務器進行處理。
DNS的作用
- 域名解析: DNS最主要的作用是將域名解析為對應的IP地址。當用戶在瀏覽器中輸入一個域名時,DNS系統(tǒng)會將這個域名轉換為相應的IP地址,然后瀏覽器才能通過IP地址找到并訪問目標網站。
- 負載均衡: 通過DNS解析可以實現(xiàn)負載均衡,即將多個服務器的域名解析為不同的IP地址并在不同的時間將其返回給用戶。這樣可以分散流量到多臺服務器上,提高網站的訪問速度和穩(wěn)定性。
- 郵箱服務器定位: DNS也用于指定郵件服務器的IP地址。當發(fā)送電子郵件時,郵件服務器通過DNS解析找到收件人域名的郵件服務器IP地址,然后發(fā)送郵件。
- 防止DNS劫持: DNS還能夠通過各種方式來防止DNS劫持,即惡意修改DNS解析結果以實施網絡攻擊或監(jiān)視用戶活動的行為。例如,DNSSEC(DNS Security Extensions)可以通過數(shù)字簽名來保護DNS解析結果的完整性和真實性。
- 提供其他網絡服務: DNS還可以用于提供其他網絡服務,如反向DNS解析(將IP地址解析為域名)、動態(tài)域名解析(將動態(tài)IP地址映射到域名)、域名注冊等。
接下來講講我們在本地搭建DNS解析
以下實驗測試均在VMware中 centos操作系統(tǒng)
首先服務器的配置
1.服務器配置
配置ip,關閉防火墻和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; };
以下是詳細配置解釋:
大家了解即可 主要還是圖中紅色框中的字母
options: 這個部分包含了DNS服務器的一般選項設置。
listen-on port 53 { any; }: 指定DNS服務器監(jiān)聽的端口。在這個示例中,DNS服務器監(jiān)聽在53端口,允許任何IP地址連接到該端口。這意味著DNS服務器會接受來自任何IP地址的DNS查詢請求。
listen-on-v6 port 53 { ::1; }: 指定IPv6地址的監(jiān)聽端口。在這個示例中,DNS服務器監(jiān)聽IPv6地址的53端口,只允許本地IPv6地址(::1)連接到該端口。
directory "/var/named";: 指定存儲DNS服務器相關數(shù)據文件的目錄路徑。在這個示例中,數(shù)據文件存儲在/var/named目錄下。
dump-file "/var/named/data/cache_dump.db";: 指定DNS服務器在關閉時將緩存內容寫入的文件路徑。這個文件通常用于調試和故障排除。
statistics-file "/var/named/data/named_stats.txt";: 指定DNS服務器的統(tǒng)計信息輸出文件路徑,用于記錄DNS服務器的運行統(tǒng)計數(shù)據。
memstatistics-file "/var/named/data/named_mem_stats.txt";: 指定DNS服務器的內存使用統(tǒng)計輸出文件路徑,用于記錄DNS服務器的內存使用情況。
recursing-file "/var/named/data/named.recursing";: 指定DNS服務器遞歸查詢的記錄文件路徑。
secroots-file "/var/named/data/named.secroots";: 指定DNS服務器的安全根文件路徑。
allow-query { any; };: 指定允許查詢的IP地址范圍。在這個示例中,允許任何IP地址進行DNS查詢。
定義正向查詢
正向查詢是最常見的DNS查詢方式之一。
正向查詢用于將域名解析為IP地址,這樣用戶就可以使用易記的域名來訪問互聯(lián)網上的各種網絡資源,而不需要記憶IP地址。
在dns配置文件中加入如下信息:
zone "example.com" IN {
type master;
file "example.com.zone";
allow-update { none; };
}; 紅色框框里邊的就是

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

檢測是否語法錯誤
named-checkconf /etc/named.conf
編輯完成之后保存退出并且重啟
systemctl restart named
修改正反區(qū)域文件(重點)
進入到DNS服務器相關文件存儲目錄 /var/named/
cd /var/named/
觀察這兩個文件 其實是一個實例文件接下來我們復制兩份用(找任意一個都可以)

如下
cp -p named.empty example.com.zone cp -p named.empty example.com.arpa
如下就是我復制的文件
example.com.zone 當做正向查詢解析來用
example.com.arpa 當做反向查詢來使用

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

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

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

正向解析測試
通過測試發(fā)現(xiàn)一切都如配置文件對應關系那樣

反向解析測試
通過測試發(fā)現(xiàn)一切都如配置文件對應關系那樣

注意事項
如果重啟發(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.

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

以上就是Linux中搭建DNS域名解析服務器的詳細過程的詳細內容,更多關于Linux中搭建DNS域名的資料請關注腳本之家其它相關文章!
相關文章
linux上TCP connection timeout問題解決辦法
這篇文章主要介紹了 linux上TCP connection timeout問題解決辦法的相關資料,需要的朋友可以參考下2017-04-04
Linux使用/proc/meminfo和free命令查看內存信息
/proc/meminfo和free都是Linux系統(tǒng)查看內存使用情況的工具,但free更直觀易用,而/proc/meminfo提供了更底層的詳細數(shù)據,下面小編為大家詳細說說Linux使用/proc/meminfo和free命令查看內存信息的方法,需要的朋友可以參考下2026-01-01

