dns解析

1.梳理用户访问网站流程

0
.客户端 确保你的机器可以上外网

1
.客户端 浏览器输入网站url,点击回车 www.yuchaoit.cn

2
.客户端 本地进行dns域名查找、查找域名对应的
ip
地址

3
.客户端 直接访问该服务器的
ip
,开始tcp三次握手过程

4
.客户端 建立tcp连接后,发起http请求,构造请求报文,会发出多次请求

5
.服务端 接收到http请求后,解析请求,响应请求,回复多次

6
.客户端 浏览器看到响应内容,浏览器解析响应数据,渲染结果在屏幕上

7
.客户端 结束访问,关闭网站,完成tcp四次挥手

2.抓技术名词关键字

1
.域名

2
.域名解析

3
.TCP/
IP
三次握手

4
.TCP/
IP
四次挥手

5
.HTTP请求发出

6
.HTTP响应报文

1.DNS域名解析

DNS细节知识请看博客

http:
//ap
ecome.com:
9494
/
03
%E7%B3%BB%E7%BB%
9
F%E6%
9
C%
8
D%E5%
8
A%A1%E7%AF%87/
3
-
9
-%E5%
9
F%
9
F%E5%9
0
%
8
D%E7%AE%A1%E7%9
0
%86%E7%B3%BB%E7%BB%
9
F%E4%B9%8BDNS.html
#%E9%83%A8%E7%BD%B2%E5%8F%8D%E5%90%91%E8%A7%A3%E6%9E%90

1.DNS域名结构

由于互联网中的域名太多,全球的用户也太多,因特网的域名采用的是树状结构命名。 任何一个连接到网络中的机器,都有一个唯一的层次结构名字,叫做域名(domain name)。
  • 域、就是名字空间中可被划分、管理的部分。
  • 语法上要求,域名由标号(label)组成,每一个label之间通过小数点隔开。
  • 域名可以被分为多个子域,子域还可以继续划分子域的子域,因此形成了
    • 顶级域
    • 主域名
    • 子域名

根域 .

  • 在整个 DNS 系统的最上方一定是 . (小数点) 这个 DNS 服务器 (称为 root),也叫”根域“。
  • 根域 (13台 全世界只有13台。1个为主根服务器,放置在美国。其余12个均为辅根服务器,其中9个放置在美国,欧洲2个,位于英国和瑞典,亚洲1个,位于日本。)

顶级域名(一级域名)

顶级域名是域名的最后一个部分,即是域名最后一点之后的字母,例如在http://yuchaoit.cn这个域名中,顶级域是.cn(或.COM),大小写视为相同。%2C-iq1hk5rmsf9xnujhg63fqf5b./)

二级域名

二级域名是域名的倒数第二个部分,例如在http://yuchaoit.cn这个域名中,二级域名是yuchaoit。以此类推。

三级域名

子域名

域名机构

收费、新网https://www.xinnet.com/、万网https://www.hichina.com/
免费域名、tk域名等。

2. DNS服务器分层结构(DNS解析流程)

域名是分层结构,域名服务器也是分层结构,域名服务器其实就是一台部署了DNS域名解析系统的计算机,对外提供解析服务。
主要涉及的四个DNS服务器如下
分类作用
根DNS服务器读作root nameserver。当本地域名服务器在本地找不到解析记录时,第一步来这里找,能够拿到顶级域名服务器的信息。
顶级域名服务器读作,top level domain nameserver(tld)。负责管理顶级域名下注册的二级域名。如当你访问www.yuchaoit.cn,首先找到顶级域名服务器.cn,然后找到二级域名yuchaoit.cn所在的权威域名服务器地址。
权威域名服务器读作authoritative nameserver。维护该区域内的域名和ip之间的解析关系,也就是我们常见的如阿里云域名注册商,或是腾讯域名注册商。
本地域名服务器读作local DNS或是DNS resolver。也就是用户本机自动获取的DNS地址,或是运营商提供的DNS,或是阿里、腾讯公共DNS服务器等。

文字描述DNS解析流程

DNS
域名解析

浏览器客户端需要正确查询、解析出域名的的
ip
地址,才能建立与服务器的连接

1
.浏览器需要解析域名,首先查看本地的hosts文件,查看是否有固定的解析规则,有则直接使用该
ip
信息


2
.本地的hosts文件没有解析关系,浏览器会发出一个dns请求到本地设置的dns服务器

本地dns服务器一般默认会是你接入的网络运营商,如电信dns,移动dns


