域名系統DNS

DNS介紹

  • DNS是一個域名系統,在互聯網環境中為域名和IP地址相互映射的一個分布式數據庫 , 能夠使用戶更方便的訪問互聯網,而不用去記住能夠被機器直接讀取的IP數串。類似于生活中的114服務,可以通過人名找到電話號碼,也可以通過電話號碼找到人名(生活中沒有那么準確的原因是人名有重名,而域名是全世界唯一的)。
  • ONS協議運行在UDP協議之上,使用端口號53
  • 應用場景:需要域名解析的地方

DNS查詢

DNS服務器部署

DNS安裝

yum -y install bind bind-chroot
  • bind DNS主程序包
  • bind-chroot DNS安全包,改變默認DNS根目錄,將DNS運行在監牢模式

DNS啟動

  • 方法一:不使用chroot模式啟動DNS
開啟開機啟動
systemctl enable named
# Created symlink from /etc/systemd/system/multi-user.target.wants/named.service to /usr/lib/systemd/system/named.service.啟動DNS服務
systemctl start named
  • 方法二:使用chroot模式DNS
將對應的文件移動到chroot根目錄
主配文件
cp -p /etc/named.conf /var/named/chroot/etc/
chgrp named /var/named/chroot/etc/named.conf
named-checkconf /var/named/chroot/etc/named.conf區域數據庫文件
cp /var/named/named.localhost /var/named/chroot/var/named/ayitula.com.zone
chgrp named /var/named/chroot/var/named/ayitula.com.zone
cp -p /var/named/named.*/var/named/chroot/var/named/啟動DNS服務
開機啟動
systemctl enable named-chroot.service
# Created symlink from /etc/systemd/system/multi-user.target.wants/named-chroot.service to /usr/lib/systemd/system/named-chroot.service.啟動服務
systemctl start named-chroot


DNS配置文件詳解

  1. 默認情況下,如果不安裝named-chroot這個包,配置文件的路徑如下:
  2. 配置文件:/etc/named.conf
  3. 區域數據庫文件:/var/named/

  1. 由于我們安裝了named-chroot這個用于改變默認DNS配置文件的路徑的包,所以相對應的配置文件的路徑也發生了變化。變化如下 :
  2. 配置文件:/var/named/chroot/etc/named.conf
  3. 區域數據庫文件:/var/named/chroot/var/named/

域名解析

正向解析

案例:對yudan.com域名做解析,解析要求如下:www解析為A記錄IP地址為192.168.10.88,news做別名解析CNAME解析為www

  • 修改主配文件 /var/named/chroot/etc/named.conf
//
// named.conf
//
// Provided by Red Hat bind package to configure the ISC BIND named(8) DNS
// server as a caching only nameserver (as a localhost DNS resolver only).
//
// See /usr/share/doc/bind*/sample/ for example named configuration files.
//
// See the BIND Administrator's Reference Manual (ARM) for details about the
// configuration located in /usr/share/doc/bind-{version}/Bv9ARM.htmloptions {listen-on port 53 { 192.168.10.110; };//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; };recursion yes;//dnssec-enable yes;//dnssec-validation yes;/* Path to ISC DLV key *///bindkeys-file "/etc/named.root.key";//managed-keys-directory "/var/named/dynamic";pid-file "/run/named/named.pid";session-keyfile "/run/named/session.key";
};//logging {
//        channel default_debug {
//                file "data/named.run";
//                severity dynamic;
//        };
//};zone "." IN {type hint;file "named.ca";
};zone "yudan.com" IN {// hint master slave forwardtype master;file "yudan.com.zone";
}
  • 切換到/var/named/chroot/var/named/目錄下

// 自己復制一個區域數據文件
cp named.localhost yudan.com.zone
  • ?修改yudan.com.zone配置文件
