Linux系统下的DNS(配置高速缓存DNS,DNS正向解析,DNS反向解析,DNS双向解析,DNS服务器同步更新)

缓存DNS服务器

BIND是最广泛使用的开源名称服务器,在RHEL中,通过bind软件包提供防火墙开启端口 53/TCP 和 53 /UDP,53端口是DNS服务的端口。
BIND的主配置文件是 /etc/named.conf
/var/named/目录包含名称服务器所使用的其他数据文件

DNS的排错

NOERROR:查询成功
NXDOMAIN:DNS服务器提示不存在这样的名称呢个
SERVFAIL:DNS服务器停机或DNSSEC响应验证时被
REFUSED:DNS服务器拒绝回答(也许是出于访问控制的原因;可以查看防火墙状态是否允许DNS服务)

配置高速缓存DNS

操作步骤
1.选择一台主机作为DNS服务器

配置IP
设定主机名为:dns-server
配yum源
下载bind服务器

Linux系统下的DNS(配置高速缓存DNS,DNS正向解析,DNS反向解析,DNS双向解析,DNS服务器同步更新)_第1张图片
Linux系统下的DNS(配置高速缓存DNS,DNS正向解析,DNS反向解析,DNS双向解析,DNS服务器同步更新)_第2张图片
2.将dns服务添加到火墙中

systemctl  start firewalld
firewall-cmd --permenant --add-service=dns
firewall-cmd --reload        ##永久添加dns服务
firewall-cmd --list-all         ##查看dns服务是否添加成功

Linux系统下的DNS(配置高速缓存DNS,DNS正向解析,DNS反向解析,DNS双向解析,DNS服务器同步更新)_第3张图片
3.对bind的配置文件进行修改

netstat -antulpe | grep named   ##查询此时53端口的开放情况
vim /etc/named.conf    ##bind的配置文件
listen-on port 53 {any;};  ##监听所有的53端口
allow-query    {any;};     ##允许所有主机询问
forwarders    {114.114.114.114;}; ##当无法在该主机中寻找到答案时,让其访问114.114.114.114寻求答案
dnssec-validation no;    ##不检测dns
systemctl restart named   ##重启服务

Linux系统下的DNS(配置高速缓存DNS,DNS正向解析,DNS反向解析,DNS双向解析,DNS服务器同步更新)_第4张图片
在这里插入图片描述
4.dns服务器

vim /etc/resolv.conf
添加dns为nameserver为172.25.254.(dns服务器ip)

测试注意测试需要有网络的环境下

dig 对应的域名查看对应秒数

Linux系统下的DNS(配置高速缓存DNS,DNS正向解析,DNS反向解析,DNS双向解析,DNS服务器同步更新)_第5张图片
Linux系统下的DNS(配置高速缓存DNS,DNS正向解析,DNS反向解析,DNS双向解析,DNS服务器同步更新)_第6张图片
在测试机中

vim /etc/resolv.conf
添加dns为nameserver为172.25.254.(dns服务器ip)
dig 相应的域名     ##观察连通的秒数

Linux系统下的DNS(配置高速缓存DNS,DNS正向解析,DNS反向解析,DNS双向解析,DNS服务器同步更新)_第7张图片
Linux系统下的DNS(配置高速缓存DNS,DNS正向解析,DNS反向解析,DNS双向解析,DNS服务器同步更新)_第8张图片

DNS资源记录

DNS区域采用资源记录的形式存储信息。每条资源记录均具有一个类型,表明其保留的数据类型。

