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…