$TTL 1D
yudan.com.	IN SOA	ns1.yudan.com. rname.invalid. (0	; serial1D	; refresh1H	; retry1W	; expire3H )	; minimumNS	ns1.yudan.com.
;A
;PTR
;Mx
;CNAME
ns1	A	192.168.10.110
www	A	192.168.10.88
news	CNAME	www
// 檢查主配文件
named-checkconf /var/named/chroot/etc/named.conf
// 檢查區域數據文件
named-checkzone yudan.com /var/named/chroot/var/named/yudan.com.zone

域名解析命令

  • host:host采用非交互式解析
  • nslookup:nslookup可以采用交互或非交互式解析
  • dig:dig顯示詳細的解析流程
// host命令
[root@Server named]# host www.yudan.com
www.yudan.com has address 192.168.10.88
[root@Server named]# host news.yudan.com
news.yudan.com is an alias for www.yudan.com.
www.yudan.com has address 192.168.10.88// nslookup命令
[root@Server named]# nslookup www.yudan.com
Server:		192.168.10.110
Address:	192.168.10.110#53Name:	www.yudan.com
Address: 192.168.10.88// dig命令
[root@Server named]# dig www.yudan.com; <<>> DiG 9.11.4-P2-RedHat-9.11.4-26.P2.el7_9.16 <<>> www.yudan.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 23645
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;www.yudan.com.			IN	A;; ANSWER SECTION:
www.yudan.com.		86400	IN	A	192.168.10.88;; AUTHORITY SECTION:
yudan.com.		86400	IN	NS	ns1.yudan.com.;; ADDITIONAL SECTION:
ns1.yudan.com.		86400	IN	A	192.168.10.110;; Query time: 0 msec
;; SERVER: 192.168.10.110#53(192.168.10.110)
;; WHEN: 日 4月 27 11:44:00 CST 2025
;; MSG SIZE  rcvd: 92

反向解析

案例:對www.yudan.com做反向解析,其對應的lP地址為192.168.10.88

  • 配置主配文件named.conf
//
// named.conf
//
// Provided by Red Hat bind package to configure the ISC BIND named(8) DNS
// server as a caching only nameserver (as a localhost DNS resolver only).
//
// See /usr/share/doc/bind*/sample/ for example named configuration files.
//
// See the BIND Administrator's Reference Manual (ARM) for details about the
// configuration located in /usr/share/doc/bind-{version}/Bv9ARM.htmloptions {listen-on port 53 { 192.168.10.110; };//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; };recursion yes;//dnssec-enable yes;//dnssec-validation yes;/* Path to ISC DLV key *///bindkeys-file "/etc/named.root.key";//managed-keys-directory "/var/named/dynamic";pid-file "/run/named/named.pid";session-keyfile "/run/named/session.key";
};//logging {
//        channel default_debug {
//                file "data/named.run";
//                severity dynamic;
//        };
//};zone "." IN {type hint;file "named.ca";
};zone "yudan.com" IN {// hint master slave forwardtype master;file "yudan.com.zone";
};// 反向解析IP地址
zone "10.168.192.in-addr.arpa" IN {type master;file "192.168.10.arpa";
};
  • 配置區域數據庫文件192.168.10.arpa
$TTL 1D
10.168.192.in-addr.arpa.	IN SOA	ns1.yudan.com. rname.invalid. (0	; serial1D	; refresh1H	; retry1W	; expire3H )	; minimumNS	ns1.yudan.com.
88	PTR	www.yudan.com.

主從同步

DNS主從

  • 主配置文件不會同步
  • 同步的是區域數據庫文件

更改slave節點的主配文件

