[Linux入門] 初學者入門:Linux DNS 域名解析服務詳解

目錄

一、域名服務基礎:從 “名字” 到 “地址” 的轉換

1??什么是域名?

2??什么是 DNS?

3??DNS 用 TCP 還是 UDP?

二、DNS 服務器:各司其職的 “導航站”

1??根域名服務器

2??頂級域名服務器

3??權威域名服務器

4??本地 DNS 服務器

5??轉發服務器

三、正向解析與反向解析:DNS 的兩種 “查詢模式”

1??正向解析:域名→IP

2??反向解析:IP→域名

3??區域(Zone)的概念

四、DNS 查詢方式:遞歸與迭代

1??遞歸查詢:“你幫我搞定”

2??迭代查詢:“你告訴我下一步找誰”

3??完整查詢過程(以www.linuxprobe.com為例)

五、Linux 構建緩存域名服務器

1??為什么需要緩存 DNS?

2??工具:BIND(最常用的 DNS 軟件)

3??配置緩存 DNS 服務器(步驟)

步驟 1:修改主配置文件

步驟 2:重啟服務并測試

六、Linux 構建主從域名服務器

1??主從服務器的角色

2??配置示例(環境:主服務器 192.168.141.130,從服務器 192.168.141.129)

步驟 1:配置主服務器

步驟 2:配置從服務器

步驟 3:測試


DNS(域名系統)是互聯網的 “導航系統”,讓我們能通過好記的域名(如www.baidu.com)訪問網站,而不是復雜的 IP 地址(如 14.215.177.38)。對于 Linux 初學者來說,理解 DNS 的工作原理并掌握其配置方法,是搭建網絡服務的重要基礎。

一、域名服務基礎:從 “名字” 到 “地址” 的轉換

1??什么是域名?

域名(Domain Name)是互聯網上計算機或服務器的 “名字”,由一串用點分隔的字符組成,必須以點結尾(如www.qq.com.cn.),我們日常看到的 “www.qq.com.cn” 只是簡略形式。

它的核心作用是替代 IP 地址:人類對 “www.baidu.com” 的記憶遠比對 “14.215.177.38” 容易,而 DNS 的任務就是把 “名字” 翻譯成 “地址”。

通過域名系統(DNS)實現域名與IP地址的映射。

2??什么是 DNS?

DNS 就是用于將網站的域名轉換為IP地址的系統。DNS(域名系統)是一個分布式數據庫,負責存儲域名與 IP 地址的對應關系,并提供查詢服務。簡單說,當你在瀏覽器輸入 “www.example.com” 時:

  1. 你的電腦會向 DNS 服務器發送查詢:“這個域名對應的 IP 是多少?”
  2. DNS 服務器通過一系列查詢,找到對應的 IP(如 93.184.216.34)并返回;
  3. 電腦用 IP 地址連接服務器,獲取網頁內容。

DNS 的關鍵參數:

  • 使用端口:TCP 和 UDP 的 53 端口;
  • 長度限制:每級域名最長 63 字符,總長度不超過 253 字符。

3??DNS 用 TCP 還是 UDP?

DNS 根據場景選擇協議,初學者只需記住:

  • UDP:用于常規查詢(如瀏覽器查域名),速度快、數據量小(≤512 字節),適合緩存查詢、迭代查詢;
  • TCP:用于大量數據傳輸(如主從服務器同步數據)、大型響應(>512 字節),或防止攻擊,因為 TCP 需要建立連接,更可靠。

二、DNS 服務器:各司其職的 “導航站”

DNS 系統是分層的,不同服務器負責不同環節,就像 “國家 - 省 - 市” 的行政體系:

1??根域名服務器

DNS 的 “頂層領導”,全球共 13 組(標識為 A-M),不直接解析域名,而是指引查詢到對應的頂級域名服務器。例如:

  • A 根服務器:管理單位INTERNIC.NET,位于美國弗吉尼亞州,IP 為 198.41.0.4;
  • M 根服務器:由 WIDE Project 管理,位于日本東京,IP 為 202.12.27.33。

2??頂級域名服務器

