DNS服務管理

一、概述

概念

Domain Name Service,一套分布式的域名服務系統,即有多個DNS服務器遍布于世界。每個DNS服務器上存放著大量的機器域名和IP地址的映射,并且是動態更新。眾多網絡客戶端程序都使用DNS協議來向DNS服務器查詢目標主機的IP地址。

作用

正向解析:將已知的域名解析為IP地址反向解析:將已知的IP地址解析為域名

監聽端口

? 53/udp | 53/TCP

默認運行用戶

? named

二、 完全限定域名

FQDN(Fully Qualified Domain Name)

組成

主機名.三級域.二級域名.頂級域名.

案例:www.baidu.com.

域類型
類型舉例
根域.
頂級域cn、hk、uk、org、edu、com、mil、gov、net
二級域baidu、163、sina、sohu

三、DNS解析過程

客戶端如何解析域名
  1. 本地DNS緩存

  2. 本地hosts文件,在DNS服務器誕生之前,所有的主機之間都是通過hosts文件進行的。

  3. 指向的DNS服務器IP:

遞歸查詢:直接給出解析結果,客戶機與本地DNS服務器之間的查詢。(所答即所問)?迭代查詢:沒有給出解析結果,本地DNS服務器與根等其他DNS服務器之間的查詢。(所答非所問)

四、域名服務器的分類

根據作用

? 1.根域名服務器:最高層次的域名服務器,也是最重要的域名服務器。所有的根域名服務器都知道所有的頂級域名服務器的域名和IP地址。? 2.頂級域名服務器:負責管理該頂級域名注冊的二級域名。? 3.權限域名服務器:負責一個“區”的域名服務器。? 4.本地域名服務器:本地域名服務器不屬于域名服務器的層次結構,但是它對域名系統非常重要。當一個主機發出DNS查詢請求時,這個查詢請求報文就發送給本地域名服務器。

根據應用場景

主服務器(Primary Name server) 為客戶端提供域名解析的主要區域,主DNS服務器宕機,會啟用從DNS服務器提供服務。輔助服務器(Second Name Server) 主服務器DNS長期無應答,從服務器也會停止提供服務,主從區域治安的同步采用周期性檢查+通知的機制,從服務器周期性地檢查主服務器上地記錄情況,一旦發現修改就會同步,另外主服務器上如果又數據被修改了,會立即通知從服務器更新記錄。高速緩存服務器(Cache-only server) 緩存服務器是一種不負責域名數據維護,也不負責域名解析地DNS服務類型。它將用戶經常使用到的域名與IP地址解析記錄保存在主機本地中,來提升下次解析的效率。

五、DNS服務器部署

使用的bind軟件包進行安裝實現DNS解析服務!!

安裝bind包

[root@localhost ~]# yum install -y bind

核心文件解析

[root@localhost ~]# rpm -ql bind
/etc/named.conf #服務主配置文件
/etc/named.rfc1912.zones #服務主配置的額外配置文件
/var/named #區域文件數據目錄
/var/named/named.ca #可信的根域名服務器,不要擅自更改
/var/named/named.empty #區域文件的模版文件
/var/named/named.localhost #區域文件的本地接口模版文件
/var/named/named.loopback #區域文件回環接口的模版文件
/var/named/slaves #從服務器的區域數據存儲目錄
/var/log/named.log #服務日志文件

命令解析

/usr/sbin/named     #主服務運行命令
/usr/sbin/named-checkconf #服務主配置語法檢查命令
/usr/sbin/named-checkzone #區域文件配置語法檢查命令
/usr/sbin/named-journalprint #打印named程序運行日志

配置文件詳解

服務主配置文件

六、配置主服務器單點架構

服務主文件配置

//
// 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.html

options {
?? ?listen-on port 53 { 192.168.115.128; };
?? ?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; };

?? ?/*?
?? ? - If you are building an AUTHORITATIVE DNS server, do NOT enable recursion.
?? ? - If you are building a RECURSIVE (caching) DNS server, you need to enable?
?? ? ? recursion.?
?? ? - If your recursive DNS server has a public IP address, you MUST enable access?
?? ? ? control to limit queries to your legitimate users. Failing to do so will
?? ? ? cause your server to become part of large scale DNS amplification?
?? ? ? attacks. Implementing BCP38 within your network would greatly
?? ? ? reduce such attack surface?
?? ?*/
?? ?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";
};

include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";

定義區域文件配置