//
// named.conf
//
// Provided by Red Hat bind package to configure the ISC BIND named(8) DNS
// server as a caching only nameserver (as a localhost DNS resolver only).
//
// See /usr/share/doc/bind*/sample/ for example named configuration files.
//
// See the BIND Administrator's Reference Manual (ARM) for details about the
// configuration located in /usr/share/doc/bind-{version}/Bv9ARM.htmloptions {listen-on port 53 { 192.168.10.120; };//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; };recursion yes;//dnssec-enable yes;//dnssec-validation yes;/* Path to ISC DLV key *///bindkeys-file "/etc/named.root.key";//managed-keys-directory "/var/named/dynamic";pid-file "/run/named/named.pid";session-keyfile "/run/named/session.key";
};//logging {
//        channel default_debug {
//                file "data/named.run";
//                severity dynamic;
//        };
//};zone "." IN {type hint;file "named.ca";
};zone "yudan.com" IN {// hint master slave forwardtype slave;file "yudan.com.zone";masters { 192.168.10.110; };
};zone "10.168.192.in-addr.arpa" IN {type slave;file "192.168.10.arpa";masters { 192.168.10.110; };
};

?智能解析

在我們訪問WEB的時候,發現有的網站打開的速度非常快,有的網站打開的非常慢,這是為什么呢?原因就是很多公司為了提升用戶的體驗,自己的網站使用了CDN內容加速服務,讓你直接在你本地城市的服務器上拿數據并展示給你看。什么是CDN我們暫且理解為本地緩存服務器就好,那么你是怎么準確知道你本地的緩存服務器的呢!因為很多CDN公司的DNS使用了智能解析服務,根據你的源IP判斷你屬于哪個城市,讓后再把本地的緩存服務器解析給你,你就會直接去找該服務器拿數據了。
?

在DNS中植入全世界的IP庫以及IP對應的地域,當用戶來請求解析時,DNS會根據其源IP來定位他屬于哪個區域,然后去找這個區域的view視圖查詢對應的域名的區域數據庫文件做解析。從而使得不同地域的用戶解析不同。

//
// named.conf
//
// Provided by Red Hat bind package to configure the ISC BIND named(8) DNS
// server as a caching only nameserver (as a localhost DNS resolver only).
//
// See /usr/share/doc/bind*/sample/ for example named configuration files.
//
// See the BIND Administrator's Reference Manual (ARM) for details about the
// configuration located in /usr/share/doc/bind-{version}/Bv9ARM.htmloptions {listen-on port 53 { 192.168.10.110; };//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; };recursion yes;//dnssec-enable yes;//dnssec-validation yes;/* Path to ISC DLV key *///bindkeys-file "/etc/named.root.key";//managed-keys-directory "/var/named/dynamic";pid-file "/run/named/named.pid";session-keyfile "/run/named/session.key";masterfile-format text;
};//logging {
//        channel default_debug {
//                file "data/named.run";
//                severity dynamic;
//        };
//};acl bj {192.168.10.110;
};acl sh {1.2.2.2;
};view beijing {match-clients { bj; };zone "." IN {type hint;file "named.ca";};zone "yudan.com" IN {// hint master slave forwardtype master;file "yudan.com.zone.bj";};
};  // 閉合 beijing viewview shanghai {match-clients { sh; };zone "." IN {type hint;file "named.ca";};zone "yudan.com" IN {// hint master slave forwardtype master;file "yudan.com.zone.sh";};
};  // 閉合 shanghai viewview other {match-clients { bj; };zone "." IN {type hint;file "named.ca";};zone "yudan.com" IN {// hint master slave forwardtype master;file "yudan.com.zone.ot";};
};  // 閉合 other view


?

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

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

相關文章

Spark Streaming核心編程總結(四)

一、有狀態轉化操作&#xff1a;UpdateStateByKey 概念與作用 UpdateStateByKey 用于在流式計算中跨批次維護狀態&#xff08;如累加統計詞頻&#xff09;。它允許基于鍵值對形式的DStream&#xff0c;通過自定義狀態更新函數&#xff0c;將歷史狀態與新數據結合&#xff0c;生…

Dijkstra 算法代碼步驟[leetcode.743網絡延遲時間]