負責 “頂級域名”(如.com、.org、.cn)的解析,指引查詢到下一級服務器。例如:

  • .com 服務器:管理所有以.com 結尾的域名;
  • .cn 服務器:管理中國國家域名(如.qq.com.cn的頂級域是.cn)。

3??權威域名服務器

“具體管事的”,保存某一域名的詳細解析記錄(如www.baidu.com的 IP),是該域名的 “官方服務器”(如阿里云 DNS、騰訊云 DNS)。

4??本地 DNS 服務器

你家寬帶或公司網絡提供的 DNS(如 114.114.114.114),負責替你完成整個查詢過程:

  1. 先查自己的緩存,有結果直接返回;
  2. 沒有則依次向根、頂級、權威服務器查詢,最后把結果返回給你,并緩存下來。

5??轉發服務器

可選的 “中間代理”,接收查詢后轉發給其他 DNS 服務器,適合大型網絡減少重復查詢(比如公司內網用轉發服務器統一處理外部查詢)。

三、正向解析與反向解析:DNS 的兩種 “查詢模式”

DNS 的核心是 “地址對應關系”,分為兩種查詢方向:

1??正向解析:域名→IP

最常用的功能,根據域名查 IP。例如:輸入 “www.baidu.com”,得到 IP“14.215.177.38”。

2??反向解析:IP→域名

根據 IP 查域名,用途較少但重要(如反垃圾郵件驗證:驗證發送郵件的 IP 是否對應宣稱的域名)。例如:輸入 “14.215.177.38”,得到 “www.baidu.com”。

3??區域(Zone)的概念

每臺 DNS 服務器只負責一小部分 “范圍”(稱為 “區域”):

  • 正向區域:存儲域名→IP 的記錄(如xykj.com區域);
  • 反向區域:存儲 IP→域名的記錄(如 192.168.141.x 網段的區域)。

四、DNS 查詢方式:遞歸與迭代

DNS 查詢有兩種方式,就像 “找人” 的兩種策略:

1??遞歸查詢:“你幫我搞定”

客戶端(如你的電腦)向本地 DNS 服務器查詢時,本地 DNS 會 “包辦到底”:如果自己不知道,就主動向其他服務器查詢,直到拿到結果返回給你。
特點:只需發一次請求,等待結果即可(類似 “我問快遞員我的快遞在哪,他查清楚告訴我市井”)。

2??迭代查詢:“你告訴我下一步找誰”

本地 DNS 服務器向其他服務器(如根、頂級服務器)查詢時,對方不會直接給結果,而是告訴你 “去問下一個服務器”。本地 DNS 需要自己一步步找下去。
特點:可能發多次請求,目標不斷變化(類似 “我問路人郵局在哪,他說‘前面路口問交警’,我再去問交警”)。

3??完整查詢過程(以www.linuxprobe.com為例)

  1. 你的電腦先查本地緩存和 hosts 文件(hosts 文件優先級高于 DNS,Linux 路徑為 /etc/hosts,Windows 為 C:\Windows\System32\drivers\etc\hosts);
  2. 緩存和 hosts 中沒有,就向本地 DNS 服務器發送遞歸查詢;
  3. 本地 DNS 服務器查自己的緩存,沒有則開始迭代查詢:
    • 問根服務器:“www.linuxprobe.com在哪?” 根服務器說:“去問.com 頂級服務器”;
    • 問.com 頂級服務器,對方說:“去問linuxprobe.com的權威服務器”;
    • 問linuxprobe.com的權威服務器,得到 IP 地址;
  4. 本地 DNS 服務器將結果緩存,再返回給你的電腦。

五、Linux 構建緩存域名服務器

緩存 DNS 服務器的作用是 “記住” 之前的查詢結果,讓后續查詢更快(類似 “記筆記”),適合內網環境(如公司、學校)。

1??為什么需要緩存 DNS?

  • 提高速度:重復訪問同一域名時,直接用緩存結果,不用再查外部服務器;
  • 節省流量:減少對外部 DNS 的依賴,降低出口帶寬占用;
  • 增強安全:可屏蔽惡意網站,限制內網用戶訪問風險站點;
  • 方便管理:內網設備用緩存服務器,統一解析規則。

2??工具:BIND(最常用的 DNS 軟件)

