运维开发网

使用bind部署DNS主从服务器

运维开发网 https://www.qedev.com 2020-07-07 16:13 出处:网络 作者:运维开发网整理
说明:这里是Linux服务综合搭建文章的一部分,本文可以作为单独搭建主从DNS服务器的参考。 如果需要查看相关软件版本和主机配置要求,请根据目录自行查看。 Linux服务综合搭建的文章目录     2、部署DNS 2.1 一些概念 2.1.1 DNS查询类型: 递归查询:客户端只发送一次请求,就能从我们配置的DNS服务器返回最终结果 迭代查询:客户端在发送请求后,我们指定的DNS服务器只会返回一个

说明:这里是Linux服务综合搭建文章的一部分,本文可以作为单独搭建主从DNS服务器的参考。

如果需要查看相关软件版本和主机配置要求,请根据目录自行查看。

Linux服务综合搭建的文章目录

 

 

2、部署DNS

2.1 一些概念

2.1.1 DNS查询类型:

递归查询:客户端只发送一次请求,就能从我们配置的DNS服务器返回最终结果

迭代查询:客户端在发送请求后,我们指定的DNS服务器只会返回一个参考答案

2.1.2解析类型

名称服务器:域内负责解析本域内的名称的主机;

根服务器:13组服务器

解析类型:

       Name --> IP

       IP --> Name

       注意:正反向解析是两个不同的名称空间,是两棵不同的解析树;

              反向解析在早期是很复杂的,难以实现,非常的慢,直到今天,互联网上还有很多主机

       只能正向解析(除开通过设置了只能正向的),但是反向解析又很有用,比如在邮件服务判断垃圾邮件时。

2.1.3 DNS服务器的类型

主DNS服务器

辅助DNS服务器

缓存DNS服务器

转发器

主DNS服务器:维护所负责解析的域内解析库服务器;解析库由管理员维护;

从DNS服务器:从主DNS服务器或其它的从DNS服务器那里“复制”(区域传递)一份解析库;

2.1.4 SOA

序列号:解析库的版本号;前提:主服务器解析库内容发生变化,其序列递增;

刷新时间间隔:从服务器从主服务器请求同步解析库的时间间隔;

重试时间间隔:从服务器从主服务器请求同步解析库失败时,再次尝试的时间间隔;

过期时长:从服务器始终联系不到主服务器时,多久多后放弃从服务器角度,停止提供服务;

"通知"机制:当主服务器发送通知给从服务器,即使刷新时间没到,这样能够保证从服务器尽量不会很落后于主服务器

2.1.5 区域传送(使用TCP的53端口,不是UDP):

       全量传送:传送整个解析库

       增量传送:传递解析库变化的那部分内容

 

2.1.6 区域解析库(由众多RR组成)

资源记录:Resource Record, RR #存储在区域解析库中的

记录类型:A, AAAA, PTR, SOA, NS, CNAME, MX

 

SOA:Start Of Authority,起始授权记录;一个区域解析库有且仅能有一个SOA记录,而必须为解析库的第一条记录;

A:internet Address,作用,FQDN --> IP

AAAA: FQDN --> IPv6

PTR: PoinTeR,IP --> FQDN

NS: Name Server,专用于标明当前区域的DNS服务器

CNAME:Canonical Name,别名记录

MX: Mail eXchanger,邮件交换器  #标识一个域中的哪个服务器是邮件服务器

2.2 foundation作为主DNS

注意:这里要做主从从DNS服务器,必须开启tcp的53端口,

因为DNS在区域间传输时使用的是tcp的53端口,而不是平常我们在使用时常用的udp的53端口。

2.2.1 安装软件包

1 yum install bind bind-libs bind-utils    #安装必要的软件
2 
3 systemctl enable named   #开机自启动

使用bind部署DNS主从服务器

1 firewall-cmd --permanent --add-service=dns && firewall-cmd --reload

使用bind部署DNS主从服务器

配置name服务开机自启动

1 systemctl enable named   #开机自启动

使用bind部署DNS主从服务器

2.2.2 修改主配置文件

 

使用bind部署DNS主从服务器

使用bind部署DNS主从服务器

定义允许同步的DNS服务器,默认是允许所有的,但是这样不安全的。

使用bind部署DNS主从服务器

zone "mei.com." IN {
        type master;
        file "mei.com.zone";
        allow-transfer { trusted-servers; };
};

zone "25.172.in-addr.arpa." IN{ 
        type master;
        file "172.25.zone";
        allow-transfer { trusted-servers; };
};

使用bind部署DNS主从服务器

1 [[email protected]:~]# named-checkconf /etc/named.conf