3
.域名解析的请求到达dns服务器之后,dns服务器优先查找它自己的缓存记录,如果有直接返回结果

如果dns服务器本地没有结果,递归的向上查找DNS根服务器,是否有解析记录。


4
.根DNS服务器的作用只是提供域服务器的地址(不提供域名和
ip
的关系解析)


5
.本地dns服务器此时向域服务器继续发出请求,此时请求的服务器就是如.com .cn这样的域服务器了

域服务器也不会直接返回你要访问的域名、以及它对应的
IP
地址的关系,而是告诉本地dns服务器,该域名对应的解析服务器的地址,

163
.com


6
.最后本地dns服务器,向该域名对应的解析服务器发出请求,此时才能正确的拿到该域名对应的
ip
地址关系

此时本地dns服务器会把
ip
告诉浏览器

以及这个域名、
ip
的对应关系会被存储在本地缓存中,便于下次访问,可以直接看到这个域名、
ip
的对应关系,加速访问

3. DNS专业名词

递归查询

就好比我们递归创建文件夹一样

mkdir
-p /opt/linux/0224/chaoge666.log


1.我们本地进行域名解析时,如ping baidu.com,本地的/etc/resolv.conf指定的服务器接收到用户请求,必须返回给用户一个精准的ip结果。


2.如果指定的DNS服务器没有存储这个解析关系,就会以上述于超老师讲解的dns解析流程,开始向根域服务器发出请求,因此反复循环,直到拿到结果。

迭代查询

也就是DNS服务器/etc/resolv.conf没有直接返回查询域名-ip的对应结果,而是告诉另外一台服务器,另外一台服务器,再去请求另外一台机器,反复发请求,直到获取正确结果。

DNS缓存

指的是将域名、
ip
的解析关系存储在离用户最近的一个客户端上,这个位置可以是任意的地方,目的都是为了减少递归查询的次数,更快的获取查询结果。

TTL值

英文名
timeto
live

告诉本地dns服务器,该解析记录的可用时长,到期后本地缓存会自动删除该解析关系,重新发起迭代/递归查询,获取新的域名、ip解析结果。

4. dig命令查看解析关系

使用
dig命令,可以验证上述的原理流程。

yum install bind-utils -y
使用dig命令追踪域名解析全流程
1.首先确定本地dns服务器
[root@master-61 /etc/ansible/roles]
#cat /etc/resolv.conf
# Generated by NetworkManager
nameserver 223.5.5.5
dig追踪解析
[root@master-
61
/etc/ansible/roles]#dig +trace www.yuchaoit.cn


; <<>> DiG
9.11
.
4
-P2-RedHat-
9.11
.
4
-
26
.P2.el7_9.
9
<<>> +trace www.yuchaoit.cn

;; global options: +cmd

.
2974
IN NS d.root-servers.net.

.
2974
IN NS b.root-servers.net.

.
2974
IN NS l.root-servers.net.

.
2974
IN NS e.root-servers.net.

.
2974
IN NS a.root-servers.net.

.
2974
IN NS k.root-servers.net.

.
2974
IN NS g.root-servers.net.

.
2974
IN NS i.root-servers.net.

.
2974
IN NS j.root-servers.net.

.
2974
IN NS h.root-servers.net.

.
2974
IN NS f.root-servers.net.

.
2974
IN NS m.root-servers.net.

.
2974
IN NS c.root-servers.net.

;; Received
228
bytes from
223.5
.
5.5
#
53
(
223.5
.
5.5
) in
14
ms


cn.
172800
IN NS d.dns.cn.

cn.
172800
IN NS ns.cernet.net.

cn.
172800
IN NS c.dns.cn.

cn.
172800
IN NS a.dns.cn.

cn.
172800
IN NS b.dns.cn.

cn.
172800
IN NS f.dns.cn.

cn.
172800
IN NS e.dns.cn.

cn.
172800
IN NS g.dns.cn.

cn.
86400
IN DS
57724825
D0423633EB24A499BE78AA22D1C0C9BA36218FF49FD95A4CDF1A4AD
97
C67044