BIND(Berkeley Internet Name Domain)是 Linux 上主流的 DNS 服務軟件,通過以下步驟安裝和控制:

  1. 安裝:sudo apt install bind9(Debian/Ubuntu)或yum install bind(CentOS);
  2. 服務控制:systemctl start named(啟動)、systemctl status named(查看狀態)。

3??配置緩存 DNS 服務器(步驟)

以 “192.168.141.130” 作為緩存服務器為例:

步驟 1:修改主配置文件

主配置文件為/etc/bind/named.conf.options,關鍵設置:

options

directory "/var/cache/bind";  # 數據文件存放目錄
recursion yes;  # 啟用遞歸查詢(必須,因為緩存服務器要替客戶端查詢)
listen-on { any; };  # 監聽所有網絡接口
allow-query { any; };  # 允許所有客戶端查詢
forwarders {  # 轉發器:自己查不到時,轉發給這些服務器223.5.5.5;  # 阿里云DNS114.114.114.114;  # 國內通用DNS
};
dnssec-validation auto;  # 自動驗證DNS數據有效性
步驟 2:重啟服務并測試

bash

sudo systemctl restart named  # 重啟服務
sudo systemctl stop firewalld  # 關閉防火墻(避免端口被擋)

在客戶端(如 192.168.141.128)的/etc/resolv.conf中設置 DNS 為 192.168.141.130,然后用nslookup www.baidu.com測試:如果能返回 IP,說明配置成功。

六、Linux 構建主從域名服務器

主從域名服務器用于 “熱備份”:主服務器負責維護數據,從服務器同步主服務器的數據,避免主服務器故障導致解析失效。

1??主從服務器的角色

  • 主域名服務器:擁有某區域的 “決定權”,維護該區域的解析記錄(如xykj.com的 A 記錄),可自主修改數據;
  • 從域名服務器:同步主服務器的數據,提供相同的解析服務,作為備份(不能自己修改數據)。

2??配置示例(環境:主服務器 192.168.141.130,從服務器 192.168.141.129)

步驟 1:配置主服務器
  1. 安裝 bind9:sudo apt install bind9
  2. 修改區域配置文件/etc/bind/named.conf.default-zones,添加正向區域:

    zone

    zone "xykj.com" {type master;  # 主服務器file "/etc/bind/xykj.local";  # 區域數據文件路徑
    };
    
  3. 創建區域數據文件/etc/bind/xykj.local(存儲域名→IP 記錄):

    zone

    $TTL 604800  # 記錄在緩存中存活7天
    @ IN SOA xykj.com. admin.xykj.com. (2  ; 序列號(每次修改+1)604800  ; 刷新時間(7天,從服務器多久查一次主服務器)86400   ; 重試時間(1天,查不到時多久再試)2419200 ; 過期時間(28天,超過多久不再同步)604800  ; 否定緩存時間(7天,查不到的記錄緩存多久)
    )
    @ IN NS xykj.com.  # 域名服務器記錄
    @ IN A 192.168.141.131  # xykj.com對應IP
    www IN A 192.168.141.131  # www.xykj.com對應IP
    
  4. 檢查配置:named-checkzone xykj.com /etc/bind/xykj.local,顯示 “OK” 則有效;
  5. 啟動服務:systemctl start named
步驟 2:配置從服務器
  1. 安裝 bind9:sudo apt install bind9
  2. 修改區域配置文件/etc/bind/named.conf.default-zones,添加正向區域(指向主服務器):

    zone

    zone "xykj.com" {type slave;  # 從服務器masters { 192.168.141.130; };  # 主服務器IPfile "/var/cache/bind/xykj.local.slave";  # 同步的文件路徑
    };
    

  3. 啟動服務:systemctl start named,從服務器會自動同步主服務器的數據。
步驟 3:測試

在客戶機(192.168.141.128)的/etc/resolv.conf中設置 DNS 為 192.168.141.129,用nslookup www.xykj.com測試:能返回 192.168.141.131,說明從服務器工作正常。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/916407.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/916407.shtml
英文地址,請注明出處:http://en.pswp.cn/news/916407.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

iview表單驗證一直提示為空的幾個原因?

