千家信息网

DNS查询过程及DNS服务器简单搭建

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,1、描述DNS查询过程以及DNS服务器类别。DNS查询过程:一次完整的查询请求经过的流程:Client--> hosts文件 --> DNS Local Cache --> DNS Server (r
千家信息网最后更新 2026年11月03日DNS查询过程及DNS服务器简单搭建

1、描述DNS查询过程以及DNS服务器类别。

DNS查询过程:

一次完整的查询请求经过的流程:

Client--> hosts文件 --> DNS Local Cache --> DNS Server (recursion) -->

自己负责解析的域:直接查询数据库并返回答案;

不是自己负责解析域:ServerCache --> iteration(迭代)

DNS服务器类别:

主-辅DNS服务器:

主DNS服务器:维护所负责解析的域数据库的那台服务器;读写操作均可进行;

从DNS服务器:从主DNS服务器那里或其它的从DNS服务器那里"复制"一份解析库;但只能进行读操作;

"复制"操作的实施方式:

序列号:serial, 也即是数据库的版本号;主服务器数据库内容发生变化时,其版本号递增;

刷新时间间隔:refresh,从服务器每多久到主服务器检查序列号更新状况;

重试时间间隔:retry,从服务器从主服务器请求同步解析库失败时,再次发起尝试请求的时间间隔;

过期时长:expire,从服务器始终联系不到主服务器时,多久之后放弃从主服务器同步数据;停止提供服务;

否定答案的缓存时长:

2、搭建一套DNS服务器,负责解析magedu.com域名(自行设定主机名及IP)

(1)、能够对一些主机名进行正向解析和逆向解析;

(2)、对子域cdn.magedu.com进行子域授权,子域负责解析对应子域中的主机名;

(3)、为了保证DNS服务系统的高可用性,请设计一套方案,并写出详细的实施过程

首先安装配置bind:

yuminstall bind -y

servicenamed start

systemctlstart named.service(centos7)

ss-tunl |grep 53

bind:

主配置文件:/etc/named.conf

或包含进来其它文件;

/etc/named.iscdlv.key

/etc/named.rfc1912.zones

/etc/named.root.key

解析库文件:

/var/named/目录下;

一般名字为:ZONE_NAME.zone

注意:(1) 一台DNS服务器可同时为多个区域提供解析;

(2) 必须要有根区域解析库文件:named.ca;

(3) 还应该有两个区域解析库文件:localhost和127.0.0.1的正反向解析库;

正向:named.localhost

反向:named.loopback

A.解析一个正向区域

1.缓存名称服务器的配置:

[root@localhost~]# vim /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.html

options{

// listen-on port 53 { 127.0.0.1; }; ###注销本行,注销本行,表示监听所有地址

// 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";

// allow-query { localhost; }; ###关闭仅允许本地查询

recursion yes;

// dnssec-enable yes; ###学习时,建议关闭dnssec,DNS安全认证

// dnssec-validation yes; ###学习时,建议关闭dnssec

修改完成后检查配置文件的语法错误

named-checkconf [/etc/named.conf]

[root@localhost~]# named-checkconf

2.定义区域

在主配置文件中或主配置文件辅助配置文件中实现

[root@localhost~]# vim /etc/named.rfc1912.zones ###编辑配置文件,添加以下内容

zone"magedu.com" IN { ###添加

type master;

file "magedu.com.zone";

};

3.建立区域数据文件(主要记录为A或AAAA记录)

在/var/named目录下建立区域数据文件;

[root@localhostnamed]# vim /var/named/magedu.com.zone

$TTL86400 ###缓存有效期86400秒=1天

$ORIGINmagedu.com.

@ IN SOA ns1.magedu.com.dnsadmin.magedu.com. (

2017060601 ###序列号

1H ###刷新时间

10M ###重试时间

3D ###过期时间

1D) ###否定答案时间

IN NS ns1

IN NS ns2

IN MX 10 mx1

IN MX 20 mx2

ns1 IN A 192.168.0.104

ns2 IN A 192.168.0.105

mx1 IN A 192.168.0.106

mx2 IN A 192.168.0.107

www IN A 192.168.0.104

web IN CNAME www

~ 语法检查:

[root@localhostnamed]# named-checkconf

[root@localhostnamed]# named-checkzone magedu.com /var/named/magedu.com.zone

zonemagedu.com/IN: loaded serial 2017060601

OK

权限修改:

[root@localhostnamed]# chown :named /var/named/magedu.com.zone ###修改属组为named

chmodo= /var/named/magedu.com.zone ###修改其他无权限

4.让服务器重载配置文件和区域数据文件

#rndc reload 或

#systemctl reload named.service

测试:

dig-t A www.magedu.com @192.168.0.104

同理,配置解析一个反向区域

1.定义区域

在主配置文件中或主配置文件辅助配置文件中实现;

[root@localhost/]# vim /etc/named.rfc1912.zones

zone"0.168.192.in-addr.arpa" IN {

typemaster;

file"192.168.0.zone";

};

2.定义区域解析库文件(主要记录为PTR)

[root@localhostnamed]# vim /var/named/192.168.0.zone

$TTL86400

$ORIGIN0.168.192.in-addr.arpa.

@ IN SOA ns1.magedu.com.nsadmin.magedu.com (

2017060601

1H

10M

3D

1D)

IN NS ns1.magedu.com.

104 IN PTR ns1.magedu.com.

105 IN PTR ns2.magedu.com.

106 IN PTR mx1.magedu.com.

107 IN PTR mx2.magedu.com.

104 IN PTR www.magedu.com.

权限修改:

[root@localhostnamed]# chgrp named /var/named/192.168.0.zone

[root@localhostnamed]# chmod o= /var/named/192.168.0.zone

语法检查:

[root@localhostnamed]# named-checkconf

[root@localhostnamed]# named-checkzone 0.168.192.in-addr.arpa /var/named/192.168.0.zone

zone0.168.192.in-addr.arpa/IN: loaded serial 2017060601

OK

#rndc reload 或

#systemctl reload named.service

3.让服务器重载配置文件和区域数据文件

#rndc reload 或

#systemctl reload named.service

测试;

dig-x 192.168.0.104 @192.168.0.104

B.子域授权

1.对magedu.com解析库添加子域。

[root@localhost~]# vim /var/named/magedu.com.zone

$TTL86400

$ORIGINmagedu.com.

@ IN SOA ns1.magedu.com.dnsadmin.magedu.com. (

2017060612

1H

10M

3D

1D)

IN NS ns1

IN NS ns2

IN MX 10 mx1

IN MX 20 mx2

ns1 IN A 192.168.0.104

ns2 IN A 192.168.0.150

mx1 IN A 192.168.0.106

mx2 IN A 192.168.0.107

www IN A 192.168.0.104

web IN CNAME www

pop3 IN A 192.168.0.108

cdn IN NS ns1.cdn ###添加子域

cdn IN NS ns2.cdn ###添加子域

ns1.cdnIN A 192.168.0.103 ###添加A记录

ns2.cdnIN A 192.168.0.155 ###添加A记录

2.对子域服务器安装bind并改配置文件及添加解析库。

[root@localhost~]# yum install bind -y ###子域服务器安装

[root@localhost~]# vim /etc/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.

//

options{

listen-onport 53 { 127.0.0.1; 192.168.0.103; }; ###添加与外部通信主机地址

listen-on-v6port 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";

// allow-query { localhost; }; ###关闭仅允许本地查询

recursionyes;

dnssec-enableno; ###改为no

dnssec-validationno; ###改为no

.......

[root@localhost~]# service named start

Generating/etc/rndc.key: [确定]

启动 named:

[root@localhost~]# vim /etc/named.rfc1912.zones ###编辑配置文件添加解析库

zone"cdn.magedu.com" IN {

type master;

file "cdn.magedu.com.zone";

};

[root@localhost ~]# vim /var/named/cdn.magedu.com.zone ###编辑解析库数据

$TTL3600

$ORIGINcdn.magedu.com.

@ IN SOA ns1.cdn.magedu.com. nsadmin.cdn.magedu.com. (

2017060601

1H

10M

1D

2H)

IN NS ns1

ns1 IN A 192.168.0.103

www IN A 192.168.0.10

[root@localhost~]# chgrp named /var/named/cdn.magedu.com.zone ###修改属组为named

[root@localhost~]# chmod o= /var/named/cdn.magedu.com.zone ###修改其他无权限

[root@localhost~]# rndc reload

serverreload successful

测试使用dig

[root@localhost~]# dig -t A www.cdn.magedu.com @192.168.0.103

定义转发

[root@localhost~]# vim /etc/named.rfc1912.zones ###编辑配置文件增加区域转发

zone"magedu.com" IN {

type forward; ###定义转发

forward only; ###只转发

forwarders { 192.168.0.104; 192.168.0.150; };

};

[root@localhost~]# named-checkconf ###检查

[root@localhost~]# rndc reload ###重载

[root@localhost~]# dig -t A www,magedu.com @192.168.0.103 ###测试子域解析父域

;<<>> DiG 9.8.2rc1-RedHat-9.8.2-0.62.rc1.el6_9.2 <<>> -tA www.magedu.com @192.168.0.103

;;global options: +cmd

;;Got answer:

;;->>HEADER<<- opcode: QUERY, status: NOERROR, id: 56294

;;flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 2

;;QUESTION SECTION:

;www.magedu.com. IN A

;;ANSWER SECTION:

www.magedu.com. 86400 IN A 192.168.0.110

;;AUTHORITY SECTION:

magedu.com. 86400 IN NS ns1.magedu.com.

magedu.com. 86400 IN NS ns2.magedu.com.

;;ADDITIONAL SECTION:

ns1.magedu.com. 86400 IN A 192.168.0.104

ns2.magedu.com. 86400 IN A 192.168.0.150

;;Query time: 4 msec

;;SERVER: 192.168.0.103#53(192.168.0.103)

;;WHEN: Thu Jun 8 20:50:31 2017

;;MSG SIZE rcvd: 116

C.全局转发:针对凡本地没有通过zone定义的区域查询请求,通通转给某转发器;

options{

......

forward {only|first};

forwarders { SERVER_IP; };

.....

};

主从同步:

从服务器配置与主服务器配置安装相同:

1.[root@localhost~]# yum install bind -y ###安装

2.编辑/etc/named.conf文件,与前面安装一致

3.[root@localhost~]# vim /etc/named.rfc1912.zones ###编辑添加从服务

zone "0.168.192.in-addr.arpa" IN {

type slave; ###类型为从服务器

file "slaves/192.168.0.zone";

masters { 192.168.0.104; }; ###主服务器地址

};

4.在主服务器解析文件/var/named/magedu.zone中新增NS ,NS记录有个A地址为从服务器地址。

主服务器 rndcreload

5.从服务器检查配置文件并重启服务 systemctl restartnamed.service

6.服务启动后,会在/var/named/slaves/自动添加magedu.com.zone文件

主从配置完成

注意:时间需同步 ntpdate命令


服务 服务器 文件 配置 区域 子域 数据 时间 查询 检查 地址 主机 库文件 数据库 权限 同步 测试 过程 序列 序列号 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 华服互联网科技怎么样 科技和互联网公司 疫情对互联网科技公司影响 美国互联网科技巨头监管 艾特科技互联网 壹账通互联网科技 青岛中康互联网医疗科技有限公司 天速互联网络科技有限公司 深圳育鹏互联网科技有限公司招聘 如何创新互联网科技 佛山市翊博互联网络科技有限公司 华夏恒生科技与互联网科技 互联网科技创新的路径 区块链结合互联网科技 华中科技大学互联网的牛人 黑科技 体验场景 互联网大会 电子商务与互联网科技的关系 珠海东科互联网科技有限公司 众联互联网络科技 互联网领先科技成果宣传视频 中智农互联网科技 广州淘业互联网络科技 广州互联网络科技有限公司 互联网巨头投资的硬核科技 福州新华互联网科技学校 知乎 互联网金融中的现代科技 港股科技和互联网 张家口科技产业互联网平台 绵阳真晨互联网科技有限公司 互联网科技大会大佬
0