Linux系统下的高速缓存DNS

DNS的背景

DNS(Domain Name System,域名系统),万维网上作为 域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。通过域名,最终得到该域名对应的IP地址的过程叫做域名解析(或主机名解析)。DNS协议运行在UDP协议之上,使用端口号53。

高速缓存DNS:当第一次访问www.baidu.com时,需要一段时间去解析,之后再次访问www.baidu.com,几乎没有延迟,因为在解析端已经把www.baidu.com的信息缓存了,直接调用即可。

DNS的四种状态:

NOERROR     ##查询成功
NXDOMAIN    ##服务器提示不存在这样的名称
SERVFAIL      ##服务器停机或者DNSSEC相应验证失败
REFUSED      ##服务器拒绝回答

基本信息

端口号:53

配置文件:/etc/named.conf

子配置文件:/etc/named.rfc1912.zones

解析文件目录:/var/named/

DNS环境的配置:

真机为测试机

真机上开启防火墙的伪装功能   firewall-cmd --add-masquerade

真机查看内核功能 

若为0,则编辑vim  /etc/sysctl.conf

最后一行加上net.ipv4.ip_forward=1

net.ipv4.ip_forward=1

sysctl -p 刷新

虚拟机上配置

vim /etc/sysconfig/network-scripts/ifcfg-eth0       ###编辑网卡eth0的配置信息

GATEWAY=172.25.254.77         ###将网关设置成172.25.254.77(开启伪装功能火墙的主机的一张网卡的ip地址)

确保虚拟机可以上网

设置高速缓存DNS

在一台虚拟机上面下载bind软件
yum search dns                    ###查找dns软件,此软件名称是bind.x86_64
yum install bind.x86_64 -y   ###安装bind软件
systemctl stop firewalld       ###关闭此机器的火墙
systemctl start named         ###     
vim /etc/named.conf            ###编辑文件分别修改下面的四个地方

13         listen-on port 53 { any; };                    ###将网卡上的ip的53接口打开,这个接口用于dns的传送

19         allow-query     { any; };                        ###此部分如果是locahost,就是只允许本机查询,any——>允许所有人查询
20         forwarders {114.114.114.114; };      ###设置首先查的dns服务器是114.114.114.114,此操作会节省响应时间,不做此设置,系统甚至会去美国的dns服务器查询(源服务器)

33
dnssec-validation no; ##不发送给网警机构进行检测

在真机测试端

vim /etc/resolve.conf
nameserver 172.25.254.107   ###高速缓存服务器

systemctl stop firewalld            ###将firewalld服务关掉,火墙会影响服务

在虚拟机dns

dig www.163.com

在真机测试端也dig同一个网址,如果在测试端dig的响应时间远远小于dns服务器端的响应时间,说明实验成功。

dig www.163.com  

DNS的正向解析()用域名解析到IP

vim /etc/named.rfc1912.zone               ###此文件是文件/etc/named.conf文件的扩展文件,里面写的是什么就在什么文件中查询

文件中写入:
 25 zone "westos.com" IN {                    ###域wetsos.com在westos.com.zone文件中查询
 26         type master;
 27         file "westos.com.zone";
 28         allow-update { none; };
 29 };
 

cd /var/named
cp -p named.localhost    westos.com.zone   ###注:前边是正向解析的模板文件
vim westos.com.zone                                      ###编辑查询文件
 1 $TTL 1D
  2 @       IN SOA  dns.westos.com. yoyo.westos.com. (       ###注:前面一个域名是域名起始,后面一个域名是记录维护该域名服务器的人
  3                                         0       ; serial            ###文件修改标记,后面会介绍其用法
  4                                         1D      ; refresh        ###刷新客户的缓存时间
  5                                         1H      ; retry            ###查询不到的话,用户可以在一个小时之后再次查询
  6                                         1W      ; expire        ###死亡期限,1W天
  7                                         3H )    ; minimum   ###最短时间,在此时间内可以用缓存来回应查询:q:
  8         NS      dns.westos.com.
  9 dns        A       172.25.254.107
 10 www     A       172.25.254.106

此文件中在系统读取的时候会默认加上westos.com,所以在书写 完整域名的时候要在最后加上点(.),表示完整的域名,否则会报错

在真机测试主机中
vim /etc/resolv.conf
nameserver 172.25.254.107

dig www.westos.com

dig dns.westos.com

反向解析 ()用ip地址反向解析到域名

vim  /etc/named.rfc1912.zones
在文件中写入;
 49 zone "254.25.172.in-addr.arpa" IN {        ###反向书写
 50         type master;
 51         file "172.25.254.ptr";                         ###在172.25.254.ptr文件中查询
 52         allow-update { none; };
 53 };

cd /var/named/
 cp -p named.loopback 172.25.254.ptr          ###named.loopback是反向解析的模板文件,注意要加上-p,将文件所有的权限复制过来

vim 172.25.254.ptr

测试

[root@localhost named]# dig -x 172.25.254.106

猜你喜欢

转载自blog.csdn.net/weixin_44280881/article/details/87854988
今日推荐