一、 实验环境

本次使用Centos7.8系统

名称 IP
DNS-cache(缓存服务器) 10.20.177.248
DNS-client(客户端) 10.20.177.97

二、所需软件

此处默认大家的yum源都可用

软件 安装命令 作用
bind yum -y install bind DNS软件
bind-utils yum -y install bind-utils bind工具包
tcpdump yum -y install tcpdump 抓包工具,用于抓包验证缓存是否生效

三、软件安装

步骤一的2台服务器均需安装,以下仅举一例:

[root@10-20-177-248 ~]# yum -y install bind
[root@10-20-177-248 ~]# yum -y install bind-utils
[root@10-20-177-248 ~]# yum -y install tcpdump

四、缓存服务器配置

1、临时关闭firewalld、selinux。(重启后恢复)

[root@10-20-177-248 ~]# systemctl stop firewalld
[root@10-20-177-248 ~]# setenforce 0

2、修改/etc/named.conf(此文件为bind的主配置文件)

3、开启服务

[root@10-20-177-248 ~]# systemctl start named

五、客户端配置

客户端可视为我们的个人电脑,此处使用Centos系统仅作实验

1、修改DNS地址为上面的缓存服务器地址:10.20.177.248。并重启网卡

2、清除DNS缓存(2台服务器均要清除,此处仅举例)

[root@10-20-177-97 ~]# rndc flush

3、客户端ping www.baidu.com,发起DNS请求。
(由于DNS缓存服务器配置的公网DNS的IP地址为北京的DNS服务器,而此次测试的服务器在其他省份。所以,当我ping www.baidu.com的时候,客户端会将请求发到北京DNS服务器上去解析,由于地理距离较远,可以实际感受到ping出后有短暂的停顿时间,这也可以从侧面说明我的请求到了较远的DNS服务器上)

[root@10-20-177-97 ~]# ping www.baidu.com
PING www.a.shifen.com (110.242.68.4) 56(84) bytes of data.
64 bytes from 110.242.68.4 (110.242.68.4): icmp_seq=1 ttl=50 time=35.4 ms
64 bytes from 110.242.68.4 (110.242.68.4): icmp_seq=2 ttl=50 time=35.1 ms
64 bytes from 110.242.68.4 (110.242.68.4): icmp_seq=3 ttl=50 time=35.2 ms
[root@10-20-177-97 ~]#

此时,我们得到一个www.baidu.com解析的IP:110.242.68.4
百度搜索这个IP发现,地理位置基本接近:

六、验证

1、清除2台服务器的DNS缓存(具体命令此处不再赘述,请看上文)
2、服务器端启动抓包(此处针对北京DNS和客户端IP做了分别抓包),客户端首次ping www.baidu.com,抓包结果如下:

[root@10-20-177-248 data]# tcpdump -i eth0 -nn 'host 202.106.196.115'
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes
20:09:31.461315 IP 10.20.177.248.55993 > 202.106.196.115.53: 9865+% [1au] A? www.baidu.com. (42)
20:09:31.493690 IP 202.106.196.115.53 > 10.20.177.248.55993: 9865 3/0/0 CNAME www.a.shifen.com.,
20:09:31.494169 IP 10.20.177.248.37890 > 202.106.196.115.53: 29759+ A? www.a.shifen.com. (34)
20:09:31.526190 IP 202.106.196.115.53 > 10.20.177.248.37890: 29759 2/0/0 A 110.242.68.3, A 110.24
20:09:31.563797 IP 10.20.177.248.33884 > 202.106.196.115.53: 64805+ PTR? 4.68.242.110.in-addr.arp
20:09:32.764034 IP 10.20.177.248.60514 > 202.106.196.115.53: 53296+ PTR? 4.68.242.110.in-addr.arp
20:09:32.791882 IP 202.106.196.115.53 > 10.20.177.248.60514: 53296 NXDomain 0/1/0 (132)
^C
7 packets captured
7 packets received by filter
0 packets dropped by kernel
[root@10-20-177-248 data]#
[root@10-20-177-248 ~]# tcpdump -i eth0 -nn 'host 10.20.177.97'
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes
20:09:31.460465 IP 10.20.177.97.49630 > 10.20.177.248.53: 12385+ A? www.baidu.com. (31)
20:09:31.526552 IP 10.20.177.248.53 > 10.20.177.97.49630: 12385 3/0/0 CNAME www.a.shifen.com., A
20:09:31.563337 IP 10.20.177.97.60468 > 10.20.177.248.53: 51262+ PTR? 4.68.242.110.in-addr.arpa.
20:09:32.792264 IP 10.20.177.248.53 > 10.20.177.97.60468: 51262 NXDomain 0/1/0 (132)
20:09:36.467310 ARP, Request who-has 10.20.177.248 tell 10.20.177.97, length 46
20:09:36.467347 ARP, Reply 10.20.177.248 is-at fa:6e:a5:24:7f:00, length 28
^C
6 packets captured
6 packets received by filter
0 packets dropped by kernel
[root@10-20-177-248 ~]#