有 n 個網絡節點&#xff0c;標記為 1 到 n。 給你一個列表 times&#xff0c;表示信號經過 有向 邊的傳遞時間。 times[i] (ui, vi, wi)&#xff0c;其中 ui 是源節點&#xff0c;vi 是目標節點&#xff0c; wi 是一個信號從源節點傳遞到目標節點的時間。 現在&#xff0c;…

【java】lambda表達式總結

目錄 一、面向對象的處理方法 二、函數式編程的處理方法 先使用匿名內部類&#xff1a; lambda改造&#xff1a; lambda改造規則 示例&#xff1a; 三、補充&#xff1a;函數式接口 大家好&#xff0c;我是jstart千語。今天總結一下lambda表達式。lambda表達式在后面的s…

AtCoder Beginner Contest 242 G - Range Pairing Query (莫隊)

每周五篇博客&#xff1a;&#xff08;5/5&#xff09; 我做到了&#xff01; https://atcoder.jp/contests/abc242/tasks/abc242_g 這題主要是想給大家提供一份莫隊的板子&#xff0c;很多莫隊題基本上填空就差不多了&#xff08; 板子 void solve() {int n;std::cin >…

淘寶商品主圖標題api接口

1、輸入淘寶商品id或者鏈接&#xff0c;點查詢 2、查詢淘寶商品主圖&#xff0c;商品標題&#xff0c;商品價格&#xff0c;賣家旺旺 3、支持api接口

文心一言開發指南06——千帆大模型平臺新手指南

版權聲明 本文原創作者&#xff1a;谷哥的小弟作者博客地址&#xff1a;http://blog.csdn.net/lfdfhl 千帆大模型平臺為新手用戶提供了一個全面的入門指南&#xff0c;以便用戶能夠快速熟悉平臺的操作和功能。千帆大模型平臺通過提供詳細的新手指南&#xff0c;確保用戶能夠順…

Pacman-N-queen

文檔 代碼及文檔&#xff1a;通過網盤分享的文件&#xff1a;code 鏈接: https://pan.baidu.com/s/1Rgo9ynnEqjZsSP2-6TyS8Q?pwdn99p 提取碼: n99p 補充核心代碼 核心代碼內容&#xff1a; genetic_algorithm,py # -*- coding: utf-8 -*- """ Created on …

常用的多傳感器數據融合方法

1. 概述 根據具體需求&#xff08;實時性、計算資源、噪聲特性&#xff09;選擇合適的方法&#xff0c;實際應用中常結合多種方法&#xff08;如UKF與神經網絡結合&#xff09;。 傳統方法 &#xff08;KF/EKF/UKF/PF&#xff09;依賴數學模型&#xff0c;適合動態系統&#…

簡單幾步,開啟 Intel VT-x 讓電腦“解開CPU封印”

#vmware #虛擬機 #cpu虛擬化 # Intel VT-x 前言 你是不是也遇到過這種情況&#xff1a;在嘗試運行虛擬機&#xff08;VM&#xff09;、安卓模擬器&#xff0c;或者使用 Windows 沙盒、WSL2 等功能時&#xff0c;遇到了類似“此主機支持 Intel VT-x&#xff0c;但 Intel VT-x …

Go語言--語法基礎4--基本數據類型--字符串類型

在 Go 語言中&#xff0c;字符串也是一種基本類型。相比之下&#xff0c; C/C 語言中并不存在原 生的字符串類型&#xff0c; 通常使用字符數組來表示&#xff0c;并以字符指針來傳遞。 Go 語言中字符串的聲明和初始化非常簡單&#xff0c;舉例如下&#xff1a; var str st…

QT中的事件及其屬性

Qt中的事件是對操作系統提供的事件機制進行封裝&#xff0c;Qt中的信號槽就是對事件機制的進一步封裝 但是特殊情況下&#xff0c;如對于沒有提供信號的用戶操作&#xff0c;就需要通過重寫事件處理的形式&#xff0c;來手動處理事件的響應邏輯 常見的Qt事件&#xff1a; 常見事…