1.Form上的rules是否配置正確; 2.Form-item的prop是否配置正確; 3.規則的名稱和input的v-model是否對應; 4.驗證的字段是否響應,新增字段使用this. $set. © 著作權歸作者所有,轉載或內容合作請聯系作者 平臺聲明&#xff1…

SpringBoot3(若依框架)集成Mybatis-Plus和單元測試功能,以及問題解決

一、Mybatis-Plus集成 新增依賴到父級pom.xml,原先的mybatis依賴可以不動需要注意 mybatis-plus與mybatis版本之間的沖突,不要輕易改動依賴,不然分頁也容易出現問題分類頂級pom.xml下面,如果沒有引入還是出現報錯,在co…

刪除遠程分支上非本分支的提交記錄

要刪除遠程分支上非本分支的提交記錄(即主分支的提交歷史),需要使用 Git 的重寫歷史功能。以下是完整解決方案: 解決方案步驟: 創建干凈的新分支(基于主分支最新提交) # 切換到主分支并更新 git…

Flask input 和datalist結合

<input list"categories" name"category" id"category" class"form-control" placeholder"任務分類" required> 這段代碼是一個 HTML 輸入控件&#xff0c;結合了 <input> 和 <datalist>&#xff0c;用來…

嵌入式分享#27:原來GT911有兩個I2C地址(全志T527)

最近在調試全志T527的觸摸功能時&#xff0c;發現GT911觸摸芯片的I2C地址有時是0x5d&#xff0c;有時又識別成0x14&#xff0c;不知道大家有沒有遇到過類似這個情況。雖然最后使用0x5d地址調通了觸摸功能&#xff0c;但是一直還是很困惑&#xff0c;為什么會出現0x14和0x5d兩個…

Linux運維新人自用筆記(Rsync遠程傳輸備份,服務端、郵箱和客戶端配置、腳本)

內容全為個人理解和自查資料梳理&#xff0c;歡迎各位大神指點&#xff01;每天學習較為零散。day24一、Rsync傳輸文件#安裝rsync#-a遞歸同步&#xff08;包含子目錄&#xff09;保留文件權限、所有者、組、時間戳等元數據 #??-z傳輸時壓縮數據 #??-v顯示詳細同步過程 #??…

以 “有機” 重構增長:云集從電商平臺到健康生活社區的躍遷

當電商行業陷入流量爭奪的紅海&#xff0c;同質化運營模式難以突破增長瓶頸時&#xff0c;云集以從精選電商到有機生活平臺的戰略轉型&#xff0c;開辟出差異化發展路徑。其轉型并非憑經驗決斷的孤例&#xff0c;而是建立在對市場趨勢的精準研判、用戶需求的深度解碼&#xff0…

【2025最新版】midjourney小白零基礎入門到精通教程!人工智能繪圖+AI繪圖+AI畫圖,一鍵出圖教程 (持續更新)

前言 現在市面上相關的AI繪畫工具非常多&#xff0c;有6pen.art、Stable Diffusion、DALL.E、Midjourney等。 而MJ就目前而言&#xff0c;它是一款強大的人工智能工具&#xff0c;旨在幫助設計師和創意人員完成各種設計任務。 非常適合我們圖像工作者&#xff0c;從 UI 設計到…

2025年滲透測試面試題總結-2025年HW(護網面試) 70(題目+回答)

安全領域各種資源&#xff0c;學習文檔&#xff0c;以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各種好玩的項目及好用的工具&#xff0c;歡迎關注。 目錄 2025年HW(護網面試) 70 一、自我介紹 二、同源策略 & 三大漏洞對比解析 1. 同源策略&#xff08;SOP&…

加權卡爾曼濾波

加權卡爾曼濾波融合&#xff0c;它通過給不同傳感器或估計結果分配不同的權重&#xff0c;來提高狀態估計的精度和可靠性。一、卡爾曼濾波1.狀態方程2.觀測方程其中&#xff1a;基本方程①狀態一步預測②狀態估計③濾波增益④一步預測均方差⑤估計均方誤差二、加權卡爾曼濾波對…

【世紀龍科技】新能源汽車維護與故障診斷-汽車專業數字課程資源

