使用bind部署DNS主从服务器
说明:这里是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文件

测试(能正确解析)


最后希望大家提意见、转发、评论和交流!!!
使用bind部署DNS主从服务器的更多相关文章
- Linux的DNS主从服务器部署
下面的部署是在Linux的DNS正向解析部署上进行修改的. 如果有什么问题或者错误,可以访问上篇帖子 下面开始有关DNS的服务部署.<DNS主从服务器> 环境描述: 192.168.196 ...
- centos6.5环境DNS-本地DNS主从服务器bind的搭建
centos6.5环境DNS-本地DNS主从服务器bind的搭建 在上一篇博客中我已经搭建好了一个本地DNS服务器,能够实现正向反向解析,那么我们只需要加入一台从DNS服务器即可完成,我们来开始配置主 ...
- DNS解析原理与Bind部署DNS服务
DNS是什么? DNS(Domain Name System,域名系统)是互联网上最核心的带层级的分布式系统,它负责把域名转换为IP地址.反查IP到域名的反向解析以及宣告邮件路由等信息,使得基于域名提 ...
- DNS主从服务器+mysql
1 .背景 BIND从文本文件中获取数据,这样容易因为编辑错误出现问题. BIND需要将数据加载到内存中,如果域或者记录较多,会消耗大量的内存. BIND启动时解析Zone文件,对于一个记录较多的DN ...
- 基于bind搭建DNS主从
使用bind的主从复制功能可以实现的功能:提供冗余,避免单点故障:均衡负载查询需求,从而提高系统可用性. 一.安装 #bind-chroot 负责DNS安全作用,将bind进程严格限制在特定的目录中 ...
- DNS主从服务器
一.目的: 我们知道,DNS服务器在网络服务中可能出现故障当机等状况,会导致DNS服务瘫痪,显然在实际的网络应用中我们不希望出现这种状况,所有我们就要配置从 服务器来在主DNS服务器出现故障时代替他来 ...
- Linux构建DNS主从服务器
所有服务器:iptables -Fsystemctl stop firewalldsetenforce 0 配置yum 主服务器:[root@localhost ~]# yum -y install ...
- 部署DNS从服务器
修改主服务器中区域信息文件: # vi /etc/named.rfc1912.zones 检查配置文件是否有错误 # named-checkconf 重启named服务程序,让配置文件生效 #syst ...
- bind域名dns解析及主从服务的配置
bind域名dns解析及主从服务的配置 1.dns解析介绍 人们习惯记忆域名,但机器间互相只认IP地址,域名与IP地址之间是多对一的关系,一个ip地址不一定只对应一个域名,且一个域名只可以对应 ...
随机推荐
- Spring IOC(控制反转)思想笔记
Spring IOC(控制反转)思想笔记 IOC控制反转基本理念就是将程序控制权从程序员手中交给用户自定义,从而避免了因为用户一个小需求的变化使得程序员需要改动大量代码. 案例 如果按照之前javaw ...
- 一文带你了解 Redis 的发布与订阅的底层原理
01.前言 发布订阅系统在我们日常的工作中经常会使用到,这种场景大部分情况我们都是使用消息队列的,常用的消息队列有 Kafka,RocketMQ,RabbitMQ,每一种消息队列都有其特性,关于 Ka ...
- Jenkins+Github+Nginx实现前端项目自动部署
前言 最近在搭建一个自己的网站,网站框架搭好了要把项目放到服务器运行,但是每次更新网站内容就要手动部署一次,实在很麻烦,于是就想搭建一套自动化部署的服务.看了一些案例最后选用现在比较主流的Jenkin ...
- 迁移Report Server DataBase时遇到的坑
1.项目背景 由于历史原因,公司部分系统的Report是基于SQL Server Report Service搭建的,且Reporting Services 和Report Server DataBa ...
- token & refresh token 机制总结
token & refresh token 机制总结 废话 我在项目上写了个配置页面,之前很简单直接登录,毕竟配置页面自己人用就没有做token机制,后来公司的安全审核不过,现在要加上toke ...
- R-常见错误
错误一:选择了未定义的列(Undefined columns are selected) 改正方法:把目标列转换成因子类型(as.factor) 使用代码如下: 或者: 错误二:太多(36119)的重 ...
- Keepalive介绍及工作原理
注:keepalive和Nginx和高可用没有关联. 1.什么是高可用,为什么要设计高可用? 1.两台业务系统启动着相同的服务,如果有一台故障,另一台自动接管,我们将国称之为高可用.2.系统可用率算法 ...
- Linux-NFS存储
1.什么是NFS NFS是Network File System 的缩写,中文意思是网络文件共享系统,它的主要功能是通过网络(一般是局域网)让不同的主机系统之间可以共享文件或目录. 2.NFS存储服务 ...
- Libevent2.1.8版在Liunx中编译安装遇到的问题
Libevent2.1.8版在Liunx中编译安装遇到的问题 前言:在网上找了很久,都没有一个明确的解决方法,通过分析可能的原因,将自己实际操作及解决的成功结果记录如下,以供遇到相似的问题,能提供思路 ...
- XCTF GAME
首先这题有两种解法,一种是使用ida查看伪代码直接写exp跑出flag,另外一种是调试,因为最近在学调试,刚好用于实战上了. 一.查壳 二.32位文件拖入od动态调试 先找到game的主要函数,插件中 ...