通过抓包可发现,本次缓存服务器向公网DNS做了域名解析请求

3、在不清除缓存的情况下,客户端再次ping www.baidu.com,抓包结果如下:

[root@10-20-177-248 data]# tcpdump -i eth0 -nn 'host 202.106.196.115'
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes
20:14:05.794949 IP 10.20.177.248.60653 > 202.106.196.115.53: 64942+ PTR? 3.68.242.110.in-addr.arpa. (43)
20:14:06.995367 IP 10.20.177.248.39769 > 202.106.196.115.53: 1872+ PTR? 3.68.242.110.in-addr.arpa. (43)
20:14:07.024789 IP 202.106.196.115.53 > 10.20.177.248.39769: 1872 NXDomain 0/0/0 (43)
^C
3 packets captured
3 packets received by filter
0 packets dropped by kernel
[root@10-20-177-248 data]#
[root@10-20-177-248 ~]# tcpdump -i eth0 -nn 'host 10.20.177.97'
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes
20:14:05.755494 IP 10.20.177.97.33145 > 10.20.177.248.53: 48640+ A? www.baidu.com. (31)
20:14:05.755831 IP 10.20.177.248.53 > 10.20.177.97.33145: 48640 3/0/0 CNAME www.a.shifen.com., A 110.242.68.3, A 110.242.68.4 (90)
20:14:05.794555 IP 10.20.177.97.34796 > 10.20.177.248.53: 34447+ PTR? 3.68.242.110.in-addr.arpa. (43)
20:14:07.025150 IP 10.20.177.248.53 > 10.20.177.97.34796: 34447 NXDomain 0/0/0 (43)
20:14:10.759439 ARP, Request who-has 10.20.177.97 tell 10.20.177.248, length 28
20:14:10.759708 ARP, Reply 10.20.177.97 is-at fa:c3:eb:9c:25:00, length 46
^C
6 packets captured
6 packets received by filter
0 packets dropped by kernel
[root@10-20-177-248 ~]#

通过抓包可发现,本次缓存服务器直接回复了客户端的域名解析请求

4、如何查看服务器缓存了哪些解析到的地址?
缓存仅保存在服务器内存中,此处有一个命令:rndc dumpdb。可将内存数据保存成文件:/var/named/data/cache_dump.db

[root@10-20-177-248 data]#pwd
/var/named/data
[root@10-20-177-248 data]# ls
named.run
[root@10-20-177-248 data]# rndc dumpdb
[root@10-20-177-248 data]# ls
cache_dump.db  named.run
[root@10-20-177-248 data]# cat cache_dump.db
;
; Start view _default
;
;
; Cache dump of view '_default' (cache _default)
;
$DATE 20201227122121
; answer
4.68.242.110.in-addr.arpa. 2627 IN \-ANY ;-$NXDOMAIN
; 110.in-addr.arpa. SOA ns1.apnic.net. read-txt-record-of-zone-first-dns-admin.apnic.net. 3006096239 7200 1800 604800 3600
; answer
www.baidu.com.      279 IN CNAME www.a.shifen.com.
; answer
www.a.shifen.com.   47  A   110.242.68.447  A   110.242.68.3
;
; Address database dump
;
; [edns success/4096 timeout/1432 timeout/1232 timeout/512 timeout]
; [plain success/timeout]
;
;
; Unassociated entries
;
;   202.106.196.115 [srtt 146314] [flags 00000008] [edns 1/0/0/0/0] [plain 7/6] [udpsize 512] [ttl 1090]
;
; Bad cache
;
;
; SERVFAIL cache
;
;
; Start view _bind
;
;
; Cache dump of view '_bind' (cache _bind)
;
$DATE 20201227122121
;
; Address database dump
;
; [edns success/4096 timeout/1432 timeout/1232 timeout/512 timeout]
; [plain success/timeout]
;
;
; Unassociated entries
;
;
; Bad cache
;
;
; SERVFAIL cache
;
; Dump complete
[root@10-20-177-248 data]#

查看文件内容可以看到,www.baidu.com解析的地址在里面。

