linux基本系統服務——DNS服務

一、DNS域名解析原理

DNS,Domain Name System,域名系統:在互聯網中由大量域名解析服務器共同提供的一整套關于“域名?<--> IP地址”信息查詢的數據系統

????!!!! C/S架構:DNS服務端監聽UDP 53端口(處理客戶端查詢),也監聽TCP 53端口(主-輔同步)

????!!!!?客戶機向DNS服務器提問:xx域名的IP地址是多少?

####?如何通過域名找到一個站點

????FQDN,Full Qualified Domain Name,完全限定域名(站點名+域名) ,比如:servera.lab.example.com、www.stu.cn

####?分層次管理(域名體系結構):

????根域?=》.

????頂級域/一級域?=》.com、.cn

????二級域 (最常見)=》?.example.com、.stu.cn

????三級域(比較少)?=》?lab.example.com、……

????站點(使用DNS名稱的各服務器)=》?www、mail、ftp、game、news、……

####?分布式部署(域名服務器):

????每個權威DNS服務器只負責分擔自己管轄的一個或多個域,提供這個域內的名稱解析服務

????每個權威DNS服務器可以代客戶端查詢管轄范圍外的域名(問其他DNS服務器)

????每個權威DNS服務器可以授權某個子域DNS服務器,告知客戶端自己去找子域DNS服務器繼續查詢

????比如,IANA管理根域(.)的DNS服務器、CNNIC管理一級域.cn的DNS服務器、stu管理二級域.stu.cn的DNS服務器

#### DNS服務器的類型

????權威DNS:需由IANA統一授權管理,管理一個或更多個DNS區域,有公網IP地址

????緩存DNS:運行商或企業自行架設、自行管理,主要面向客戶端提供代理查詢服務,提高客戶體驗(緩存加速),無需管理任何區域

####?域名查詢的主要方式

????!!!!?按問題內容分 ——

???????正向查詢:根據已知的域名查詢這個域名的IP地址,比如“域名www.baidu.com的IP地址是多少?”

???????反向查詢:根據已知的IP地址查詢這個IP地址的域名,比如“IP地址39.156.66.18對應的域名是什么?”

????!!!!?按服務方式分 ——

???????遞歸查詢:為客戶機查詢非本DNS服務器管轄的解析記錄,主要出現在“客戶機?->?緩存DNS服務器”場景;客戶端只發送一次查詢請求,剩下的都交給DNS服務器

???????迭代查詢:告知客戶機子域DNS服務器的地址,讓客戶機自己去找子域DNS查詢,主要出現在“緩存DNS ->?權威DNS服務器”場景;客戶端需要發送多次查詢請求,依次詢問根DNS、一級DNS、二級DNS、……

####?域名解析條目的類型

????TTL:設置解析記錄的默認超時時間(缺省單位為秒,可以添加?H/D/W表示小時/天/周)

????SOA:設置區域授權記錄(建議參考/var/named/named.localhost范本文件) ——?@ IN??SOA???@??admin.@??(??.. .. )

????NS:域名服務器

????MX:郵件服務器記錄

????CNAME:域名別名記錄

????A:正向解析記錄(域名->IPv4地址)

????AAAA:正向解析記錄(域名->IPv6地址)

????PTR:反向解析記錄(IP地址->域名)

???

二、域名查詢(host/nslookup/dig)

軟件包bind-utils提供以下域名查詢工具:

????host:簡單查詢工具,用法:host????域名或IP地址???DNS服務器地址

????nslookup:交互式查詢工具,用法:nslookup????域名或IP地址???DNS服務器地址

????dig:深度挖掘查詢工具,用法:dig??@DNS服務器地址????域名或IP地址???[-t??資源類型]

[root@work?~]# yum???-y???install???bind-utils???????//安裝域名查詢工具包

!!!!?使用上述工具時,需要有可用的DNS服務器

!!!!?如果還沒有配置DNS服務器,也可以找一臺能上網的主機,練習host/nslookup/dig命令

!!!!?在Windows系統中,自帶nslookup命令,也可以向DNS查詢域名

練習:查詢域名