在職業院校汽車專業教學中&#xff0c;理論與實踐脫節、設備投入不足、學生實操能力薄弱等問題長期存在。如何讓學生在有限的教學資源下掌握新能源汽車核心技術&#xff1f;如何讓教師更高效地開展理實一體化教學&#xff1f;《新能源汽車維護與故障診斷》數字課程資源&#xf…

Windows Server系統安裝JDK,一直卡在“應用程序正在為首次使用作準備,請稍候”

一、背景 第二次遇到這個問題了&#xff0c;但是居然沒想起來之前遇到過&#xff0c;又問元寶給的答案不對&#xff0c;還沒想起來之前收藏過解決方案&#xff0c;這里特別記錄一下。 二、問題描述 操作系統是Windows Sever2019&#xff0c;安裝JDK時卡住一直過不去&#xff0…

機器學習入門:線性回歸詳解與實戰

線性回歸&#xff08;Linear Regression&#xff09;是機器學習中最基礎也最常用的算法之一&#xff0c;無論是初學者入門還是實際業務場景&#xff0c;都能看到它的身影。本文將從概念、原理到代碼實現&#xff0c;帶你全方位了解線性回歸。一、什么是線性回歸&#xff1f;簡單…

第3篇:軟鏈接 mklink /D 教程:輕量緩存目錄遷移利器

我們通過諸多實踐后將三種鏈接方案分別獨立成篇&#xff0c;可以讓不同需求場景的讀者精準獲取所需內容。下面是回顧我們文章系列策劃的三篇博客標題、定位和詳細大綱&#xff0c;每篇都圍繞一個核心方案展開&#xff0c;具備教學性、實用性和實操性&#xff1a; &#x1f4d8;…

力扣 hot100 Day52

124. 二叉樹中的最大路徑和 二叉樹中的 路徑 被定義為一條節點序列&#xff0c;序列中每對相鄰節點之間都存在一條邊。同一個節點在一條路徑序列中 至多出現一次 。該路徑 至少包含一個 節點&#xff0c;且不一定經過根節點。 路徑和 是路徑中各節點值的總和。 給你一個二叉…

數據存儲:OLAP vs OLTP

下面系統性地進行介紹,包括OLAP數據庫的基本概念、特點、常見產品,以及它們在實際工作中的典型應用場景,最后對比與關系型數據庫(OLTP)的區別。 一、OLAP數據庫是什么? OLAP(Online Analytical Processing,聯機分析處理)數據庫,主要用于大數據量、多維度、復雜查詢與…

云原生網絡策略自動化在微服務架構 API 安全防護與流量管理中的應用

云原生網絡策略自動化在微服務架構中的核心價值隨著微服務架構在金融、電商等領域的廣泛應用&#xff0c;API安全防護與流量管理已成為企業數字化轉型的關鍵挑戰。Gartner 2023年報告顯示&#xff0c;83%的分布式系統因網絡策略缺失導致安全事件&#xff0c;而傳統靜態策略配置…

無需云服務器的內網穿透方案 -- cloudflare tunnel

內網穿透 原文地址 https://docs.caolib.dpdns.org/network/cloudflare tunnel.html Cloudflare Tunnel 內網穿透工具 1.簡介 1.1 介紹 官方介紹&#xff1a;Cloudflare Tunnel 為您提供了一種安全的方式&#xff0c;無需公開路由的 IP 地址即可將資源連接到 Cloudflare。使用…

目前市面上arm64-v8a、armeabi-v7a設備的市占率有多少?為什么x86架構的手機越來越少?

deepseek回答&#xff1a; 當前全球范圍內&#xff0c;arm64-v8a 架構在安卓設備中的市占率已超過 64%&#xff0c;遠超其他架構版本。具體分布如下&#xff1a; &#x1f4ca; 各架構市場份額對比 架構類型市占率定位與趨勢arm64-v8a≥64%主流 64 位架構&#xff0c;性能最…

Java中配置兩個r2db連接不同的數據庫

Java中配置兩個r2db連接不同的數據庫在實際項目中不可避免的存在使用兩個數據庫的情況&#xff0c;下面將系統地講解相關配置方案&#xff0c;包含配置文件、數據庫配置類、注解原理、常見錯誤排查等維度&#x1f9e9; 一、配置文件說明&#xff08;application.yml&#xff09…