// named.rfc1912.zones:
//
// Provided by Red Hat caching-nameserver package 
//
// ISC BIND named zone configuration for zones recommended by
// RFC 1912 section 4.1 : localhost TLDs and address zones
// and http://www.ietf.org/internet-drafts/draft-ietf-dnsop-default-local-zones-02.txt
// (c)2007 R W Franks
// 
// See /usr/share/doc/bind*/sample/ for example named configuration files.
//
?
zone "jx.com" IN {type master;file "jx.com.zone";allow-update { none; };
};
?
?
?
zone "115.168.192.in-addr.arpa" IN {type master;file "192.168.115.zone";allow-update { none; };
};
?

正向解析文件配置

[root@localhost named]# cat jx.com.zone
$TTL 3H
@?? ?IN SOA?? ?jx.com. root.jx.com. (
?? ??? ??? ??? ??? ?0?? ?; serial
?? ??? ??? ??? ??? ?1D?? ?; refresh
?? ??? ??? ??? ??? ?1H?? ?; retry
?? ??? ??? ??? ??? ?1W?? ?; expire
?? ??? ??? ??? ??? ?3H )?? ?; minimum
@?? ??? ?NS?? ?dns1.jx.com.
dns1?? ?A?? ?192.168.115.128
www?? ??? ?A?? ?192.168.115.129
mail?? ?A?? ?192.168.115.130
ftp?? ??? ?A?? ?192.168.115.131
ww?? ??? ?CNAME?? ?www.jx.com.
mail?? ?MX 10?? ?mail.jx.com.

反向解析文件配置

[root@localhost named]# cat 192.168.115.zone
$TTL 3H
@?? ?IN SOA?? ?jx.com. root.jx.com. (
?? ??? ??? ??? ??? ?0?? ?; serial
?? ??? ??? ??? ??? ?1D?? ?; refresh
?? ??? ??? ??? ??? ?1H?? ?; retry
?? ??? ??? ??? ??? ?1W?? ?; expire
?? ??? ??? ??? ??? ?3H )?? ?; minimum
@?? ?NS?? ?dns1.jx.com.
128?? ?PTR?? ?dns1.jx.com.
129?? ?PTR?? ?www.jx.com.
130?? ?PTR?? ?mail.jx.com.
131?? ?PTR?? ?ftp.jx.com.

啟動服務

[root@localhost named]# systemctl start named

解析測試

###配置DNS服務器地址
[root@localhost named]# cat /etc/resolv.conf
# Generated by NetworkManager
nameserver 192.168.115.128
###安裝nslookup
[root@localhost named]# yum install -y bind-utils
###解析測試
[root@localhost named]# nslookup 192.168.115.128
#####或者
[root@localhost named]# dig www.jx.com

; <<>> DiG 9.11.4-P2-RedHat-9.11.4-26.P2.el7_9.15 <<>> www.jx.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 10364
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;www.jx.com.?? ??? ??? ?IN?? ?A

;; ANSWER SECTION:
www.jx.com.?? ??? ?10800?? ?IN?? ?A?? ?192.168.115.129

;; AUTHORITY SECTION:
jx.com.?? ??? ??? ?10800?? ?IN?? ?NS?? ?dns1.jx.com.

;; ADDITIONAL SECTION:
dns1.jx.com.?? ??? ?10800?? ?IN?? ?A?? ?192.168.115.128

;; Query time: 0 msec
;; SERVER: 192.168.115.128#53(192.168.115.128)
;; WHEN: 二 1月 16 12:19:29 CST 2024
;; MSG SIZE ?rcvd: 90

七、 配置DNS主從架構

主服務配置

服務主文件配置

//
// 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.html

options {
?? ?listen-on port 53 { 192.168.115.128; };
?? ?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; };

?? ?/*?
?? ? - If you are building an AUTHORITATIVE DNS server, do NOT enable recursion.
?? ? - If you are building a RECURSIVE (caching) DNS server, you need to enable?
?? ? ? recursion.?
?? ? - If your recursive DNS server has a public IP address, you MUST enable access?
?? ? ? control to limit queries to your legitimate users. Failing to do so will
?? ? ? cause your server to become part of large scale DNS amplification?
?? ? ? attacks. Implementing BCP38 within your network would greatly
?? ? ? reduce such attack surface?
?? ?*/
?? ?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";
};

include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";

故障模擬

###關閉master服務器的NDS服務后,使用客戶端進行解析,觀察解析結果###
[root@localhost named]# systemctl stop named

八、配置DNS智能解析(視圖解析或分區域解析)

智能解析(也稱為視圖解析或分區域解析)允許根據客戶端IP地址返回不同的解析結果。以下是配置Bind DNS實現智能解析的詳細步驟:

1. 安裝Bind軟件

# 在CentOS/RHEL上
yum install bind bind-utils -y

# 在Debian/Ubuntu上
apt-get install bind9 bind9utils -y

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

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

相關文章

自定義類型:結構體、聯合與枚舉(2)

目錄 前言 一、 聯合體類型的聲明 介紹&#xff1a; 注意&#xff1a; 二、 聯合體的特點 介紹&#xff1a; 代碼舉例&#xff1a; 三、聯合體??的計算 介紹&#xff1a; 聯合體大小的計算規則 1. 基礎規則 1. 確定最大成員大小 2. 計算對齊模數的最小公倍數 3…

Oceanbase下使用TPC-H模式生成數據

1.下載tpc-h http://www.tpc.org/ 點擊下載始終彈出這個畫面&#xff0c;嘗試了多種方法無效&#xff0c;最后選擇科學上網工具&#xff0c;才正常下載。 通過網盤分享的文件&#xff1a;TPC-H-Toolv3.zip 鏈接: https://pan.baidu.com/s/14CXrp7v_7XkPtXfFLkziBQ?pwdqf5t 提…

LeetCode 面試經典 150_哈希表_單詞規律(41_290_C++_簡單)

LeetCode 面試經典 150_哈希表_單詞規律&#xff08;41_290_C_簡單&#xff09;題目描述&#xff1a;輸入輸出樣例&#xff1a;題解&#xff1a;解題思路&#xff1a;思路一&#xff08;哈希表&#xff09;&#xff1a;代碼實現代碼實現&#xff08;思路一&#xff08;哈希表&a…

librespeed c++ 上傳下載帶寬測試 排坑全流程

在搭建 LibreSpeed 測速服務并實現基于 curl/API 的上傳下載測試時&#xff0c;遇到 Nginx 配置沖突、PHP 權限異常等問題。本文將梳理從環境搭建到功能驗證的全流程&#xff0c;針對 “curl 上傳報 404/405”“PHP-FPM 權限拒絕”等典型問題&#xff0c;提供可復現的解決方案。…

重讀生成概率模型1----基礎概念

1 KL 散度 KL 散度的作為是描述兩個分布的差異的&#xff0c;首先是度量一個分布&#xff0c;用熵來度量。 1.1 熵 在介紹熵之間&#xff0c;首先要度量單個事件的信息量 I(x)?logP(x)I(x)-logP(x)I(x)?logP(x) 整體的信息量 H(P)Ex P[?logP(x)]?∑P(x)logP(x) \begin{alig…

排查解決磁盤占用高問題(容器掛載的磁盤)

最近遇到磁盤占用高的告警&#xff0c;記錄一下解決的思路。 首先是系統觸發告警&#xff0c;通知我們某臺機器磁盤占用高。&#xff08;或其他途徑得知&#xff09; 通過XShell登錄該機器。 執行df-h命令查看掛載占用情況找到真正占用高的掛載點掛載點/home目錄占用高&#xf…

流體(1)

流體 Minecraft 中的流體(Fluid),也常被稱為液體(Liquid),是一類能夠自由流動、形成河流、瀑布或湖泊的特殊方塊。它們的行為基于簡化的流體力學,是游戲世界中動態環境的重要組成部分。 ?? 流體是什么? 在 Minecraft 中,流體核心特點包括: 源方塊與流動:每個流…

機器學習-卷積神經網絡(CNN)

全連接層->卷積層 用有一個隱藏層的MLP訓練ImageNet數據集&#xff08;300*300的圖像&#xff0c;有1000個類別&#xff09;&#xff0c;要有10000個輸出 會有10億個可學習的參數&#xff0c;量太大 全連接&#xff1a;一個輸出是根據所有輸入加權得到在圖片中識別物體&…

Ubuntu 磁盤擴容與擴容失敗問題解決( df -h 與 GParted 顯示空間不一致的問題 -LVM)

在管理 Linux 磁盤時&#xff0c;你是否遇到過這樣的困惑&#xff1a;正常擴容之后&#xff0c;發現GParted 顯示某個分區還有幾十 GiB 可用&#xff0c;但 df -h 卻提示該分區已接近滿額&#xff1f;這種 “空間幻覺” 背后是系統存儲管理的分層設計&#xff0c;本文將從原理到…

PyQt5中QLineEdit控件數值顯示與小數位數控制