socket套接字-UDP(中)

socket套接字-UDP&#xff08;上&#xff09;https://blog.csdn.net/Small_entreprene/article/details/147465441?fromshareblogdetail&sharetypeblogdetail&sharerId147465441&sharereferPC&sharesourceSmall_entreprene&sharefromfrom_link UDP服務器…

C++入門小館: STL 之queue和stack

嘿&#xff0c;各位技術潮人&#xff01;好久不見甚是想念。生活就像一場奇妙冒險&#xff0c;而編程就是那把超酷的萬能鑰匙。此刻&#xff0c;陽光灑在鍵盤上&#xff0c;靈感在指尖跳躍&#xff0c;讓我們拋開一切束縛&#xff0c;給平淡日子加點料&#xff0c;注入滿滿的pa…

ALTER TABLE 刪除DROP表列的報錯: 因為有一個或多個對象訪問此列

目錄 1.問題 2.解決辦法 1.問題 刪除某個列名的時候&#xff0c;提示錯誤因為有一個或多個對象訪問此列 2.解決辦法 2.1 添加或刪除表新列名 將表中的字段設置Default 或 NOT NULL 都會給該字段添加約束&#xff0c;增加了這些約束后&#xff0c;再SQL腳本修改類型、刪除會發生…

python源碼打包為可執行的exe文件

文章目錄 簡單的方式&#xff08;PyInstaller&#xff09;特點步驟安裝 PyInstaller打包腳本得到.exe文件 簡單的方式&#xff08;PyInstaller&#xff09; 特點 支持 Python 3.6打包為單文件&#xff08;–onefile&#xff09;或文件夾形式自動處理依賴項 步驟 安裝 PyIns…

【2025最近Java面試八股】Spring中循環依賴的問題?怎么解決的?

1. 什么是循環依賴&#xff1f; 在Spring框架中&#xff0c;循環依賴是指兩個或多個bean之間相互依賴&#xff0c;形成了一個循環引用的情況。如果不加以處理&#xff0c;這種情況會導致應用程序啟動失敗。導致 Spring 容器無法完成依賴注入。 例如&#xff1a; Service publi…

JimuBI 積木報表 v1.9.5發布,大屏和儀表盤,免費數據可視化

項目介紹 JimuBI (積木報表BI) 是一款免費的數據可視化產品&#xff0c;含大屏和儀表盤、門戶、移動圖表&#xff0c;像搭建積木一樣完全在線設計&#xff01; 大屏采用類word風格&#xff0c;可以隨意拖動組件&#xff0c;想怎么設計怎么設計&#xff0c;可以像百度和阿里一樣…

云原生課程-Docker

一次鏡像&#xff0c;到處運行。 1. Docker詳解&#xff1a; 1.1 Docker簡介&#xff1a; Docker是一個開源的容器化平臺&#xff0c;可以幫助開發者將應用程序和其依賴的環境打包成一個可移植的&#xff0c;可部署的容器。 docker daemon:是一個運行在宿主機&#xff08;DO…

HikariCP 6.3.0 完整配置與 Keepalive 優化指南

HikariCP 6.3.0 完整配置與 Keepalive 優化指南 HikariCP 是一個高性能、輕量級的 JDBC 連接池框架&#xff0c;廣泛應用于 Java 應用&#xff0c;尤其是 Spring Boot 項目。本文檔基于 HikariCP 6.3.0 版本&#xff0c;詳細介紹其功能、配置參數、Keepalive 機制以及優化建議…

基于springboot+vue的攝影師分享交流社區的設計與實現

開發語言&#xff1a;Java框架&#xff1a;springbootJDK版本&#xff1a;JDK1.8服務器&#xff1a;tomcat7數據庫&#xff1a;mysql 5.7&#xff08;一定要5.7版本&#xff09;數據庫工具&#xff1a;Navicat11開發軟件&#xff1a;eclipse/myeclipse/ideaMaven包&#xff1a;…