1)直接查詢(向本機設置的默認DNS服務器查詢)www.12306.cn的IP地址

C:\Users\TsengYia>nslookup??www.12306.com

服務器:??public1.114dns.com

Address:??172.50.163.10

非權威應答:

名稱:????www.12306.com

Address:??112.74.143.83

2)向DNS服務器8.8.8.8查詢www.12306.cn的IP地址

C:\Users\TsengYia>nslookup??www.12306.com??8.8.8.8

服務器:??dns.google

Address:??8.8.8.8

非權威應答:

名稱:????www.12306.com

Address:??112.74.143.83

3)向8.8.8.8查詢IP地址114.114.114.114的域名是多少(注意:大多數IP地址是查不到反向結果的)

C:\Users\TsengYia>nslookup??114.114.114.114??8.8.8.8

服務器:??dns.google

Address:??8.8.8.8

名稱:????public1.114dns.com

Address:??114.114.114.114

三、權威DNS服務器-bind正向域設置

BIND,Berkeley Internet Name Domain,伯克利互聯網名稱服務器

servera(權威DNS服務器,servera.lab.example.com的IP地址是多少)

????1)裝包?bind

????2)配置 (主配置、地址庫)

????3)起服務??named

???

獲取BIND配置幫助:

# man??named.conf

# firefox??file:///usr/share/doc/bind/Bv9ARM.html

???

####?主配置文件/etc/named.conf,設置DNS全局參數、管理哪些區域(用哪一個地址庫)、安全控制、……

# vim??/etc/named.conf

options??{

????listen-on port 53 {?本機的IPv4監聽地址; };

????listen-on-v6 port 53 {?本機?ky的IPv6監聽地址; };

????directory???????"/var/named";??????????//指定地址庫文件的默認存放目錄

????allow-query?????{?客戶機的網段或IP地址; };

????recursion yes;???????????//是否允許提供遞歸查詢服務

????dnssec-enable yes;???????//啟用DNS安全

????dnssec-validation yes;??????//啟用DNS安全校驗

};

zone??"區域名"??IN??{

????type??master;????????????//設置區域類型(master、hint、slave、forward)

????file??地址庫文件名或者絕對路徑;

};

include???xxxx文件;?????//需要在主配置文件中包含xxxx文件

# named-checkconf??//查錯工具

TTL,Time To Live,存活時間(DNS解析記錄的有效期)

SOA,Start Of Authority,授權記錄的開始(管理的區域的信息,以及提供給從DNS服務器用的一些參數)

####?地址庫文件?/var/named/*,設置具體的地址記錄(域名->IP地址)

# vim??/var/named/地址庫文件名

$TTL???有效記錄的生存時間

@??IN??SOA??區域名????管理郵箱地址.??(

????序列號???????????????//十位以內的整數

????刷新時間

????重試時間

????過期時間

????無效記錄的生存時間

)

@??????NS?????當前區域的DNS服務器的域名.

???????????MX???優先級???當前區域的郵件服務器的域名.

www?A??????IP地址

mail???A??????IP地址

servera???????A??????IP地址

.. ..

# named-checkzone???區域名????地址庫文件的路徑和名稱???????????//查錯

work(客戶機)?==》servera(權威DNS)

實驗拓撲:

????servera.lab.example.com,權威DNS,提供域名解析服務(正向域lab.example.com)

????work(客戶機):向servera查詢域名serverc.lab.example.com的IP地址

1)安裝bind包

[root@servera ~]# yum??-y??install??bind

2)調整配置

[root@servera ~]# vim??/etc/named.conf????????//修改主配置文件

options {

????????listen-on port 53 { any; };???????????//在本機所有IPv4接口監聽

????????listen-on-v6 port 53 { any; };????????//在本機所有IPv6接口監聽

???????directory???????"/var/named";??????????//zone地址庫文件的默認存放路徑

???????allow-query?????{ localhost; 172.25.250.0/24; };????????//允許哪些客戶機查詢

???????.. ..

};

???????zone "lab.example.com" {???????????????//定義DNS區域

???????????type master;?????????//類型為主區域

???????????file "lab.example.com.zone";???????//指定地址庫文件名

???????};