在PyQt5應用程序開發中&#xff0c;QLineEdit控件常用于顯示和編輯文本內容。當需要用它來顯示數值并控制小數位數時&#xff0c;開發者需要掌握一些特定的技巧。本文將深入探討幾種實現方法&#xff0c;每種方法都附帶完整獨立的代碼示例。 數值格式化基礎 在Python中&#xf…

LangChain使用方法以OpenAI 的聊天模型GPT-4o為例

以使用 OpenAI 的聊天模型&#xff08;如 GPT-4&#xff09;為例&#xff0c;從設置環境、初始化模型、調用模型到處理響應的各個方面進行介紹&#xff1a; 1. 環境設置 安裝 langchain-openai 包。設置環境變量 OPENAI_API_KEY&#xff0c;用于認證&#xff08;以linux為例&am…

Oracle為數據大表創建索引方案

在日常業務中&#xff0c;避免不了為數據量大表補充創建索引的情況&#xff0c;如果快速、有效地創建索引成了一個至關重要的問題&#xff08;注意&#xff1a;雖然提供有ONLINE在線執行的方式&#xff0c;理想狀態下不會阻塞DML操作&#xff0c;但ONLINE在開始、結束的兩個時刻…

網站服務相關問題

目錄 HTTP常見的狀態碼 http和https的區別以及使用的端口號 http處理請求的過程 https認證過程 正向代理和反向代理的區別 HTTP常見的狀態碼 HTTP&#xff08;超文本傳輸協議&#xff09;定義了一系列的狀態碼&#xff0c;用于表示客戶端請求的處理結果。以下是一些常見的…

Go并發編程實戰:深入理解Goroutine與Channel

Go并發編程實戰&#xff1a;深入理解Goroutine與ChannelGo并發編程實戰&#xff1a;深入理解Goroutine與Channel概述1. 為什么是Go的并發&#xff1f;從“線程”與“協程”說起2. Goroutine&#xff1a;如何使用&#xff1f;3. Channel&#xff1a;Goroutine間的安全通信創建與…

2025服貿會“海淀之夜”,點亮“科技”與“服務”底色

2025年9月12日傍晚&#xff0c;北京頤和園&#xff0c;十七孔橋旁&#xff0c;2025年中國國際服務貿易交易會“海淀之夜”如約而至。在“海淀之夜”&#xff0c;科技機構、金融機構、咨詢服務機構、出海服務企業以及跨國企業和國際友人等&#xff0c;將目光聚焦于此。被第三方機…

qt使用camke時,采用vcpkg工具鏈設置VTK的qt模塊QVTKOpenGLNativeWidget

下載:QVTKOpenGLNativeWidget嵌入qt應用中資源-CSDN下載 1.通過vcpkg安裝VTK,目前的VTK里面默認為qt6,如果需要安裝qt5,需要將端口配置進行修改 筆者的vcpkg的vtk端口路徑:D:\vcpkg\ports\vtk portfile.cmake 修改點: #第一處 #file(READ "${CURRENT_INSTALLED_DIR}/sh…

Axios在鴻蒙應用開發中的使用

目錄一、簡介二、安裝與配置三、axios用法1.axios泛型參數(1).第三個泛型參數-約束data請求參數的類型(2).第二個泛型參數-決定后臺返回數據的類型2.axios攔截器3.請求工具封裝統一處理業務狀態碼錯誤統一處理401或404錯誤一、簡介 Axios 是一個基于 Promise 的網絡請求庫&…

第九周文件上傳

文件上傳漏洞 不同的網站要不同的webshell。我們使用是php開發的網站。 一服務器白名單繞過 服務端白名單(Whitelist)是?種安全機制&#xff0c;它只允許預定義的合法元素通過&#xff08;只有有限的元素進入&#xff09;&#xff0c;其他所有內容默認被拒絕。相比黑名單&am…

計算機視覺必讀論文:從經典到前沿

計算機視覺必讀論文:從經典到前沿 一、前言 二、經典論文解讀? 2.1 圖像分類? 2.1.1 《ImageNet Classification with Deep Convolutional Neural Networks》(AlexNet)? 2.1.2 《Very Deep Convolutional Networks for Large-Scale Image Recognition》(VGGNet)? 2.1.…

對比PowerBI的字段參數,QuickBI的已選字段還有改進的空間

對比PowerBI的字段參數&#xff0c;QuickBI的已選字段還有改進的空間 之前分享過QuickBI的已選字段 vs PowerBI的字段參數&#xff0c;QuickBI可以在表格中實現PowerBI的字段參數效果&#xff0c;甚至比PowerBI實現的過程和使用方式更絲滑。 但如果應用到圖形中會怎么樣呢&am…