Centos7 bind dns缓存服务器搭建?dns缓存在哪?如何验证是缓存在生效?相关推荐

  1. DNS与服务器搭建-Linux每日一练(10)

    今天的文章有点长,因为DNS三两句话说不完,容我慢慢道来. DNS(Domain Name System)域名系统,也就是把某个网址解析成 ip 的服务,对于私有云的方案,有可能会自建 DNS 服务器 ...

  2. 腾讯云linux配置服务器配置,centos7+腾讯云服务器搭建wordpress

    title: centos7+腾讯云服务器搭建wordpress date: 2020-03-04 categories: web tags: [wordpress] 分两部分:1.搭建LEMP环境 ...

  3. linux 6 dns,RHEL6下搭建DNS服务器

    DNS是大部分网络服务基石,DNS解释的主要作用就是让域名替换IP,即:人们通过记忆的域名找到该域名所对应的物理主机的真实地址,可以方便人记忆.所以说DNS解释是大部分网络服务的基石,可想而知,人记I ...

  4. Bind9:配置 DNS 授权服务器和 DNS 缓存服务器

    文章目录 Bind9 安装 配置 DNS 授权服务器 配置 named.conf.options 添加正向解析 db.test.com 添加反向解析 db.1.169.183 配置 named.con ...

  5. linux 子域dns,linux下搭建DNS子域及相关授权详解

    linux下搭建DNS子域及相关授权详解forward功能是本地无法解析的域名,转发给指定DNS服务器 forward only; 所有无法解析的域名,都转发给指定DNS服务器,必须有解析结果 for ...

  6. linux做子域dns,linux下搭建DNS子域及相关授权详解

    linux下搭建DNS子域及相关授权详解 forward功能是本地无法解析的域名,转发给指定DNS服务器 forward only; 所有无法解析的域名,都转发给指定DNS服务器,必须有解析结果 fo ...

  7. 配置DNS辅助服务器:DNS系列之四

    配置DNS辅助服务器 在前面的博文中,我们介绍了如何在DNS服务器中创建常用的DNS记录,本文中我们要为大家介绍如何配置DNS的辅助服务器,同时也要介绍一下和辅助区域类似的存根区域. DNS辅助服务器 ...

  8. linux dns子域服务器,linux DNS子域授权(二)

    子域授权,在原有的域上再划分出一个小的区域并指定新DNS服务器.在这个小的区域中如果有客户端请求解析,则只要找新的子DNS服务器.这样的做的好处可以减轻主DNS的压力,也有利于管理.这次只做正向区域的 ...

  9. linux 红帽 服务dns,Linux小红帽搭建dns服务器

    DNS(Domain Name System,域名系统),万维网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串.通过域名,最终得 ...

最新文章

  1. (C++)除基取余法:将十进制数转化为Q进制数
  2. 第一次用51的博客,记录一下笔记
  3. Unity中date相关问题
  4. html简单父子页面,js 的 iframe 父子页面通信的简单方法
  5. 循环往数组中添加对象
  6. disk磁盘管理与Linux驱动编写
  7. kb3042553显示不适用计算机,KB3042553补丁打不上,怎么办?
  8. ab flash player 8_八年级上册英语同步练测考和AB卷听力链接(福建版)
  9. kubernetes中port、target port、node port的对比分析,以及kube-proxy代理
  10. 前景检测算法(八)--SACON算法
  11. 用于服务器接入的防火墙网关的八个关键×××
  12. 基于SSM的房屋租赁管理系统
  13. js计算100以内所有奇数的和
  14. 智能工厂ERP解决方案
  15. bi工具市场排行榜-bi工具报价
  16. JAVA—— MySQL高级(二)
  17. 作为前端,如何帮帝都的朋友租到合适的房子
  18. 韦东山Linux视频第1期
  19. WIN10 3个手指拖动_用好笔记本的触摸板(win10小技巧)
  20. 《ACT 敏捷教练战术手册》正式发布:ACT 是什么?它和 Scrum 与 Kanban 有什么区别? ...

热门文章

  1. 使用者——初见Pixhawk
  2. 干货分享 | 数据分析资源,应有尽有!
  3. 期权希腊值之gamma【python复现】
  4. kettle 生成随机数
  5. spring framwork-ioc容器
  6. 河南专升本2018年高等数学真题
  7. 前端基础(八)_盒子模型(标准盒子模型和怪异盒子模型)
  8. Ubuntu:vim键盘上下左右按键变ABCD
  9. inner join 链表_链表树——复合数据结构应用实例
  10. C++ builder问题 图片镜像处理Led show