一. 高速缓存DNS的概念及其建立意义
1.DNS的含义:
Domain Name System,域名系统。万维网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户方便的访问网络,主要负责把域名和IP地址的互换,DNS运行于TCP|UDP的53端口上
2.什么是高速缓存DNS
DNS服务器可以高速缓存从其它DNS服务器接收到的DNS记录,也可以在DNS客户服务中进行高速缓存,将其作为DNS客户端保存在最近的查询过程中得到的信息高速缓存的方法。
3.高速缓存DNS的作用:
当一个主机第一次访问一个网页的时候,该主机DNS服务器以从远处的服务器拿到数据,并进行高速缓存;这样在主机或者其他主机进行下一次访问的时候,可以直接从该主机的高速缓存中直接获取,这样的方式叫做高速缓存。
二.配置高速缓存
1.实验环境的搭建
(1)网络的配置
- 将真机连上wifi,然后ping 114.114.114.114 网络可以通
- 编辑虚拟机的网络配置文件,并且添加网关为真机ip
vim /etc/sysconfig/network-scripts/ifcfg-eth0
systemctl restart network ##重启网络
- 在真机上:真机为路由器
sysctl -a | grep ip_forward ##查看内核路由功能
net.ipv4.ip_forward = 1 则说明内核路由功能开启 |
systemctl start firewalld ##打开防火墙
firewall-cmd --list-all ##查看火墙装态
firewall-cmd --add-masquerade ##伪装火墙
- 在虚拟机上ping 114.114.114.114能通则说明网络配置成功
(2)yum源的配置
注:首先要准备一个rhel7.0的镜像为rhel-server-7.0-x86_64-dvd.iso然后再搭建共享yum源
- 再真机上搭建共享yum源:
yum源的共享:
cd /var/www/html
mkdir file
mount /home/kiosk/Desktop/rhel-server-7.0-x86_64-dvd.iso file
- 在虚拟机上配置yum源文件
文件编辑内容为:
2.设置虚拟机为高速缓存机DNS
(1)在虚拟机中下载dns
yum install bind -y
(2)设置虚拟机火墙
systemctl stop firewalld
systemctl disable firewalld
(3)开启dns服务
systemctl start named
注:开启服务时,因为系统本身的加密字符不够而服务无法正常开启,可以在虚拟机中敲击键盘,并且只有在服务开启后才可以看到/etc/rndc.key文件
3.在测试端(真机)配置相应的解析文件
vim /etc/resolv.conf
在测试端:dig www.baidu.com
显示没有服务可以到达,是因为模拟的高速缓存的dns服务器的53端口指向的不是dns服务器的ip
在高速缓存服务端:
netstat -antlupe | grep named ##查看服务的端口连接
4.配置服务端的服务器文件并且检测
辅助检测令:dig(域信息搜索器)命令是个用于询问DNS域名服务器的灵活的工具。它执行DNS搜索,显示从受请求的域名服务器返回的答复。多数DNS管理员利用dig作为DNS问题的故障诊断,因为它灵活性好,易用,输出清除。 |
rpm -qc bind ##查看服务的配置文件
vim /etc/named.conf ##编辑服务的配置文件
文件的原始内容如下:
listen-on port 53 { 127.0.0.1; }; | 监听端口53在127.0.0.1上 |
---|---|
allow-query { localhost; }; | 允许进行dns查询的客户的地址 |
-
(1)设定端口对所有人打开
检测:
会出现以下报错:时因为该服务的主配置文件之允许localhost连接
-
(2)允许所有人连接
systemctl restart named 每次配置服务文件完了都要重启网络
检测:
注:本会在图中黑体部分出现SERVFAIL的报错,意思是没有提供服务源,原因如下:
vim /etc/named.conf
因为域名系统中也是存在级别划分的,在使用dig命令时,它先搜索的是没有名字的根,及为“ . "代表它的顶级目录,因此即使没有在配置文件中添加forwarders时,也不会出现错误,因为会直接访问最高级别的根域名。 |
- 添加forwards
名词 | 解释 |
---|---|
forwarders { 114.114.114.114; }; | 设置将dns请求转发到哪个服务区 |
将dnssec关掉:因为是在区域网里面所以不用检测,方便也节省时间
测试:
在真机上:
第二次dig:
在另一台虚拟机上测试:
首先在真机上:
在编辑该测试虚拟机配置文件:
vim /etc/resolv.conf
dig www.taobao.com
发现几乎直接就可以dig到。
dig www.baidu.com
第一次dig
第二次dig
会发现即使在另一台测试机上已经dig过百度了但是在第二台测试机上测试的时候发现第一次dig还是需要很长时间,是因为百度上的数据是在不断更新中的,所以在第一次dig的时候的时间比较慢。