cn.
86400
IN RRSIG DS
8186400202205140500002022050104000047671
. nAeYXDNUTAmlFxLfXot6fdnx05UZ/KU4cj1cy3zU5rrGBh2qFLrPGNQr
8
QpZU2vPoydZZZSzcRT6vpyaFGPJhAGsqi+cs2JOMMZNQYlkKdxO3Q3D x9yLXJOVAnnH6iGWglIVnonFsgtcNqGjSeJ/Th9tHbOMD+n/
6
cumezNy
1
HOGrFW1dYQ9lfHjbnxox8EMmGKQ3nejtjIVS9GvHCBp3uisQdDTCook f+MT7qN9P86QJqtgDO+GctD90KIA4u311RQM+tBk9YDEMqXxPcsSiD98 bArR/hUpvnRRbU2t2mk6cmv7ZVAy3ofv6u1fMiwS6YzXneb1i8kLtoUQ zOoqNQ==

;; Received
706
bytes from
192.33
.
4.12
#
53
(c.root-servers.net) in
1109
ms


yuchaoit.cn.
86400
IN NS net.dnspod.net.

yuchaoit.cn.
86400
IN NS tulip.dnspod.net.

3
QDAQA092EE5BELP64A74EBNB8J53D7E.cn.
21600
IN NSEC3
1110
AEF123AB
3
QHKTF6LTFG8AAFUUAJSR8RVAJP99SFU NS SOA RRSIG DNSKEY NSEC3PARAM

3
QDAQA092EE5BELP64A74EBNB8J53D7E.cn.
21600
IN RRSIG NSEC3
8221600202205131337572022041313051138388
cn. g+AhBfqp/RPdA6q61n4JFsO24Go4jkNZYEyTjW0nezf+wN+jj1N9CN87 sBDEwljwudxVhyjHBODdZTdlV0ZSyMYUvgZXfoIh90AR/bu8kzDhUdq+ wVdMye86MQts52L9oZq+SBywnYjW6MwJwkaPwtqoGUzit1xi0DogjaRB T8I=

QJ2D47AGKKDJ0JBA02ILNHBNVEF3DQUS.cn.
21600
IN NSEC3
1110
AEF123AB QK2TQPG7N1M4FC702TM02B2P08FPDJN0 NS DS RRSIG

QJ2D47AGKKDJ0JBA02ILNHBNVEF3DQUS.cn.
21600
IN RRSIG NSEC3
8221600202205131329302022041313045538388
cn. UBB5On9znmA5pY7aGkeL8Aa31+fkgq82ruaLZUwike9Pbdr4WbiYFjpH IhGz4mijkCeNwWm+bNPA0TtzpL10lVDJp4Zo0DEKQD8NBejGFHQUpY/d BZvG15tM6rXY6I0NjgKa/
7
d8zyrV4jgZn+r8qJadps3ixLUPZPypbsX+ t7I=

;; Received
583
bytes from
203.119
.
25.1
#
53
(a.dns.cn) in
12
ms


www.yuchaoit.cn.
600
IN A
123.206
.
16.61
yuchaoit.cn.
86400
IN NS net.dnspod.net.

yuchaoit.cn.
86400
IN NS tulip.dnspod.net.

;; Received
118
bytes from
58.247
.
212.48
#
53
(tulip.dnspod.net) in
33
ms
解析
1
.先去找了
13
个根域服务器,没有排序关系

2
.然后确认顶级域的范围,是.cn

3
.然后确认权威域名服务器地址
net
.dnspod.
net
4
.最后通过权威域名服务器拿到域名、ip的解析关系

www.yuchaoit.cn.
600IN
A
123
.
206
.
16
.
61
yuchaoit.cn.
86400IN
NS
net
.dnspod.
net
.

yuchaoit.cn.
86400IN
NS tulip.dnspod.
net
.

5.可以看一看云解析DNS的手册

https://help.aliyun.com/document_detail/102237.html

6.阿里云DNS解析

https://help.aliyun.com/document_detail/29716.html

7.腾讯云DNS解析

https:
/
/cloud.tencent.com/document/product/302
/
3446

各记录类型使用目的

具体说明文档
https:
/
/cloud.tencent.com/document/product/302
/
38661
记录类型使用目的
A 记录将域名指向一个 IP 地址(外网地址)。
CNAME 记录将域名指向另一个域名,再由另一个域名提供 IP 地址(外网地址)。
MX 记录设置邮箱,让邮箱能收到邮件。
NS 记录将子域名交给其他 DNS 服务商解析。
AAAA 记录将域名指向一个 IPv6 地址。
SRV 记录用来标识某台服务器使用了某个服务,常见于微软系统的目录管理。
TXT 记录对域名进行标识和说明,绝大多数的 TXT 记录是用来做 SPF 记录(反垃圾邮件)。
隐、显性 URL 记录将一个域名指向另外一个已经存在的站点。

工作中经常需要加的记录类型