[root@servera ~]# named-checkconf?????????//檢查主配置文件(無輸出即無錯)

[root@servera ~]#

[root@servera ~]# vim??/var/named/lab.example.com.zone??????//創建正向區域地址庫文件

$TTL 1D

@??IN??SOA??@?????root.lab.example.com. (

????????????????????????????????????????0???????; serial

????????????????????????????????????????1D??????; refresh

????????????????????????????????????????1H??????; retry

????????????????????????????????????????1W??????; expire

????????????????????????????????????????3H )????; minimum

@???????NS??????servera.lab.example.com.

servera???????A???????172.25.250.10

serverb???????A???????172.25.250.11

serverc???????A???????172.25.250.12

serverd???????A???????172.25.250.13

[root@servera ~]# chmod??640??/var/named/lab.example.com.zone

[root@servera ~]# chown??:named??/var/named/lab.example.com.zone

[root@servera ~]# named-checkzone??lab.example.com??/var/named/lab.example.com.zone??//檢查區域地址文件(OK即無錯)

.. ..

OK

3)啟動named服務

[root@servera ~]# firewall-cmd??--permanent??--add-service=dns????????//開放DNS訪問

[root@servera ~]# firewall-cmd??--reload??????//重載防火墻

[root@servera ~]# systemctl??enable??named??--now???????//啟用named服務

4)域名查詢測試 —— 向servera查詢serverc的IP地址

[root@work?~]# host??serverc.lab.example.com??servera?

Using domain server:

Name: servera

Address: 172.25.250.10#53

Aliases:

serverc.lab.example.com has address 172.25.250.12

四、權威DNS服務器-bind反向域設置

針對網段172.25.250/24,

對應的反向區域的名稱?250.25.172.in-addr.arpa

然后在主配置文件中也需要定義也這個區域,并且提供相應的地址庫文件

對應的反向地址記錄:

12?????PTR???????????完整的域名.

work(客戶機)?==》servera(權威DNS)

實驗拓撲:

????servera.lab.example.com,權威DNS,提供域名解析服務(正向域lab.example.com、反向域250.25.172.in-addr.arpa)

????work(客戶機):向servera查詢域名serverc.lab.example.com的IP地址、查詢IP地址172.25.250.12的域名

1)修改主配置文件,添加反向域設置

[root@servera ~]# cp??-p??/etc/named.conf{,.bak}?????//備份主配置文件

[root@servera ~]# vim??/etc/named.conf

?.. ..

????zone "250.25.172.in-addr.arpa" IN {???????//注意反向區域名中網段的倒序寫法

????????type master;

????????file "172.25.250.zone";

????};

2)創建反向區域地址庫文件

[root@servera ~]# vim??/var/named/172.25.250.zone

$TTL 300

@???????IN SOA??@????root.example.com. (

????????????????????????????????????????0???????; serial

????????????????????????????????????????1D??????; refresh

????????????????????????????????????????1H??????; retry

????????????????????????????????????????1W??????; expire

????????????????????????????????????????3H )????; minimum

@????????NS??????servera.lab.example.com.

10??????PTR?????servera.backend.lab.example.com.

11??????PTR?????serverb.backend.lab.example.com.

12??????PTR?????serverc.backend.lab.example.com.

13??????PTR?????serverd.backend.lab.example.com.

[root@servera ~]# chmod??640??/var/named/172.25.250.zone

[root@servera ~]# chown??:named??/var/named/172.25.250.zone

[root@servera ~]# named-checkzone??250.25.172.in-addr.arpa /var/named/172.25.250.zone??//檢查反向區域地址文件(OK即無錯)

.. ..

OK

3)重啟named服務

[root@servera ~]# systemctl??restart??named

4)域名查詢測試 —— 向servera查詢IP地址172.25.250.12的域名

[root@work?~]# host??172.25.250.12??servera?

Using domain server:

Name: servera

Address: 172.25.250.10#53

Aliases:

12.250.25.172.in-addr.arpa domain name pointer serverc.lab.example.com.

