说明:这里是Linux服务综合搭建文章的一部分,本文可以作为单独搭建主从DNS服务器的参考。
注意:这里所有的标题都是根据主要的文章(Linux基础服务搭建综合)的顺序来做的。
如果需要查看相关软件版本和主机配置要求,请根据目录自行查看。
Linux服务综合搭建的文章目录
====================================================
5、foundation通过Rsyslog搭建集中日志服务器
8、rhel7 JAVA web环境搭建(使用Tomcat8整合httpd)
10、foundation配置kerberos和NTP服务以及安全的NFS挂载
====================================================
主机角色说明
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 #开机自启动
1 firewall-cmd --permanent --add-service=dns && firewall-cmd --reload
配置name服务开机自启动
1 systemctl enable named #开机自启动
2.2.2 修改主配置文件
定义允许同步的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; }; };
1 [root@foundaiton:~]# named-checkconf /etc/named.conf
2.2.3 配置资源记录
[root@foundaiton:~]# 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
[root@foundaiton:~]# 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
重启服务
1 systemctl restart named
2.2.4 测试
测试(在本机rhel7和rhel6上,注意,rhel6没有nmcli命令)
2.2.4.1 添加主机的DNS服务器
nmcli命令
1 [root@rhel7 ~]#nmcli con modify interface ipv4.dns 172.25.0.55
修改配置文件
2.2.4.2 测试解析是否正常
这里只列贴部分图片
2.2.4.3 测试反向解析
2.3 rhel7作为从DNS
注意:这里作为从DNS服务器,必须开启tcp的53端口,因为DNS在区域间传输时使用的是tcp的53端口,而不是平常我们在使用时常用的udp53端口。
从DNS服务器配置
2.3.1 安装bind相关的软件
先配置好yum源,可以使用光盘镜像或者其他yum源,这里使用光盘镜像作为yum源
安装软件包
配置named服务开机自启
2.3.2 修改配置
1 firewall-cmd --permanent --add-service=dns && firewall-cmd --reload #防火墙配置
启动服务
2.3.3 模拟区域传送
注意:要马上看到效果,在模拟前最好重启此服务器,重启后会很容易看到/var/named/slaves有同步过来的zone文件
如果安装完后到配置结束都没启动过named服务,那么只要配置正确,一启动服务就能看到同步过来的zone文件。
下面是模拟区域传输
使用dig -t axfr
1 [root@rhel7 ~]# dig -t axfr mei.com
输出结果如下:(部分)
关闭主DNS
然后测试从DNS服务器,能使用从服务器正确解析。
2.3.4 测试rhel6主机的DNS解析
注意,这台主机是rhel6,所以默认不能像rhel7那样使用nmcli命令,它的DNS在网卡配置文件中的写法可以参考/etc/resolv.conf
或者直接修改/etc/resolv.con文件
测试(能正确解析)
最后希望大家提意见、转发、评论和交流!!!