Linux-搭建DNS服務器

Linux-搭建DNS服務器

    • 1. 安裝軟件bind
    • 2.修改配置文件
    • 3. 在其他機器上測試DNS服務器
    • 4. 配置本地域名解析
    • 5. 優化后的zone


1. 安裝軟件bind

bind是歷史非常悠久,而且性能非常好的dns域名系統的軟件

[root@dns-server ~]# yum install bind bind-utils -y

啟動named服務

[root@dns-server ~]# service named restart
Redirecting to /bin/systemctl restart named.service

設置named服務開機啟動

[root@dns-server ~]# systemctl enable named
Created symlink from /etc/systemd/system/multi-user.target.wants/named.service to /usr/lib/systemd/system/named.service.

查看進程

[root@dns-server ~]# ps aux|grep named
named      14903  0.1  0.9 294348 33448 ?        Ssl  11:40   0:00 /usr/sbin/named -u named -c /etc/named.conf
root       14913  0.0  0.0   6636  2304 pts/0    S+   11:40   0:00 grep --color=auto named

查看開放udp 53號端口

[root@dns-server ~]# netstat -anplut|grep named
tcp        0      0 127.0.0.1:53            0.0.0.0:*               LISTEN      14125/named         
tcp        0      0 127.0.0.1:953           0.0.0.0:*               LISTEN      14125/named         
tcp6       0      0 ::1:53                  :::*                    LISTEN      14125/named         
tcp6       0      0 ::1:953                 :::*                    LISTEN      14125/named         
udp        0      0 127.0.0.1:53            0.0.0.0:*                           14125/named         
udp6       0      0 ::1:53                  :::*                                14125/named         

客戶機向dns服務器進行域名查詢的時候,訪問的是udp的53號端口
從域名服務器和主域名服務器之間復制數據的時候,訪問tcp的53號端口


2.修改配置文件

許其他電腦能過來查詢dns域名