擴展小知識(解析庫的應用) ——

DNS解析記錄的輪詢(負載均衡,一個站點對應多個IP地址):

serverd???????A???????172.25.250.13

serverd???????A???????72.25.250.13

別名解析記錄的設置(一個IP對應多個站點):

servera???????A???????172.25.250.10

www???????????????CNAME???servera

泛域名解析記錄的設置(只查詢域名或錯誤的站點名,也能有結果):

@???????NS??????servera.lab.example.com.

???????????A???????172.25.250.10

*??????????A???????172.25.250.10

五、緩存DNS服務器-unbound緩存/轉發設置

work(客戶機)?==》serverb(緩存DNS)?==》servera(權威DNS)

實驗拓撲:

????servera.lab.example.com,權威DNS,提供域名解析服務(正向域lab.example.com、反向域250.25.172.in-addr.arpa)

????serverb.lab.example.com,緩存DNS,代理客戶端查詢,將來自客戶端的所有查詢請求轉發給servera

????work(客戶機):向serverb查詢域名serverc.lab.example.com的IP地址、查詢IP地址172.25.250.12的域名

1)安裝unbound包

[root@serverb ~]# yum??-y??install??unbound

2)調整配置

[root@serverb ~]# cp??-p??/etc/unbound/unbound.conf{,.bak}?????//備份主配置文件

[root@serverb ~]# vim??/etc/unbound/unbound.conf????????//修改主配置文件

server:

???????.. ..

???????interface: 172.25.250.11????????//在指定接口(可以是0.0.0.0,表示本機所有IP地址)提供監聽

????????access-control: 172.25.250.0/24 allow????//允許哪些網段的客戶機使用(可以配置多行),缺省為refuse拒絕

???????access-control: 127.0.0.0/8 allow

???????domain-insecure:??"lab.example.com"???????????//標記不安全區域(允許轉發查詢,避免對客戶端做DNSSEC安全驗證)

???????unblock-lan-zones: yes??//允許查詢本地區域

???????insecure-lan-zones: yes?????//允許查詢不安全的本地區域

forward-zone:

???????name: "lab.example.com"????????????//將針對xx區域的查詢轉發給指定DNS(其余區域走auth-zone上游DNS服務器)

???????forward-addr: 172.25.250.10????????//指定另一臺DNS服務器的IP地址

forward-zone:

????????name: "250.25.172.in-addr.arpa"???????//將針對xx反向區域的查詢轉發給指定DNS

????????forward-addr: 172.25.250.10

auth-zone:

???????name: "."?????????//對于未設置轉發的其他?區域,默認從根域開始查詢

???????for-downstream: no

???????for-upstream: yes

???????fallback-enabled: yes

???????master: b.root-servers.net

???????master: c.root-servers.net

???????.. ..

[root@serverb ~]# unbound-checkconf???????//檢查配置文件

unbound-checkconf: no errors in /etc/unbound/unbound.conf

[root@serverb ~]# unbound-control-setup??//首次起服務前,執行此命令生成密鑰文件

.. ..

3)啟動unbound服務

[root@serverb ~]# firewall-cmd??--permanent??--add-service=dns????????//開放DNS訪問

[root@serverb ~]# firewall-cmd??--reload??????//重載防火墻

[root@serverb ~]# systemctl??enable??unbound??--now?????????//啟用unbound服務

4)客戶端查詢DNS記錄

[student@work?~]$ host??serverc.lab.example.com??serverb??//向serverb查詢serverc的IP地址

.. ..

serverc.lab.example.com has address 172.25.250.12

5)管理緩存的DNS數據

[root@serverb ~]# unbound-control???dump_cache???????//查看緩存的解析記錄

[root@serverb ~]# unbound-control??flush??work.lab.example.com??//清除緩存的某個域名的解析記錄

[root@serverb ~]# unbound-control??flush??lab.example.com??//清除緩存的某個區域的所有解析記錄

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

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

相關文章

數據處理和統計分析——08 apply自定義函數