使用bind部署DNS主从服务器

2.2.3 配置资源记录

 

[[email protected]:~]# cat >>/var/named/mei.com.zone<<EOF
$TTL 86400
$ORIGIN mei.com.
@       IN      SOA     foundation.mei.com.     admin.mei.com.  (
                                        2019020201
                                        1H  
                                        2W  
                                        2H  
                                        1H  
)
@       IN      NS      foundation.mei.com.
@       IN      NS      rhel7.mei.com.
foundation      IN      A       172.25.0.55
pakg    IN      A       172.25.0.55
rhel7   IN      A       172.25.0.15
rhel6   IN      A       172.25.0.25
www     IN      A       172.25.0.55
tomcat   IN     A       172.25.0.15
ftp     IN      CNAME   www 
@       IN      MX 10   admin
admin   IN      A       172.25.0.55
EOF

 

 

[[email protected]:~]# cat >>/var/named/172.25.zone<<EOF
$TTL 86400
$ORIGIN 25.172.in-addr.arpa.
@       IN      SOA     foundation.mei.com.     admin.mei.com. (
                                        2019020201
                                        1H
                                        2W
                                        1H
                                        1D
)
@       IN      NS      rhel7.mei.com.
@       IN      NS      foundation.mei.com.
25.0    IN      PTR     rhel6.mei.com.
55.0    IN      PTR     foundation.mei.com.
15.0    IN      PTR     rhel7.mei.com.
55.0    IN      PTR     www.mei.com.
55.0    IN      PTR     admin.mei.com.
15.0    IN      PTR     tomcat.mei.com.
EOF

 

 

使用bind部署DNS主从服务器

使用bind部署DNS主从服务器

重启服务

1 systemctl restart named

使用bind部署DNS主从服务器

2.2.4 测试

测试(在本机rhel7和rhel6上,注意,rhel6没有nmcli命令)

2.2.4.1 添加主机的DNS服务器

nmcli命令

1 [[email protected] ~]#nmcli con modify interface ipv4.dns 172.25.0.55

使用bind部署DNS主从服务器

修改配置文件

 

使用bind部署DNS主从服务器

2.2.4.2 测试解析是否正常

这里只列贴部分图片

使用bind部署DNS主从服务器

使用bind部署DNS主从服务器

2.2.4.3 测试反向解析

 

使用bind部署DNS主从服务器

2.3 rhel7作为从DNS

注意:这里作为从DNS服务器,必须开启tcp的53端口,因为DNS在区域间传输时使用的是tcp的53端口,而不是平常我们在使用时常用的udp53端口。

从DNS服务器配置

2.3.1 安装bind相关的软件

先配置好yum源,可以使用光盘镜像或者其他yum源,这里使用光盘镜像作为yum源

 

使用bind部署DNS主从服务器

使用bind部署DNS主从服务器

安装软件包

 

使用bind部署DNS主从服务器

配置named服务开机自启

 

使用bind部署DNS主从服务器

2.3.2 修改配置

 

使用bind部署DNS主从服务器

使用bind部署DNS主从服务器

使用bind部署DNS主从服务器

1 firewall-cmd --permanent --add-service=dns && firewall-cmd --reload #防火墙配置

使用bind部署DNS主从服务器

启动服务

使用bind部署DNS主从服务器

2.3.3 模拟区域传送

注意:要马上看到效果,在模拟前最好重启此服务器,重启后会很容易看到/var/named/slaves有同步过来的zone文件

如果安装完后到配置结束都没启动过named服务,那么只要配置正确,一启动服务就能看到同步过来的zone文件。

使用bind部署DNS主从服务器

下面是模拟区域传输

使用dig -t axfr

1 [[email protected] ~]# dig -t axfr mei.com

使用bind部署DNS主从服务器

输出结果如下:(部分)

使用bind部署DNS主从服务器

使用bind部署DNS主从服务器

关闭主DNS

 

使用bind部署DNS主从服务器

然后测试从DNS服务器,能使用从服务器正确解析。

使用bind部署DNS主从服务器

2.3.4 测试rhel6主机的DNS解析

注意,这台主机是rhel6,所以默认不能像rhel7那样使用nmcli命令,它的DNS在网卡配置文件中的写法可以参考/etc/resolv.conf

使用bind部署DNS主从服务器

使用bind部署DNS主从服务器

或者直接修改/etc/resolv.con文件

 

使用bind部署DNS主从服务器

测试(能正确解析)

使用bind部署DNS主从服务器

使用bind部署DNS主从服务器

 

最后希望大家提意见、转发、评论和交流!!!

0

精彩评论

暂无评论...
验证码 换一张
取 消