Linux之高速缓存DNS解析

一.DNS的背景

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

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

(3)DNS的四种状态:

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

(4)基本信息

端口号:53

配置文件:/etc/named.conf

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

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

二.DNS的安装与启用

解析端:把DNS加入防火墙策略


(1)yum install bind -y            ##下载DNS服务


(2)vim /etc/named.conf
        listen-on port 53 { any; };        ##53端口对所有用户开放
        allow-query     { any; };           ##允许询问对所有用户开放
        forwarders {172.25.254.6;};      ##当查不到IP,去询问172.25.254.250

(3)客户端:

vim /etc/resolv.conf

dig www.baidu.com

三.正向解析(给个域名返回IP)
解析端(是高级的解析端,所以不再询问任何服务器)

解析的流程:dig www.westos.com-->/etc/resolv.conf-->/etc/name.conf--->/etc/named.rfc1912.zones-->/var/name/westos.com.zone

(1)vim /etc/name.conf


(2)vim /etc/named.rfc1912.zones

(3)cp -p  /var/name/named.localhost    /var/name/westos.com.zone  ## -p :权限也复制过来;named.localhost :是解析文件的模版

(4)vim  /var/name/westos.com.zone

A : IPV4  |  AAA:IPV6

dns   A  172.25.254.104    ##dns的名称,也就是提供解析的服务器

表示vim /etc/named.rfc1912.zones里维护的域名,不以点结束,就会在后面自动加上维护的域名


(5)systemctl  restart  named

客户端

(1)vim /etc/resolv.conf


(2)dig www.westos.com

QUESTION SECTION: 提出实际的DNS查询

AUTHORITY SECTION:负责区域的名称服务器

ADDITIONAL SECTION:提供的其他信息,通常时关于名称服务器


四.解析轮询(交替的的解析bbs.westos.com)

解析端:

vim  /var/named/westos.com.zone


CNAME  ###把外部域名转换为内部域名

客户端:

vim  /etc/resolv.conf   ###客户端解析让客户端知道去那台主机去询问


dig www.westos.com   交替的解析www.westos.com


五.反向解析(给IP返回域名)

反向解析流程:dig -x  172.25.254.222(客户端提出询问)-->/etc/resolv.conf(客户端的本地解析)-->/etc/name.conf--->/etc/named.rfc1912.zones-->/var/name/westos.com.ptr

解析端:

vim /etc/named.conf   


vim  /etc/named.rfc1912.zones   (反向解析,要把IP倒过来写)


cp -p  /var/named/named.loopback    /var/named/westos.com.ptr     ###复制模板

vim /named/westos.com.ptr


客户端:

vim /etc/resolv.conf


(1)询问172.25.254.222的域名为www.westos.com


(2)询问172.25.254.111的域名为bbs.westos.com


六.双向解析(指定本地网络和外部网)

server IP: 172.25.254.104

client   IP:172.25.254.204

双向解析流程:

(1)本地网:dig www.westos.com-->/etc/resolv.conf-->/etc/name.conf--->/etc/named.rfc1912.zones-->/var/name/westos.com.zone

(2)外网:dig www.westos.com-->/etc/resolv.conf-->/etc/name.conf--->/etc/named.rfc1912.zones.inter-->/var/name/westos.com.inter

解析端:

(1)设置主配置文件

vim /etc/named.conf

指定172.25.254.104仅能访问内网


(2)设置内外网络的子配置文件

cp -p      /etc/named.rfc1912.zones    /etc/named.rfc1912.zones.inter    ##把子配置文件复制, /etc/named.rfc1912.zones设置本地网络, /etc/named.rfc1912.zones.inter设置外部网络

vim  /etc/named.rfc1912.zones


vim  /etc/named.rfc1912.zones.inter


(3)设置内外网的配置信息

cp  -p   /var/named/westos.com.zone    /var/named/westos.com.inter

vim /var/named/westos.com.zone


vim /var/named/westos.com.inter


客户端:

(1)内网询问www.westos.com是172.25.254.222