A 名称至IPV4的地址(正向解析)
AAA 名称至IPV6的地址 (正向解析)
CNAME 名称至“规范名称“(包含A/AAAA记录的另一个名称)
PTR IPV4/IPV6地址至名称(DNS反向解析0
MX 用于名称的邮件交换器(向何处发送其电子邮件)
NS 域名的名称服务其
SOA “授权起始“,DNS区域的信息(管理信息)

DNS正向解析

操作步骤:
在dns-server中

vim /etc/named.conf   ##找到解析文件

Linux系统下的DNS(配置高速缓存DNS,DNS正向解析,DNS反向解析,DNS双向解析,DNS服务器同步更新)_第9张图片

vim /etc/named.rfc1912.zones   ##使其访问所需要的配置文件
zone "westos.com" IN{
              type master;
              file "westos.com.zone"   ##查找该文件
              allow-update {none;};
 };

Linux系统下的DNS(配置高速缓存DNS,DNS正向解析,DNS反向解析,DNS双向解析,DNS服务器同步更新)_第10张图片

cd /var/named/   ##切换到该目录下,查找正向解析文件模板
named.localhost   ##正向解析文件模板
cp -p named.localhost westos.com.zone    ##-p一定要加,要将权限一起复制过去

在这里插入图片描述

vim westos.com.zone   ##编辑正向解析策略
systemctl restart named

Linux系统下的DNS(配置高速缓存DNS,DNS正向解析,DNS反向解析,DNS双向解析,DNS服务器同步更新)_第11张图片
测试
在测试主机中

vim /etc/resolv.conf    
nameserver 172.26.254.104(dns-serverIP)
dig www.westos.com     ##查看是否解析出对应ip

Linux系统下的DNS(配置高速缓存DNS,DNS正向解析,DNS反向解析,DNS双向解析,DNS服务器同步更新)_第12张图片

DNS的CNAME

域名分为内部域名和外部域名,对于用户来说,只需要知道外部域名就可以查询到该公司的所有业务;而对于公司的管理人员而言,内部域名便于对某一块业务进行管理。
一般来说,内部域名之间存在轮循转换。
CNAME的配置

cd /var/named/
vim westos.com.zones
bbs CNAME linux
linux  A 172.25.254.111
linux  A  172.25.254.222

Linux系统下的DNS(配置高速缓存DNS,DNS正向解析,DNS反向解析,DNS双向解析,DNS服务器同步更新)_第13张图片

systemctl restart named

测试
在dns-server上

dig  bbs.westos.com   

DNS的MX(stmp)

MX:用于名称的邮件交换器(向何处发送其电子邮件)
配置的操作步骤:

vim /etc/named/westos.com.zone
westos.com. Mx 1 172.25.254.4. 
systemctl restart named
mail [email protected] ##向westos.com发送邮件
mailq   ##查看邮件是否发送成功
mail    ##邮件未发送成功是因为接收smtp端口:25端口没有开启
netstat -antulpe | grep 25   ##查看25端口的状态

DNS反向解析,配置PTR(通过IP解析域名)

操作步骤:
在dns-server中

vim /etc/named.conf   ##找到解析文件
vim /etc/named.rfc1912.zones   ##使其访问所需要的配置文件
zone "254.25.172" IN{                ##IP反着写
              type master;
              file "westos.com.ptr"   ##查找反向解析文件
              allow-update {none;};
 };

Linux系统下的DNS(配置高速缓存DNS,DNS正向解析,DNS反向解析,DNS双向解析,DNS服务器同步更新)_第14张图片
cd /var/named/ ##切换到该目录下,查找正向解析文件模板
named.loopback ##反向解析文件模板
cp -p named.loopback westos.com.ptr ##-p一定要加,要将权限一起复制过去
vim westos.com.ptr ##编辑反向解析策略
添加反向解析:
112 PTR www.westos.com.
111 PTR bbs.westos.com.
Linux系统下的DNS(配置高速缓存DNS,DNS正向解析,DNS反向解析,DNS双向解析,DNS服务器同步更新)_第15张图片
Linux系统下的DNS(配置高速缓存DNS,DNS正向解析,DNS反向解析,DNS双向解析,DNS服务器同步更新)_第16张图片

systemctl restart named

测试
在测试主机中

vim /etc/resolv.conf    
nameserver 172.26.254.104(dns-serverIP)
dig -x 172.25.254.111       ##查看是否解析出对应域名
dig -x 172.25.254.112      ##查看是否解析出对应域名

Linux系统下的DNS(配置高速缓存DNS,DNS正向解析,DNS反向解析,DNS双向解析,DNS服务器同步更新)_第17张图片

DNS双向解析

地址有外网地址和内网地址之分,外网用户查询到的只能是外网地址,而内网用户查询到内网地址,而双向解析就是对于同一个域名,来解析出用户是属于内网用户还是外网用户。
由DNS的正向解析可以知道DNS服务作用的流程:通过主配置文件->找到对应的/etc/name.rfc1912.zones文件->配置文件中告诉其要维护该域需要寻找下一个文件->westos.com.zone->更改配置文件中的解析策略;对于配置双向解析,我们设定内网和外网,将其区分开,按照配置DNS正向解析的逆流程进行配置。
配置DNS双向解析配置步骤
1.

cp -p westos.com.zone  westos.com.localnet
vim westos.com.localnet       ##内网解析策略,全文将172.25.254替换为192.168.0
cp -p /etc/named.rfc1912.zone /etc/named.rfc1912.localnet  
vim /etc/named.rfc1912.localnet
在文件中写入:
zone "westos.com" IN {
            type master;
            file "westos.com.localnet";
            allow-update {none; };
 };  

Linux系统下的DNS(配置高速缓存DNS,DNS正向解析,DNS反向解析,DNS双向解析,DNS服务器同步更新)_第18张图片
3.

vim /etc/named.conf
对文件进行以下操作;对用户进行分情况讨论,使之去寻找到相对应的解析文件
 
添加
view localnet{
                 match-clients {172.25.254.104; };
                 zone "."  IN {
                               type hint;
                               file "named.ca";
                  };
                  include   "/etc/named.rfc1912.localnet";       ##当匹配用户匹配到172.25.254.104时,查找内网解析文件
      }                 
view internet {
                 match-clients {any; };
                 zone "."  IN {
                               type hint;
                               file "named.ca";
                  };
                  include   "/etc/named.rfc1912.zones";    ##当匹配用户为除了172.25.254.104(内网用户),都查找外网解析文件
      }                 

Linux系统下的DNS(配置高速缓存DNS,DNS正向解析,DNS反向解析,DNS双向解析,DNS服务器同步更新)_第19张图片

systemctl restart named

分散DNS-server的压力(集群,冗余)

配置方法:
1.再找一台dns服务器作为辅助dns-server

配置IP
配yum源
下载bind服务器

2.将dns服务添加到火墙中

systemctl  start firewalld
firewall-cmd --permenant --add-service=dns
firewall-cmd --reload        ##永久添加dns服务
firewall-cmd --list-all         ##查看dns服务是否添加成功

Linux系统下的DNS(配置高速缓存DNS,DNS正向解析,DNS反向解析,DNS双向解析,DNS服务器同步更新)_第20张图片
3.对bind的配置文件进行修改

netstat -antulpe | grep named   ##查询此时53端口的开放情况
vim /etc/named.conf    ##bind的配置文件
listen-on port 53 {any;};  ##监听所有的53端口
allow-query    {any;};     ##允许所有主机询问
systemctl restart named   ##重启服务

Linux系统下的DNS(配置高速缓存DNS,DNS正向解析,DNS反向解析,DNS双向解析,DNS服务器同步更新)_第21张图片
4.

vim /etc/named.rfc1912.zones   ##使其访问所需要的配置文件
zone "westos.com" IN{
              type slave;
              masters:主DNS-server IP
              file "slaves/westos.com.zone"   ##查找该文件
              allow-update {none;};
 };

Linux系统下的DNS(配置高速缓存DNS,DNS正向解析,DNS反向解析,DNS双向解析,DNS服务器同步更新)_第22张图片
4.dns服务器

vim /etc/resolv.conf
添加dns为nameserver为172.25.254.(辅助dns服务器ip)

在这里插入图片描述
测试注意测试需要有网络的环境下

dig 对应的域名看服务是否搭建完成

Linux系统下的DNS(配置高速缓存DNS,DNS正向解析,DNS反向解析,DNS双向解析,DNS服务器同步更新)_第23张图片

辅助DNS-server同步主DNS-server的方法
当在主dns-server中改变信息,重启服务;dig;
在辅助dns-server中重启服务,dig发现辅助dns-server并没有同步主dns-server的服务
修改www.westos.com对应的ip为188
Linux系统下的DNS(配置高速缓存DNS,DNS正向解析,DNS反向解析,DNS双向解析,DNS服务器同步更新)_第24张图片
在主dns上dig,已更改信息
Linux系统下的DNS(配置高速缓存DNS,DNS正向解析,DNS反向解析,DNS双向解析,DNS服务器同步更新)_第25张图片
在辅助dns上dig,发现并没有更新
Linux系统下的DNS(配置高速缓存DNS,DNS正向解析,DNS反向解析,DNS双向解析,DNS服务器同步更新)_第26张图片

解决方法
第一种方法:

cd /var/named/slaves/
rm -fr westos.com.zone    ##删除原来的解析文件
sytemctl restart named  ##重启服务,重新生成westos.com.zone文件
dig      ##测试

但是上述方法对于dns-server服务器数量众多的情况并不适用,于是我们采取下列方式:
主dns服务器告知辅助dns服务器信息变动,让辅助dns服务器主动来同步主dns的信息
操作步骤:
在主DNS服务器中

vim /etc/named.rfc1912.zones
添加
also-notify {172.25.254.204}  ##提醒辅助dns服务器来同步
systemctl restart named

Linux系统下的DNS(配置高速缓存DNS,DNS正向解析,DNS反向解析,DNS双向解析,DNS服务器同步更新)_第27张图片
在辅助dns服务器中

systemctl restart named 
dig www.westos.com   ##发现依旧没有同步

在主DNS中更改解析文件
Linux系统下的DNS(配置高速缓存DNS,DNS正向解析,DNS反向解析,DNS双向解析,DNS服务器同步更新)_第28张图片
主DNS服务器dig
Linux系统下的DNS(配置高速缓存DNS,DNS正向解析,DNS反向解析,DNS双向解析,DNS服务器同步更新)_第29张图片
在辅助DNS中dig,发现还是没有同步
Linux系统下的DNS(配置高速缓存DNS,DNS正向解析,DNS反向解析,DNS双向解析,DNS服务器同步更新)_第30张图片
原因是因为主dns服务器虽然提醒辅助dns服务器信息变动来同步,但是辅助dns并没有检测到有需要同步的信息,所以没有进行同步
这一步的解决方法:
更改主DNS服务器中的westos.com.zone文件,将其中的数字进行更改,如图所示
注意:该数字不能超过十位数,而且最好是有意义的数字,例如年月日第几次更新(2019080501)
更改后重启服务
Linux系统下的DNS(配置高速缓存DNS,DNS正向解析,DNS反向解析,DNS双向解析,DNS服务器同步更新)_第31张图片
测试
辅助dns服务器

systemctl restart named
dig www.westos.com   ##同步需要一定的时间

Linux系统下的DNS(配置高速缓存DNS,DNS正向解析,DNS反向解析,DNS双向解析,DNS服务器同步更新)_第32张图片

让主DNS服务器同步某台服务器的更新
操作步骤:
在主DNS上

vim /etc/namedconf
添加
allow-update {172.25.254.4; };     ##允许谁更新
systemctl restart named   

Linux系统下的DNS(配置高速缓存DNS,DNS正向解析,DNS反向解析,DNS双向解析,DNS服务器同步更新)_第33张图片

在允许更新的主机上发送更新信息

nsupdate
>server 172.25.254.主dnsIP
>update add hello.westos.com 86400 A 172.25.254.123
>send

Linux系统下的DNS(配置高速缓存DNS,DNS正向解析,DNS反向解析,DNS双向解析,DNS服务器同步更新)_第34张图片
如果出现报错,查看日志,可能是/var/named/权限不够
在主dns服务器上

chmod  770 /var/named/

允许更新的主机重新发送更新信息,显示发送成功
在主dns服务器上直接dig先不用重启
Linux系统下的DNS(配置高速缓存DNS,DNS正向解析,DNS反向解析,DNS双向解析,DNS服务器同步更新)_第35张图片

在主dns服务器上发现同步更新后,查看 /var/named/下会出现 .jnl文件并且观察westos.com.zone中的文件内容
Linux系统下的DNS(配置高速缓存DNS,DNS正向解析,DNS反向解析,DNS双向解析,DNS服务器同步更新)_第36张图片

备份:cp -p westos.com.zone /mnt/
重启服务:systemctl restart named
dig  重新观察westos.com.zone中的内容,与原先的wetos.com.zone会有区别

在这里插入图片描述

systemctl restart named ##重启服务之后的westos.com.zone文件中的内容

Linux系统下的DNS(配置高速缓存DNS,DNS正向解析,DNS反向解析,DNS双向解析,DNS服务器同步更新)_第37张图片

rm -fr westos.com.zone
rm -fr westos.com.zone.jnl
重新将原wetos.com.zone复制回来
dig   发现还是可以同步更新状态

Linux系统下的DNS(配置高速缓存DNS,DNS正向解析,DNS反向解析,DNS双向解析,DNS服务器同步更新)_第38张图片

你可能感兴趣的:(Linux系统下的DNS(配置高速缓存DNS,DNS正向解析,DNS反向解析,DNS双向解析,DNS服务器同步更新))