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
测试
[[email protected] named]# dig -x 172.25.254.106