(2)外网询问www.westos.com是192.168.0.111


七.辅助解析(当大量的用户都去询问一台解析主机,势必会导致解析速度的减缓,用户都在排队等待解析,用户体验也不好,这时就需要辅助解析主机去帮助解析,把用户访问量分流,增加了解析速度)

辅助解析流程:dig www.westos.com(请求解析端)-->/etc/resolv.conf(请求解析端的本地解析nameserver  172.25.254.204)-->/etc/name.conf(辅助解析端主配置文件)--->/etc/named.rfc1912.zones-->/var/name/slaves/westos.com.zone(从主解析端同步目录slaves/westos.com.zone)

1.配置辅助解析端 IP : 172.25.254.204

同样的安装解析服务:yum install bind -y            ##下载安装解析服务

把服务加入防火墙策略:


vim /etc/named.conf

内外网的访问实验做完后,恢复主配置文件,避免对下面实验的影响


2.配置辅助解析端的子配置文件

vim /etc/named.rfc1912.zones

zone "westos.com"IN {

type slave;                                   ##类型是辅助解析

masters {172.25.254.104;};         ##指定主解析端IP

file "slaves/westos.com.zone";    ##更新的文件   

allow-update { none;};                  ##仅允许辅助解析端更新

};

3.配置主解析端的主配置文件

also-notify {172.25.254.204;};        ##配置文件信息更新后通知辅助解析端


systemctl  restart  named     ##辅助解析端重启服务把主服务器/var/named/westos.com.zone更新到/var/named/slaves目录下,是同步更新,所以辅助端不用再建立子配置信息,重启服务就同步更新,客户端也可以访问到

客户端 IP:172.25.254.78

vim /etc/resolv.conf

nameserver 172.25.254.204      ###辅助解析端IP

dig www.westos.com    ###成功解析


八.远程解析

1.辅助解析端的配置保持不变

2.主解析端:

vim /etc/named.rfc1912.zones

type master;                                    ###类型是主解析

file "westos.com.zone";

allow-update { 172.25.254.204; };   ##允许辅助解析端更新

also-notify {172.25.254.204;};        ##IP更新后通知辅助解析端


3.辅助解析端远程更新


查看主解析端的日志

(1)第一次更新失败(用户组没有写的权利)


给用户组添加写的权利


(2)第二次更新失败(selinux权限限制)


打开写的权限


远程更新成功


九.远程加密更新(每个主机IP都可以改成主解析端允许更新的IP,这样就不安全了)

1.主解析端生成密码并且把密码发送到更新端

cp /etc/rndc.key /etc/westos.key -p        ##和权限一起复制过来

cat /etc/westos.key                                 ##查看密码类型HAMC-MD5(HAMC-MD5是对称加密,所以公钥和私钥都发给更新端)

dnssec-keygen -a HAMC-MD5 -b 128 -n HOST westos  ##建立钥匙的名称

cat  生成的文件.key                                                            ##把生成的密码复制到/etc/westos.key

下图有个错误/etc/westos.key的密钥名称是开始指定的westos,当时没有远程更新成功,之后及时改正了,但是图没有改正过来


vim /etc/named.conf

include "/etc/westos.key"               ##钥匙的路径


vim /etc/named.rfc1912.zones

allow-update { key westos; };     ###以钥匙的名称开启更新


systemctl restart named                   ##重启服务

2.辅助解析端远程更新


 同样的也可以删除解析

update add hello.westos.com 86400 A 172.25.254.123

测试:

远程加密更新成功


删除hao123.westos.com


再次解析,报错服务器没有这样的名称


十.动态域名解析

1.主解析端

yum install dhcp -y            ##下载安装dhcp,提供动态IP

vim dhcp/dhcpd.conf  


ddns-update-style interim;                 ###记得开启dhcp中的dns解析更新告知


2.修改client的网卡eth0类型为DHCP并且重启网络服务

client获得的IP在主解析端DHCP的网池里


3.查询client的主机名,并解析主机名,成功解析172.25.254.10


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值