1 apply()函數 1.1 apply()函數簡介 Pandas提供了很多數據處理的API&#xff0c;但當提供的API不能滿足需求的時候&#xff0c;需要自己編寫數據處理函數, 這個時候可以使用apply()函數&#xff1b;apply()函數可以接收一個自定義函數&#xff0c;可以將DataFrame的行或列數據傳…

C++冰箱管理實戰代碼

基于C++的冰箱管理實例 以下是一些基于C++的冰箱管理實例示例,涵蓋不同功能場景,每個示例聚焦特定實現點,代碼可直接擴展或整合到項目中。 示例1:基礎冰箱類定義 class Refrigerator { private:int capacity;std::vector<std::string> items; public:Refrigerator(…

【Python】【數據分析】Python 數據分析與可視化:全面指南

目錄1. 環境準備2. 數據處理與清洗2.1 導入數據2.2 數據清洗示例&#xff1a;處理缺失值示例&#xff1a;處理異常值2.3 數據轉換3. 數據分析3.1 描述性統計3.2 分組分析示例&#xff1a;按年齡分組計算工資的平均值3.3 時間序列分析4. 數據可視化4.1 基本繪圖示例&#xff1a;…

【AI】AIService(基本使用與指令定制)

【AI】AIService(基本使用與指令定制) 文章目錄【AI】AIService(基本使用與指令定制)1. 簡介2. AIService2.1 引入依賴2.2 編寫AIService接口2.3 測試代碼3. 指令定制3.1 系統提示詞3.2 用戶提示詞1. 簡介 AIService可以被視為應用程序服務層的一個組件&#xff0c;提供對應的…

AAAI趕稿后的心得

總結 已經第三次和老師們一起趕稿了&#xff0c;但是還是紕漏重重&#xff0c;每次都被我的垃圾寫作給嚇到。每次都手忙腳亂找不到重點&#xff0c;唉&#xff0c;我大概這輩子都成為不了郭老師&#xff1a; 自己把故事先捋清楚&#xff1a; 所有的東西都要抽象出來&#xff0c…

書籍推薦算法研究

## 項目概述本項目是一個完整的書籍推薦系統第五版(Complete Book Recommendation System V5),采用混合推薦策略,能夠處理6種不同的用戶場景,提供智能化的書籍推薦服務。## 系統架構### 核心設計思路系統采用**混合推薦策略**,結合了以下幾種推薦算法:1. **協同過濾推薦…

工具自動生成Makefile

cmake 基礎 cmake主要是生成Makefile&#xff0c;以便工程管理&#xff0c;只需要編寫CMakeLists.txt安裝camkesudo apt install cmake 安裝cmake camke --version 查看cmake版本 sudo apt upgrade cmake 升級cmake源碼隔離 在工程文件下創建一個build文件&…

Java項目:基于SSM框架實現的校園活動資訊網管理系統【ssm+B/S架構+源碼+數據庫+畢業論文+遠程部署】

摘 要 使用舊方法對校園活動資訊進行系統化管理已經不再讓人們信賴了&#xff0c;把現在的網絡信息技術運用在校園活動資訊的管理上面可以解決許多信息管理上面的難題&#xff0c;比如處理數據時間很長&#xff0c;數據存在錯誤不能及時糾正等問題。 這次開發的校園活動資訊網…

關于echarts的性能優化考慮

作為資深前端工程師&#xff0c;在處理 ECharts 性能問題時&#xff0c;核心思路是減少渲染壓力、優化數據處理、避免不必要的計算&#xff0c;尤其在大數據量&#xff08;萬級以上&#xff09;、高頻交互或多圖表場景下&#xff0c;性能優化尤為關鍵。以下是實戰中驗證過的有效…

汽車EDI:Vitesco EDI 項目案例

Vitesco Technologies&#xff08;緯湃科技&#xff09;脫胎于大陸集團的動力總成部門&#xff0c;是一家于2021年上市的全球領先汽車技術供應商。公司專注于電動出行領域&#xff0c;提供電驅動系統、電池管理系統、功率電子及熱管理等關鍵技術解決方案。同時&#xff0c;其業…

譯|Netflix 技術博客:一個利用視覺-語言模型和主動學習高效構建視頻分類器的框架

本篇介紹了Netflix的視頻標注器&#xff08;VA&#xff09;&#xff0c;一個利用視覺-語言模型和主動學習的交互式框架。其技術亮點在于通過人機協作系統&#xff0c;結合零樣本能力和主動學習&#xff0c;引導領域專家高效標注視頻數據&#xff0c;顯著提升了模型樣本效率和平…

前端應用權限設計面面觀

目錄 1. 權限設計:前端為啥要操這份心? 2. 權限模型的“內功心法”:RBAC 和 ABAC RBAC:簡單粗暴的角色分配 ABAC:靈活但燒腦的屬性控制 3. 權限數據的“物流體系”:從后端到前端的旅程 權限數據從哪兒來? 權限數據咋存? 權限數據咋用? 4. 路由守衛:權限的“第…

Javaweb————Apache Tomcat服務器介紹及Windows,Linux,MAC三種系統搭建Apache Tomcat

&#x1f3cd;?&#x1f3cd;?&#x1f3cd;?第一部分&#xff1a;什么是服務器&#xff1f; 服務器是遠程的一個電腦,里面安裝服務器程序監聽對應的端口對外提供服務&#xff0c;可以根據用戶的請求去獲取對應的數據并返回給調用方。 &#x1f3cd;?&#x1f3cd;?&#…

winsock socket通訊為什么UDP服務器無法獲取客戶端IP?

針對VB6 Winsock開發中UDP服務器無法獲取客戶端IP的問題&#xff0c;以下是系統性排查方案&#xff1a; 一、基礎協議特性確認UDP無連接特性 Winsock的UDP協議本身是無連接的&#xff0c;需通過GetPeerName方法主動獲取對端IP&#xff0c;而非自動存儲。數據接收處理 必須在Dat…

大模型時代,Transformer 架構中的核心注意力機制算法詳解與優化實踐

大模型時代&#xff0c;Transformer 架構中的核心注意力機制算法詳解與優化實踐Transformer 注意力機制深度解析與工業級優化實踐一、注意力機制核心原理1.1 基礎注意力公式1.2 多頭注意力&#xff08;Multi-Head&#xff09;1.3 注意力機制可視化二、工業級優化技術2.1 計算效…

自學嵌入式 day40 51單片機

一、嵌入式&#xff1a;以應用為中心&#xff0c;計算機為基礎&#xff0c;軟硬件可剪裁的專用計算機系統二、MCU&#xff1a;Micro Controcler Unit 微控制單元->單片機1、特點&#xff1a;集成化高&#xff0c;集成到一塊芯片外設&#xff08;GPIO、UART、ADC&#xff09;…

Minimizing Coins(Dynamic Programming)

題目描述Consider a money system consisting of n coins. Each coin has a positive integer value. Your task is to produce a sum of money x using the available coins in such a way that the number of coins is minimal. For example, if the coins are {1,5,7} and t…

Kafka——關于Kafka動態配置

引言在Kafka的運維實踐中&#xff0c;參數配置的調整曾是一件令工程師頭疼的事情。傳統模式下&#xff0c;Broker的所有參數都需要在server.properties中靜態定義&#xff0c;任何修改都必須重啟Broker才能生效。對于承載著核心業務的生產集群而言&#xff0c;頻繁重啟不僅意味…

MSQL-聚簇索引與非聚簇索引的比較

聚簇索引詳解InnoDB 的聚簇索引特性表數據本身就是聚簇索引&#xff1a;數據行實際存儲在聚簇索引的葉子節點中"表就是索引&#xff0c;索引就是表"的結構每個InnoDB表有且只有一個聚簇索引聚簇索引的葉子節點存儲的是&#xff1a;真實數據主鍵作為聚簇索引&#xff…

語音識別數據集

目錄 Voice Activity Detection 自己采集&#xff1a; 1. ASR Resources&#xff08;語音識別資源&#xff09; 2. LM Resources&#xff08;語言模型資源&#xff09; 這是一個數據表&#xff1a; 噪聲數據集&#xff1a; Voice Activity Detection 自己采集&#xff1a…