主机记录指的就是,主域名的前缀,通常会添加如下记录类型
  • www,如解析为www.yuchaoit.cn,或者www.taobao.com
  • @,直接解析主域名,如yuchaoit.cn,或taobao.com
  • ,泛解析,匹配其他所有子域名,如`.yuchaoit.cn`
    • 一般适用于给域名绑定证书,一张证书,绑定*.yuchaoit.cn,也就可以处理如
    • www.yuchaoit.cn
    • api.yuchaoit.cn
    • blog.yuchaoit.cn
    • ...
  • mail,mail.yuchaoit.cn,一般用于邮件服务器的绑定
  • 移动端网址,如https://m.huya.com/

8.实践添加腾讯云dns解析

https://console.cloud.tencent.com/cns

最常用的就是添加A记录

~dig+trace0224.yuchaoit.cn

9.域名需要备案

https://beian.aliyun.com/ 阿里云

https://cloud.tencent.com/product/ba 腾讯云

2.DNS服务搭建

主流的dns服务器部署,有两种工具
  • bind(大型公司需要自建复杂的域名解析系统,存储解析记录,包括了设置根域、顶级域、二级域等区域功能)
  • dnsmasq(轻量级域名系统,提供域名、ip的对应解析关系,需要提供上游权威dns服务器地址)

1. bind服务部署

  • DNS 的==域名解析==都是 ==udp/53== ;主从之间的==数据传输==默认使用==tcp/53==;
  • DNS软件:
    ==Bind==是一款开放源码的DNS服务器软件,Bind由美国加州大学Berkeley(伯克利)分校开发和维护的,全名为Berkeley Internet Name Domain它是目前世界上使用最为广泛的DNS服务器软件,支持各种unix平台和windows平台。
    BIND现在由互联网系统协会(Internet Systems Consortium)负责开发与维护。

2.机器准备

172.16.1.61 dns服务端

172.16.1.7 dns客户端 web-server

172.16.1.8 dns客户端 web-server

3.部署bind(61机器)

yum install
bindbind
-utils -
y

解释

bind
-utils:
bind
客户端程序集,例如dig, host, nslookup等;


bind
:提供的dns server程序、以及几个常用的测试程序;


bind
-libs:被
bind
bind
-utils包中的程序共同用到的库文件;
操作全流程
1.关闭防火墙

[root@dns-server ~]
# systemctl stop firewalld
[root@dns-server ~]
#
[root@dns-server ~]
# iptables -F
[root@dns-server ~]
#
[root@dns-server ~]
# getenforce
Disabled


2.配置yum源,用于安装
bind
软件。

[root@dns-server ~]
# ls /etc/yum.repos.d/

3.安装
bind
[root@dns-server ~]
# yum install bind -y

4.查看软件

[root@dns-server ~]
# rpm -qi bind


5.查看dns配置文件

[root@dns-server ~]
# rpm -ql bind

# 日志轮转文件
/etc/logrotate.d/named

# 配置文件目录
/etc/named

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

# zone文件,定义域
/etc/named.rfc1912.zones

# 服务管理脚本
/usr/lib/systemd/system/named.service

# 二进制程序文件
/usr/sbin/named

# 检测配置文件
/usr/sbin/named-checkconf

# 检测域文件
/usr/sbin/named-checkzone

# 根域服务器
/var/named/named.ca

# 正向解析区域文件模板
/var/named/named.localhost

# 反向解析区域文件模板
/var/named/named.loopback

# dns服务器下载文件的默认路径
/var/named/slaves

# 进程pid
/var/rum/named

4.配置文件修改设置dns区域文件

named.conf修改

1
.备份原有文件

[root@dns-server ~]
# cp /etc/named.conf /etc/named.conf.bak
[root@dns-server ~]
#
[root@dns-server ~]
#
[root@dns-server ~]
# cp /etc/named.rfc1912.zones /etc/named.rfc1912.zones.bak

2
.修改主配置文件


# 定义监听端口、监听方式、允许查询来源