[root@dns-server ~]# vim /etc/named.conf
options {listen-on port 53 { any; };  # 修改listen-on-v6 port 53 { any; }; # 修改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; };  # 修改

重新啟動named服務

[root@dns-server ~]# service named restart
Redirecting to /bin/systemctl restart named.service[root@dns-server ~]# netstat -anplut|grep named
tcp        0      0 192.168.168.139:53      0.0.0.0:*               LISTEN      14903/named         
tcp        0      0 127.0.0.1:53            0.0.0.0:*               LISTEN      14903/named         
tcp        0      0 127.0.0.1:953           0.0.0.0:*               LISTEN      14903/named         
tcp6       0      0 fe80::20c:29ff:fe11::53 :::*                    LISTEN      14903/named         
tcp6       0      0 ::1:53                  :::*                    LISTEN      14903/named         
tcp6       0      0 ::1:953                 :::*                    LISTEN      14903/named         
udp        0      0 192.168.168.139:53      0.0.0.0:*                           14903/named         
udp        0      0 192.168.168.139:53      0.0.0.0:*                           14903/named         
udp        0      0 127.0.0.1:53            0.0.0.0:*                           14903/named         
udp        0      0 127.0.0.1:53            0.0.0.0:*                           14903/named         
udp6       0      0 ::1:53                  :::*                                14903/named         
udp6       0      0 ::1:53                  :::*                                14903/named         
udp6       0      0 fe80::20c:29ff:fe11::53 :::*                                14903/named         
udp6       0      0 fe80::20c:29ff:fe11::53 :::*                                14903/named         

3. 在其他機器上測試DNS服務器

修改網卡配置文件里的dns

[root@web-1 ~]# cat /etc/NetworkManager/system-
[ipv4]
addresses1=192.168.168.136/24
dns=192.168.168.139;114.114.114.114
gateway=192.168.168.2
method=manual

修改/etc/resolv.conf里的dns服務器地址

[root@web-2 ~]# vim /etc/resolv.conf
# Generated by NetworkManager
nameserver 192.168.168.139
nameserver 114.114.114.114

使用nslookup和ping、dig命令進行dns域名查詢的測試

[root@web-1 ~]# nslookup www.qq.com
Server:		192.168.168.139
Address:	192.168.168.139#53Non-authoritative answer:
www.qq.com	canonical name = ins-r23tsuuf.ias.tencent-cloud.net.
Name:	ins-r23tsuuf.ias.tencent-cloud.net
Address: 121.14.77.221
Name:	ins-r23tsuuf.ias.tencent-cloud.net
Address: 121.14.77.201
Name:	ins-r23tsuuf.ias.tencent-cloud.net
Address: 240e:97c:2f:1::5c
Name:	ins-r23tsuuf.ias.tencent-cloud.net
Address: 240e:97c:2f:2::4c[root@web-1 ~]# dig +trace www.qq.com; <<>> DiG 9.16.23-RH <<>> +trace www.qq.com
;; global options: +cmd
.			517706	IN	NS	k.root-servers.net.
.			517706	IN	NS	l.root-servers.net.
.			517706	IN	NS	m.root-servers.net.
.			517706	IN	NS	j.root-servers.net.
.			517706	IN	NS	g.root-servers.net.
.			517706	IN	NS	e.root-servers.net.
.			517706	IN	NS	f.root-servers.net.
.			517706	IN	NS	a.root-servers.net.
.			517706	IN	NS	d.root-servers.net.
.			517706	IN	NS	h.root-servers.net.
.			517706	IN	NS	b.root-servers.net.
.			517706	IN	NS	i.root-servers.net.
.			517706	IN	NS	c.root-servers.net.
.			517706	IN	RRSIG	NS 8 0 518400 20250907170000 20250825160000 46441 . mY7x+l08DTrEZ0eYA2vEb2JO/0e8IT1FDe1yoA5fUcW5L+zltYWeJAGO b38sXm6G1qr7iV25QdR0L1eIWDKs793lsDytnzjNY364plixi/s6qY7J DPYqwRP/ADlbMBEn6c4CpttJ/FmVm9sTf0+3q7bXQLn3Y5qvq9RMFyzI 0cpqQ+39APVvaTR4AUvEGS5gs1mjyhepB0xk80yVZrTpHXYe7g4bo2Xm JLcX9xPzDuL5cqpirPcH46ZPi3Pf5708ImI9BRtSfOiODNK7DrxtTd+u CRJiFjtLKN6GVebAcJ6tLAvqXyF8X3hxmPavwE7PwBK4b6QdtP/kvWcf wWsrRw==
;; Received 1137 bytes from 192.168.168.139#53(192.168.168.139) in 1 mscom.			172800	IN	NS	a.gtld-servers.net.
com.			172800	IN	NS	b.gtld-servers.net.
com.			172800	IN	NS	c.gtld-servers.net.
com.			172800	IN	NS	d.gtld-servers.net.
com.			172800	IN	NS	e.gtld-servers.net.
com.			172800	IN	NS	f.gtld-servers.net.
com.			172800	IN	NS	g.gtld-servers.net.
com.			172800	IN	NS	h.gtld-servers.net.
com.			172800	IN	NS	i.gtld-servers.net.
com.			172800	IN	NS	j.gtld-servers.net.
com.			172800	IN	NS	k.gtld-servers.net.
com.			172800	IN	NS	l.gtld-servers.net.
com.			172800	IN	NS	m.gtld-servers.net.
com.			86400	IN	DS	19718 13 2 8ACBB0CD28F41250A80A491389424D341522D946B0DA0C0291F2D3D7 71D7805A
com.			86400	IN	RRSIG	DS 8 1 86400 20250907170000 20250825160000 46441 . SU62OxdtF2cFhsGwICOfoGhxXzzt7FpxbiVMpLGHwoRacnEZoxFTpjRe 8cj0GbCyvMvnrwpue4hqNQaQcmZtSWXXk2XcGJH8Vi+8TUOH2tKzBZsf ls0Fk50SE5D8DPLUT8+zttxS7oXHHAZ4WNqypaDOpwVglg9kcO8Fa+Ob BHOQJxpipISPlAJnHhkVeF/M4O5+O2PNMtG1GPvgtY4v9CK5KeY7fgP9 1lNpOx5oqHKZOw5rGiwaA7qaRz1T91Vsed97it0+74Sf6f/hu5RcNz+y bsMtkqZJYtVKQLv8kylZYJrGNCtsnHPs2XUUakhBqk8FWjB6xfDzRkBv 7L7Qlw==
;; Received 1170 bytes from 192.58.128.30#53(j.root-servers.net) in 31 msqq.com.			172800	IN	NS	ns1.qq.com.
qq.com.			172800	IN	NS	ns2.qq.com.
qq.com.			172800	IN	NS	ns3.qq.com.
qq.com.			172800	IN	NS	ns4.qq.com.
CK0POJMG874LJREF7EFN8430QVIT8BSM.com. 900 IN NSEC3 1 1 0 - CK0Q3UDG8CEKKAE7RUKPGCT1DVSSH8LL NS SOA RRSIG DNSKEY NSEC3PARAM
CK0POJMG874LJREF7EFN8430QVIT8BSM.com. 900 IN RRSIG NSEC3 13 2 900 20250831015158 20250824004158 20545 com. KwEWamEC8pX2daXBOa2BY/AGCUCb+3Khm5Ao6bpOsD8Aj1En1mb2hO00 CtpTsH5JQu5HQD8QFWyb6ss6/vz3Mg==
J976KA284HT3M5K6UPOCJ48OPMNH64L7.com. 900 IN NSEC3 1 1 0 - J976V9IM8597ALLH81MQKOSCKFOC08F5 NS DS RRSIG
J976KA284HT3M5K6UPOCJ48OPMNH64L7.com. 900 IN RRSIG NSEC3 13 2 900 20250901010018 20250824235018 20545 com. J22cVFtGgGQrxVKJhn7ImrWmFzsAjHRwsrLp2PPT3Gbp3Oi/rb1V+O/3 Fx8YOv7RrfzbO2vOMC6UAhF4L22RmQ==
;; Received 812 bytes from 192.48.79.30#53(j.gtld-servers.net) in 185 mswww.qq.com.		86400	IN	NS	ns-os1.qq.com.
www.qq.com.		86400	IN	NS	ns-cmn1.qq.com.
www.qq.com.		86400	IN	NS	ns-tel1.qq.com.
www.qq.com.		86400	IN	NS	ns-cnc1.qq.com.
;; Received 382 bytes from 203.205.220.251#53(ns1.qq.com) in 196 ms;; Received 39 bytes from 43.159.167.133#53(ns-os1.qq.com) in 188 ms

4. 配置本地域名解析

搭建主域名服務器,提供特定域名的解析,如:huang.com

編輯/etc/named.rfc1912.zones文件

[root@dns-server ~]# vim /etc/named.rfc1912.zones 
zone "huang.com" IN {type master;file "huang.com.zone";allow-update { none; };
};

創建解析記錄文件

[root@dns-server ~]# cd /var/named
[root@dns-server named]# ls
data  dynamic  named.ca  named.empty  named.localhost  named.loopback  slaves
[root@dns-server named]# cp -a named.localhost  huang.com.zone
[root@dns-server named]# ll
總用量 20
drwxrwx--- 2 named named   23  826 11:35 data
drwxrwx--- 2 named named   60  826 11:40 dynamic
-rw-r----- 1 root  named  152  730 03:50 huang.com.zone
-rw-r----- 1 root  named 2112  730 03:50 named.ca
-rw-r----- 1 root  named  152  730 03:50 named.empty
-rw-r----- 1 root  named  152  730 03:50 named.localhost
-rw-r----- 1 root  named  168  730 03:50 named.loopback
drwxrwx--- 2 named named    6  730 03:49 slaves[root@dns-server named]# vim huang.com.zone 
$TTL 1D
@	IN SOA	@ rname.invalid. (1	; serial1D	; refresh1H	; retry1W	; expire3H )	; minimumNS	@A	192.168.168.139AAAA	::1
www  IN A	192.168.168.133
web1 IN A	192.168.168.136
web2 IN A	192.168.168.137
nfs  IN A	192.168.168.139
web IN A CNAME www

檢查配置并啟動服務

[root@dns-server named]# named-checkconf /etc/named.rfc1912.zones
[root@dns-server named]# named-checkzone huang.com /var/named/huang.com.zone
zone huang.com/IN: loaded serial 1
OK
[root@dns-server named]# service named restart
Redirecting to /bin/systemctl restart named.service

用nslookup測試

[root@web-1 ~]# nslookup www.huang.com
Server:		192.168.168.139
Address:	192.168.168.139#53Name:	www.huang.com
Address: 192.168.168.133[root@web-1 ~]# nslookup nfs.huang.com
Server:		192.168.168.139
Address:	192.168.168.139#53Name:	nfs.huang.com
Address: 192.168.168.139[root@web-1 ~]# nslookup web1.huang.com
Server:		192.168.168.139
Address:	192.168.168.139#53Name:	web1.huang.com
Address: 192.168.168.136[root@web-1 ~]# nslookup web.huang.com
Server:		192.168.168.139
Address:	192.168.168.139#53web.huang.com	canonical name = www.huang.com.
Name:	www.huang.com
Address: 192.168.168.133

5. 優化后的zone

增加MX記錄、@、*、NS記錄

[root@dns-server ~]# cat /var/named/huang.com.zone 
$TTL 1D
@	IN SOA	@ rname.invalid. (1	; serial1D	; refresh1H	; retry1W	; expire3H )	; minimum
;域名服務器記錄
@ IN NS  ns1.huang.com.
@ IN NS  ns2.huang.com.
;A記錄
www  IN A	192.168.168.133
www  IN A	192.168.168.134
web1 IN A	192.168.168.136
web2 IN A	192.168.168.137
nfs  IN A	192.168.168.139
;別名記錄
web  IN CNAME   www
;域名服務器記錄的A記錄
ns1 IN A 192.168.168.139
ns2 IN A 192.168.100.140nfs.liu.com  IN  A  192.168.168.139
liu  IN  CNAME nfs.liu.com
;郵件交換記錄--》郵件服務器
@  IN  MX  10  mail1.huang.com.
@  IN  MX  20  mail2.huang.com.
;郵件服務器的A記錄
mail1 IN  A 192.168.168.136
mail2 IN  A 192.168.168.137
;@表示本域
@  IN  A  192.168.168.133
;泛域名解析記錄
* IN  A  192.168.168.133

刷新服務后測試是否生效
使用nslookup交互模式

[root@web-1 ~]# nslookup
> abc.huang.com    
Server:		192.168.168.139
Address:	192.168.168.139#53Name:	abc.huang.com
Address: 192.168.168.133
> web.huang.com
Server:		192.168.168.139
Address:	192.168.168.139#53>web.huang.com	canonical name = www.huang.com.
Name:	www.huang.com
Address: 192.168.168.133
Name:	www.huang.com
Address: 192.168.168.134
> set type=ns
> huang.com
Server:		192.168.168.139
Address:	192.168.168.139#53huang.com	nameserver = huang.com.
> set type=mx 
> huang.com
Server:		192.168.168.139
Address:	192.168.168.139#53huang.com	mail exchanger = 20 mail2.huang.com.
huang.com	mail exchanger = 10 mail1.huang.com.

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

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

相關文章

從全棧開發視角看Java與前端技術融合實踐

從全棧開發視角看Java與前端技術融合實踐 面試場景記錄&#xff1a;一次真實的面試對話 面試官&#xff1a;你好&#xff0c;很高興見到你。我是這次面試的負責人&#xff0c;可以簡單介紹一下你自己嗎&#xff1f; 應聘者&#xff1a;您好&#xff0c;我叫李明&#xff0c;今年…

第二階段WinForm-11:自定義控件

1_繼承鏈 &#xff08;1&#xff09;Form1的繼承鏈&#xff1a;Form1>Form>ContainerControl>ScrollableControl>Control &#xff08;2&#xff09;Button的繼承鏈&#xff1a;Button>ButtonBase>Control>Component 2_自定義控件 &#xff08;1&…

【2025 完美解決】Failed connect to github.com:443; Connection timed out

文章目錄前言1. 生成并上傳 SSH Key2. 寫 SSH 配置&#xff0c;強制走 ssh.github.com:4433. 連通性自檢&#xff08;看是否能握手成功&#xff09;4. 克隆5. 驗證前言 今天和往常一樣&#xff0c;寫完代碼&#xff0c;準備 push 到 github 倉庫中&#xff0c;結果發現一直卡在…

C++基礎(③反轉字符串(字符串 + 雙指針))

題目描述&#xff1a;編寫一個函數&#xff0c;將輸入的字符串反轉過來&#xff08;要求原地修改字符串&#xff0c;不使用額外空間&#xff09;。 示例&#xff1a;輸入 s ["h","e","l","l","o"] → 輸出 ["o",…

vue的動態組件keep-alive實現組件緩存和狀態保留

在 Vue.js 中&#xff0c;動態組件結合 keep-alive 是實現組件緩存和狀態保留的重要技術方案。以下是詳細解析&#xff1a;一、動態組件基礎 通過 <component :is> 實現組件動態切換&#xff1a; <component :is"currentComponent"></component>cu…

安裝Docker Desktop報錯WSL needs updating

&#xff08;1&#xff09;首先觀察下面是否勾選&#xff08;2&#xff09;說明已經啟動了&#xff0c;但是需要更新&#xff0c;cmd運行下面代碼&#xff0c;記得需要開一下代理&#xff0c;可能會有點慢上面就算好了&#xff08;3&#xff09;點擊restart這樣就代表成功了

??舊衣回收小程序|線上模式新升級

還在用老舊的傳統方式做舊衣回收&#xff1f;別out了&#xff01;線下回收箱成本高、維護難、用戶參與感弱&#xff1f;是時候用線上小程序打開全新局面了?&#x1f4a8;線上小程序 vs 傳統線下回收? 便捷性突破&#xff1a;線下&#xff1a;用戶需親自送至固定回收點&#x…

CD71.【C++ Dev】二叉樹的三種非遞歸遍歷方式

目錄 1.知識回顧 2.前序遍歷 分析 總結入棧的幾種可能 循環的條件 代碼 提交結果 3.中序遍歷 分析 代碼 提交結果 3.★后序遍歷 分析 問題:如何確定是第一次訪問到棧的元素還是第二次訪問到棧中的元素? 方法1:使用填充的內存(依賴于架構) 判斷計算機使用的架構…

音視頻學習(五十九):H264中的SPS

在 H.264 (也稱為 AVC, Advanced Video Coding) 視頻編碼標準中&#xff0c;SPS (Sequence Parameter Set) 是一個至關重要的 NALU (Network Abstraction Layer Unit) 類型&#xff0c;它承載著整個視頻序列共有的全局性配置信息。你可以把它理解為視頻文件的“基因”&#xff…

linux實時性研究

Linux 實時性研究旨在提升 Linux 系統對外部事件的響應速度和確定性,使其能夠滿足實時應用的需求。以下是關于 Linux 實時性研究的一些關鍵內容: Linux 實時性不足的原因 中斷優先級問題:在標準 Linux 內核中,中斷具有最高優先級,包括軟中斷,這使得實時任務的優先級得不到…

Java-面試八股文-Mysql篇

MySQL篇 1、Select 語句完整的執行順序 難度系數&#xff1a;?&#x1f4cc; SQL SELECT 語句書寫順序&#xff08;開發者寫的順序&#xff09; SELECT ... FROM ... JOIN ... WHERE ... GROUP BY ... HAVING ... ORDER BY ... LIMIT ...&#x1f4cc; 實際執行順序&#…

多代理系統架構:Supervisor 與 Swarm 架構詳解

多代理&#xff08;Multi-Agent&#xff09;系統正成為構建復雜 AI 應用的重要范式。本文將深入剖析兩種熱門的多代理架構模式——Supervisor&#xff08;主管模式&#xff09;與 Swarm&#xff08;群智模式&#xff09;&#xff0c;揭示它們的執行流程、適用場景及實現細節&am…

【深度學習】思維鏈(Chain of Thought, CoT):提升大模型推理能力的關鍵技術

思維鏈&#xff08;Chain of Thought, CoT&#xff09;&#xff1a;提升大模型推理能力的關鍵技術 文章目錄思維鏈&#xff08;Chain of Thought, CoT&#xff09;&#xff1a;提升大模型推理能力的關鍵技術1 什么是思維鏈&#xff08;Chain of Thought, CoT&#xff09;&#…

GitHub 宕機自救指南:打造韌性開發體系

一、引言1.1 GitHub 宕機事件回顧與影響剖析在軟件開發的廣袤版圖中&#xff0c;GitHub 宛如一座熠熠生輝的燈塔&#xff0c;為全球超 1 億開發者照亮前行之路&#xff0c;其重要性不言而喻。它集代碼托管、版本控制、協作開發以及項目管理等核心功能于一身&#xff0c;是無數開…

移動端網頁調試實戰,iOS WebKit Debug Proxy 的應用與替代方案

在移動端開發中&#xff0c;iOS WebView 的調試一直是個難題。不同于 Android 可以依賴 Chrome DevTools 和 ADB&#xff0c;iOS 的 WKWebView 只能通過 Safari 開發者工具調試&#xff0c;而這需要 Mac 環境和設備直連。為了彌補限制&#xff0c;社區出現了一個常用工具 —— …

煥新升級,Sermant 2.0.0 release版本重磅發布!

Sermant社區在6月底正式發布了2.0.0 release版本&#xff0c;這次更新中&#xff0c;Sermant進行了項目所屬組織調整并新增了基于xDS協議的服務發現能力、預過濾啟動加速機制、Sermant Backend的配置管理能力。所屬組織調整使得Sermant淡化廠商屬性&#xff0c;以全新的姿態更好…

sqli-labs通關筆記-第28a關GET字符注入(多重關鍵字過濾繞過 腳本法)

目錄 一、sqlmap之tamper腳本 二、源碼分析 1、代碼審計 2、SQL安全性分析 三、滲透實戰 1、進入靶場 2、tamper腳本 3、sqlmap滲透 SQLI-LABS 是一個專門為學習和練習 SQL 注入技術而設計的開源靶場環境&#xff0c;本小節對第28a關Less 28a基于GET字符型的SQL注入關卡…

聯想打印機2268w安裝

聯想打印機2268w是支持無線打印的。在某度搜索&#xff0c;掀起蓋子長按開機鍵&#xff0c;成功初始化。之后按說明應該能用手機搜索到打印機的熱點&#xff0c;反復搜索都沒有出現。最后沒辦法&#xff0c;之后好用我自己的方法安裝。找了個筆記本&#xff0c;開機連接到wifi,…

【LeetCode】動態規劃——72.編輯距離、10.正則表達式匹配

LeetCode題目鏈接 https://leetcode.cn/problems/edit-distance/description/ https://leetcode.cn/problems/regular-expression-matching/description/ 題解 72.編輯距離 本題要定義為長度為i、長度為j的字符串的最少編輯次數&#xff0c;每次判斷字符的下標為i-1、j-1。dp[i…

[親測可用]Android studio配置國內鏡像源 Kotlin DSL (build.gradle.kts)

一、更改gradle下載鏡像Android studio項目需要下載和更新 Gradle 及其依賴。由于網絡環境&#xff0c;直接從 Gradle 官網下載可能會遇到速度慢或超時的問題。這里需要更換為使用國內的鏡像站點來加速下載。官網地址&#xff08;較慢&#xff09;&#xff1a;https://services…