options {

//
定义监听方式 any代表全网监听

// 监听的地址和端口,localhost表示监听在本机所有地址上;

listen
-on port
53
{
127.0
.
0
.
1
;any; };

listen
-on-v6 port
53
{ ::
1
; };

//
区域数据库文件存放的目录,存放解析记录的目录

directory
"/var/named"
;

//
dns解析过内容的缓存文件

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

//
允许谁向本台DNS发起查询请求(localhost|ip|any);

allow-query { localhost;any; };

..

...

...

省略


// 控制日志输出级别,路径

logging {

channel default_debug {

file
"data/named.run"
;

severity dynamic;

};

};


//
区域设置,这是根域。

zone
"."
IN {

type hint;

file
"named.ca"
;

};



59
include
"/etc/named.rfc1912.zones"
;
//
这里include表示,载入一个子配置文件

60
include
"/etc/named.root.key"
;




配置文件解析

主配置文件组成部分::


options {} :全局选项(监听端口、数据文件存储位置、缓存位置、权限等)

logging {} :服务日志选项

zone . {} :自定义区域配置

include :包含其他的文件



主配置文件注意事项


语法非常严格;

文件权限属主 root ,属组 named ,文件权限
640


[root@dns-server ~]
# ll /etc/named.conf
-rw-r-----
1
root named
1812
Feb
1917
:
10
/etc/named.conf

/etc/named.rfc1912.zones 修改

在named.conf中写入全局设置;
在include的配置文件中写入具体的dns解析设置,域名解析记录;
3
.修改子配置文件,自定义区域配置文件


配置解析

zone
"example.com"
IN {

type master|slave;

#自定义区域类型

file /path/to/zonefile;

#绝对路径和相对路径

allow-update {ip|none};

#允许哪个ip可以使用nsupdate动态更新 区域文件
};


添加如下配置,注意格式,这里就是添加你的域名了。 一定不要落下分号

[root
@dns
-server ~]
# tail -5 /etc/named.rfc1912.zones
zone
"yuchaoit.cn"
IN {

type master;

file
"yuchaoit.cn.zone"
;

allow-update { none; };

};



4
.创建zone区域文件 yuchaoit.cn.zone,先去复制一个模板,区域文件放在了/var/named

[root
@dns
-server ~]
# cp -p /var/named/named.localhost /var/named/yuchaoit.cn.zone


5
.修改区域文件

让这个域名和你要的IP地址对应起来,以及添加一个三级域名www.yuchaoit.cn。

[root
@dns
-server ~]
# cat /var/named/yuchaoit.cn.zone
$TTL
1D

@ IN SOA @ rname.invalid. (

0
; serial

1D ; refresh

1H ;
retry
1W ; expire

3H ) ; minimum

NS @

A
192.168
.
0.105
AAAA
::1

www A
192.168
.
0.105


6
.修改完了后,务必修改zone文件的权限

[root
@dns
-server ~]
# chmod 640 yuchaoit.cn.zone
[root
@dns
-server ~]
# ll /var/named/
total
20
drwxrwx---
2
named named
6
Nov
2500:38
data

drwxrwx---
2
named named
6
Nov
2500:38
dynamic

-rw-r-----
1
root named
2253
Apr
52018
named.ca

-rw-r-----
1
root named
152
Dec
152009
named.empty

-rw-r-----
1
root named
152
Jun
212007
named.localhost

-rw-r-----
1
root named
168
Dec
152009
named.loopback

drwxrwx---
2
named named
6
Nov
2500:38
slaves

-rw-r-----
1
root named
173
Feb
1917:58
yuchaoit.cn.zone



7
.检查配置文件语法,不要有任何错误

[root
@dns
-server ~]
# named-checkconf /etc/named.conf
[root
@dns
-server ~]
# named-checkconf /etc/named.rfc1912.zones
[root
@dns
-server ~]
#


8
.启动named域名解析服务,注意名字是这个。

[root
@dns
-server ~]
# netstat -tnlp|grep named
[root
@dns
-server ~]
#
[root
@dns
-server ~]
# systemctl start named
[root
@dns
-server ~]
# netstat -tnlp|grep named
tcp
0010.96
.
0.177:530.0
.
0.0:*
LISTEN
8051
/named

tcp
00192.168
.
0.104:530.0
.
0.0:*
LISTEN
8051
/named

tcp
00127.0
.
0.1:530.0
.
0.0:*
LISTEN
8051
/named

tcp
00127.0
.
0.1:9530.0
.
0.0:*
LISTEN
8051
/named

tcp6
00::1:53:::*
LISTEN
8051
/named

tcp6
00::1:953:::*
LISTEN
8051
/named

[root
@dns
-server ~]
#

备注:关于zone file区域档案的参数解释

http:
//dns
-learning.twnic.net.tw/
bind
/intro6.html
#cb
关于zone文件语法解析
time to live(TTL),ttl值主要是控制域名指向的ip地址在dns服务器上的缓存时间
@ 指的就是yuchaoit.cn
$TTL
1D
//定义一个TTL默认值为
1
天,下面数据直接引用此值.

@ [TTL]
IN
SOA 主DNS服务器FQDN 管理员邮箱 (



0; 序列号
1D; 更新间隔
1H; 更新失败后重试间隔
1W
; 过期时长
3H
)
; 否定记录保存时长

资源类型:A(IPv4), AAAA(IPv6):定义FQDN的
IP
NS : 定义DNS服务器的FQDN

SOA : 起始授权(每个zone首先要定义此值)

MX: 定义邮件记录,有优先级概念(
0
-
99
),值越小优先级越高。

CNAME:
定义别名

PTR
: 反向记录

5.客户端设置dns服务器地址

测试域名
1.客户端配置我们自己部署的dns服务器地址,写入配置文件,这个192.168.0.104是超哥部署的dns服务器IP。

[
root@web-server~
]
# cat /etc/resolv.conf
# Generated by NetworkManager
nameserver192.168.0.104


2.检查解析关系
[
root@web-server~
]
# nslookup www.yuchaoit.cn
Server:192.168.0.104
Address:192.168.0.104#53

Name:www.yuchaoit.cn
Address:192.168.0.105

3.修改dns服务器地址试试,看看解析关系

3.作业,添加dns记录

现在你有2台web-7,web-8机器,分别需要购买新域名,请在dns服务器上添加如下域名


二级域名

0224web7.cn 172.16.1.7

0224web8.cn 172.16.1.8


三级域名

www.0224web7.cn 172.16.1.7

www.0224web8.cn 172.16.1.8
提示
1./etc/named.rfc1912.zones

2.0224web7.cn.zone

3.systemctl reload named

4.轻量级dnsmasq服务

1、dnsmasq是一款小巧且方便地用于配置DNS服务器和DHCP服务器的工具,适用于小型网络,它提供了DNS解析功能和可选择的DHCP功能。
2、dnsmasq可以解决小范围的dns查询问题,如果业务是跨机房、跨地区的话不建议使用dnsmasq做为dns解析服务器。

1.部署dnsmasq

1
.安装

yum install dnsmasq -
y

2
.修改配置文件

[root@master-
61
~]
#ll /etc/dnsmasq.conf
-rw-r--r--
1
root root
26832
Jul
212021
/etc/dnsmasq.conf


修改为如下

[root@master-
61
~]
#grep -Ev '^$|^[#;]' /etc/dnsmasq.conf
#定义dnsmasq从哪里获取上游DNS服务器的地址,默认是从/etc/resolv.conf获取
resolv-file=
/etc/r
esolv.dnsmasq.conf

#定义dnsmasq监听的地址,默认是监控本机的所有网卡上。局域网内主机若要使用dnsmasq服务时,指定本机的IP地址
listen
-address=
172.16
.
1.61
# 本地域名配置文件(不支持泛域名),添加内部需要解析的地址和域名(重新加载即可生效)
# 默认读取/etc/hosts
addn-hosts=
/etc/dnsmas
q.hosts

#记录dns查询日志服务器
log
-queries

log
-facility=
/var/l
og/dnsmasq.log

#包含其他文件夹下所有配置文件
conf-dir=
/etc/dnsmas
q.d,.rpmnew,.rpmsave,.rpmorig

2.添加上游dns服务器

[
root@master-61 ~
]
#cat /etc/resolv.dnsmasq.conf
nameserver
223.5.5.5
nameserver
223.6.6.6

3.添加dns解析记录

[
root@master-61 ~
]
#cat /etc/dnsmasq.hosts

172.16.1.80224
web8.cn

172.16.1.90224
web9.cn

4.启动dnsmasq

[
root@master-61 ~
]
#systemctl start dnsmasq

5.测试局域dns记录

1.使用公网dns查询记录
[
root@web-8~
]
#nslookup 0224web9.cn 223.5.5.5



Server:223.5.5.5
Address:223.5.5.5#53

**servercan'tfind 0224web9.cn:NXDOMAIN


2.使用本地dns服务器查询
[
root@web-8~
]
#nslookup 0224web9.cn
Server:172.16.1.61
Address:172.16.1.61#53

Name:0224web9.cn
Address:172.16.1.9

6.小结

  • 部署dns服务器,添加dns解析记录(ip、域名对应关系)
  • 客户端需要指定dns服务器,方可使用这些记录
  • dns查询流程,还有上游服务器提供公网dns记录。
链接:https://www.cnblogs.com/sxy-blog/p/17559133.html
(版权归原作者所有,侵删)
继续阅读
阅读原文