003.DNS主从正反解析部署
一 实验环境
1.1 实验需求
- 配置正向解析bind
- 配置反向解析bind
- 配置辅助dns的bind
- 实现主辅dns之间的区域传送
1.2 环境规划
主dns:CentOS6.8-01 172.24.8.10 linuxmaster.aliyun.com
辅dns:CentOS6.8-02 172.24.8.11 linuxslave.aliyun.com
yum+www服务器:CentOS7-03 172.24.8.30 mirrors.aliyun.com
client:CentOS6.8-03 172.24.8.20
Domain Name:aliyun.com
二 配置正向解析
- 第一步:使用YUM安装DNS所使用的软件包(BIND)
- 第二步:创建或修改主配置文件(/etc/named.conf)
- 第三步:创建区域数据文件(/var/named/***.zone)
- 第四步:使用相关命令(named-checkconf、named-checkzone)测试配置文件及区域文件是否存在语法错误
- 第五步:确保主配置文件和各区域解析库文件的权限为640,属主为root,属组为named;
- 第六步:重启服务或重新加载配置文件
- 第七步:更改iptables和selinux的设置(如果不了解此两项可以暂时关闭它们)
- 第八步:分别使用(dig/nslookup)在Linux/Windows主机进行查询DNS相关资源记录
2.1 安装bind
1 [root@linuxmaster ~]# yum -y install bind
2.2 配置主配置文件
1 [root@linuxmaster ~]# cat /etc/named.conf
2 ……
3 options {
4 listen-on port 53 { 127.0.0.1; };
5 listen-on-v6 port 53 { ::1; };
6 directory "/var/named"; #存放区域文件根目录,下面给出的相对路径都是相对此目录
7 dump-file "/var/named/data/cache_dump.db";
8 statistics-file "/var/named/data/named_stats.txt";
9 memstatistics-file "/var/named/data/named_mem_stats.txt";
10 allow-query { localhost; }; #允许哪些主机查询
11 recursion yes; #是否允许递归查询
12
13 dnssec-enable yes;
14 dnssec-validation yes;
15
16 /* Path to ISC DLV key */
17 bindkeys-file "/etc/named.iscdlv.key";
18
19 managed-keys-directory "/var/named/dynamic";
20 };
21
22 logging { #定义日志
23 channel default_debug {
24 file "data/named.run";
25 severity dynamic;
26 };
27 };
28
29 zone "." IN { #定义根区域文件名称
30 type hint;
31 file "named.ca"; #相对路径,即可/var/named/named.ca
32 };
33
34 include "/etc/named.rfc1912.zones"; #定义区域配置文件,若要新增也可以在此使用include
35 include "/etc/named.root.key"; #根区域的key文件,与事务签名相关
36 注释以下三行——
37 //listen-on port 53 { 127.0.0.1; };
38 //listen-on-v6 port 53 { ::1; };
39 //allow-query { localhost; };
40 [root@linuxmaster ~]# service named start #启动named服务
41 [root@linuxmaster ~]# ss -taunl | grep "53"
42 [root@linuxmaster ~]# netstat -tlun #验证服务正常启动

2.3 区域配置文件中新增zone
1 [root@linuxmaster ~]# vi /etc/named.conf #在zone文件中增加区域
2 ……
3 zone "aliyun.com" IN {
4 type master;
5 file "aliyun.com.zone";
6 };
7 ……
2.4 新建区域zone文件
1 [root@linuxmaster ~]# cd /var/named/
2 [root@linuxmaster named]# cp /var/named/named.localhost /var/named/aliyun.com.zone
3 [root@linuxmaster named]# vi /var/named/aliyun.com.zone
4 $TTL 300;
5 @ IN SOA linuxmaster.aliyun.com. admin.aliyun.com. (
6 2017051720
7 1H
8 5M
9 7D
10 3D )
11 IN NS linuxmaster
12 IN MX 20 MX
13 linuxmaster IN A 172.24.8.10
14 www IN A 172.24.8.30
15 mirrors IN A 172.24.8.30
16 ftp IN CNAME www
17 [root@linuxmaster ~]# named-checkconf #检查配置文件
18 [root@linuxmaster named]# named-checkzone "aliyun.com.zone" /var/named/aliyun.com.zone
19 zone aliyun.com.zone/IN: loaded serial 2017051720
20 OK
2.5 修改权限
1 [root@linuxmaster ~]# chmod 640 /var/named/aliyun.com.zone
2 [root@linuxmaster ~]# chown root:named /var/named/aliyun.com.zone
3 注意:确保主配置文件和各区域文件权限为640,属主为root,属组为named。
4 [root@linuxmaster ~]# service named restart
2.6 关闭防火墙和SELinux
1 [root@linuxmaster ~]# service iptables stop
2 [root@linuxmaster ~]# setenforce 0
3 [root@linuxmaster ~]# service named restart
2.7 测试解析
将dns修改为主dns服务器地址,之后ping linuxmaster.aliyun.com测试。

三 反向解析bind配置
正向解析与反向解析各自采用不同的解析库,一台DNS服务器可以只有正向解析库或只有反向解析库,也可以同时提供正向/反向解析。
反向区域的区域名称格式:
ReverseIP.in-addr.arpa.
例如:假设网络地址为172.16.100.1 那么规则命名为100.16.172.in-addr.arpa
3.1 区域配置文件中新增反向zone
1 [root@linuxmaster ~]# vi /etc/named.conf
2 ……
3 zone "8.24.172.in-addr.arpa" IN {
4 type master;
5 file "8.24.172.zone";
6 };
7 ……
3.2 新建反向区域zone文件
1 [root@linuxmaster ~]# /var/named/8.24.172.zone
2 $TTL 300;
3 @ IN SOA linuxmaster.aliyun.com. admin.aliyun.com. (
4 2017051720
5 1H
6 5M
7 7D
8 3D )
9 IN NS linuxmaster.aliyun.com.
10 8.10 IN PTR linuxmaster.aliyun.com.
11 8.30 IN PTR www.aliyun.com.
12 8.30 IN PTR mirrors.aliyun.com.
13 8.10 IN PTR mx.aliyun.com.
注意:
反向解析不需要CNAME记录,且MX记录决不允许出现在反向解析库里;
8.10 ip地址没写全会自动从主配置文件中定义的区域名“24.172.in-addr.arpa”,没写全最后面不需要加.
1 [root@linuxmaster ~]# named-checkconf #检查配置文件
2 [root@linuxmaster ~]# named-checkzone "aliyun.com.zone" /var/named/aliyun.com.zone
3 zone aliyun.com.zone/IN: loaded serial 2017051720
4 OK
5 [root@linuxmaster ~]# named-checkzone "aliyun.com.zone" /var/named/8.24.172.zone
6 zone aliyun.com.zone/IN: loaded serial 2017051720
7 OK
3.3 修改权限
1 [root@linuxmaster ~]# chmod 640 /var/named/24.172.zone
2 [root@linuxmaster ~]# chown root:named /var/named/24.172.zone
注意:确保主配置文件和各区域文件权限为640,属主为root,属组为named。
1 [root@linuxmaster ~]# service named restart
3.4 关闭防火墙和SELinux
1 [root@linuxmaster ~]# service iptables stop
2 [root@linuxmaster ~]# setenforce 0
3 [root@linuxmaster ~]# service named restart
3.5 测试解析
将dns修改为主dns服务器地址,之后在Windows客户端使用nslookup测试。

四 辅助DNS配置
辅助DNS是针对区域来说的,如果有多台DNS服务器,必须为每个DNS服务器建立NS记录,否则主DNS将不向其发送通知。
4.1 定义区域
1 zone “区域名称” IN {
2 type slave; #区域类型为辅助
3 file "slaves/ZONE_NAME.zone"; #区域文件必须保存在slaves目录下,放在其他目录没有权限
4 masters { #指出主服务器是谁,注意:花括号前后要有一个空格
5 MASTER_DNS_IP;
6 MASTER_DNS2_IP;
7 };
8 };
4.2 辅DNS上安装bind
4.3 区域配置文件中新增辅助zone
1 [root@linuxslave ~]# vi /etc/named.rfc1912.zones #建议添加在named.rfc1912.zones里
2 ……
3 zone "aliyun.com" IN {
4 type slave;
5 file "slaves/aliyun.com.zone";
6 masters { 172.24.8.10; }; #主DNS的地址
7 };
8 zone "8.24.172-addr.arpa" IN {
9 type slave;
10 file "slaves/24.8.172.zone";
11 masters { 172.24.8.10; };
12 };
13 [root@linuxslave ~]# named-checkconf #检查配置
4.4 辅助dns关闭防火墙和SELinux
1 [root@linuxslave ~]# service iptables stop
2 [root@linuxslave ~]# setenforce 0
3 [root@linuxslave ~]# service named restart
4.5 主DNS正向解析添加辅助DNS记录
1 [root@linuxmaster ~]# vi /var/named/aliyun.com.zone
2 $TTL 300;
3 @ IN SOA linuxmaster.aliyun.com. admin.aliyun.com. (
4 2017051720
5 1H
6 5M
7 7D
8 3D )
9 IN NS linuxmaster
10 IN NS linuxslave
11 IN MX 20 MX
12 linuxmaster IN A 172.24.8.10
13 linuxslave IN A 172.24.8.11
14 www IN A 172.24.8.30
15 mirrors IN A 172.24.8.30
16 mx IN A 172.24.8.10
17 ftp IN CNAME www
4.6 主DNS反向解析添加辅助DNS记录
1 [root@linuxmaster ~]# vi /var/named/8.24.172.zone
2 $TTL 300;
3 @ IN SOA linuxmaster.aliyun.com. admin.aliyun.com. (
4 2017051720
5 1H
6 5M
7 7D
8 3D )
9 IN NS linuxmaster.aliyun.com.
10 IN NS linuxslave.aliyun.com.
11 8.10 IN PTR linuxmaster.aliyun.com.
12 8.11 IN PTR linuxslave.aliyun.com.
13 8.30 IN PTR www.aliyun.com.
14 8.30 IN PTR mirrors.aliyun.com.
15 8.10 IN PTR mx.aliyun.com.
4.7 检查配置
1 [root@linuxmaster ~]# named-checkconf #检查配置文件
2 [root@linuxmaster ~]# named-checkzone "aliyun.com.zone" /var/named/aliyun.com.zone
3 zone aliyun.com.zone/IN: loaded serial 2017051720
4 OK
5 [root@linuxmaster ~]# named-checkzone "aliyun.com.zone" /var/named/8.24.172.zone
6 zone aliyun.com.zone/IN: loaded serial 2017051720
7 OK
8 [root@linuxmaster ~]# service named restart
查看主DNS往辅助DNS的数据同步情况

4.8 查看辅助dns
1 [root@linuxslave ~]# yum -y install bind-utils #安装客户端
2 [root@linuxslave ~]# dig -t axfr aliyun.com @172.24.8.10 #查看辅助dns同步情况


注意:辅助DNS资源记录是从主DNS同步过来的,不能手动更改。

Windows客户端检测。
总结:
- 1、每个DNS服务器必须要有一个对应的NS资源记录;
- 2、创建slave的时候,其配置文件类型必须是type slave; 必须指定主服务器的 IP地址 ;
- 3、可以使用dig -t axfr test.com @server_IP 从主DNS服务器拉取所有解析库资源记录;
- 4、主辅同步完成后,将自动在slave服务器上的slaves/目录下生成zone文件,这些区域文件是从主DNS同步过来的,一般为只读,不建议更改slave的zone文件;
- 5、在主DNS上修改区域文件时,必须将SOA记录的serial加1 因为slave是通过serial值来进行判断更新的(windows系统上是自动完成的);
- 6、DNS的日志默认全部保存在/var/log/messege 文件中;
- 7、DNS的解析依赖于解析库,所以就算是所配置的内容是完全不存在的也可以解析(且正向解析和反向解析的解析库是各自独立的)。需要注意,正向解析里没有PTR记录,而反向解析库里不需要A记录、MX记录和CNAME记录
003.DNS主从正反解析部署的更多相关文章
- Centos下内网DNS主从环境部署记录
一.DNS是什么?DNS(Domain Name System),即域名系统.它使用层次结构的命名系统,将域名和IP地址相互映射,形成一个分布式数据库系统. DNS采用C-S架构,服务器端工作在UDP ...
- DNS主从服务部署
(1)节点信息 console01 主DNS 192.168.80.3 192.168.10.3 console02 从DNS 192.168.80.4 192.168.10.4 (2)环境部署 # ...
- 架构师成长之路6.4 DNS服务器搭建(部署主从DNS)
点击返回架构师成长之路 架构师成长之路6.3 DNS服务器搭建(部署主从DNS) 部署主DNS : 点击 部署从DNS : 如下步骤 1.与主DNS一样,安装bind yum -y install ...
- Linux的DNS主从服务器部署
下面的部署是在Linux的DNS正向解析部署上进行修改的. 如果有什么问题或者错误,可以访问上篇帖子 下面开始有关DNS的服务部署.<DNS主从服务器> 环境描述: 192.168.196 ...
- Linux中的DNS主从解析
目录 一.主服务器配置(紧接着正反解析实验) 1.1.修改区域配置文件 二.从服务器配置(启动另一台虚拟机) 2.1.安装服务 2.2.修改主配置文件 2.3.修改区域配置文件 2.4.修改dns服务 ...
- DNS主从同步部署
DNS 主从同步原理 主从同步:主每次修改配置文件需要修改一下序列号,主从同步主要 根据序列号的变化. 从DNS:从可以单独修改,主从不会报错.但从修改后,主端同步给从后 从端修改数据会丢失 主从原理 ...
- Linux系统下DNS主从配置详解
一.DNS概述DNS(Domain Name System),即域名系统.因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串. ...
- CentOS7系统DNS主从配置
CentOS7系统DNS主从配置:一.DNS服务器正向解析:1.1 基础环境:主机IP 主机名 操作系统 用途192.168.0.110 master ...
- DNS主从配置详解
实验环境 主服务器:192.168.138.200 从服务器:192.168.138.201 bind安装 安装很简单,执行以下命令即可: yum install -y bind 先看一下bind的版 ...
随机推荐
- Java_oracle超出打开游标的最大数的原因和解决方案
第一步:核查Oracle数据库 的游标的最大数 处理超出打开游标的最大数异常(ORA-01000: maximum open cursors exceeded) ORA-01000_maximum_o ...
- Confluence 6 在数据源连接中启用校验查询
确定 Confluence 在数据库连接池中校验数据库连接: 停止 Confluence. 编辑 <installation-directory>/conf/server.xml 文件(或 ...
- vue.js 监听属性的学习/ 千米、米的转换 /时、分、秒 的转换
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...
- 1010:Tempter of the Bone
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1010 Problem Description The doggie found a bone in a ...
- cf862d 交互式二分
/* 二分搜索出一个01段或10即可 先用n个0确定1的个数num 然后测试区间[l,mid]是否全是0或全是1 如果是,则l=mid,否则r=mid,直到l+1==r 然后再测试l是1还是r是1 如 ...
- IOU和非极大值抑制
如何判断对象检测算法运作良好呢? 一.交并比(Intersection over union,IoU) 是产生的候选框(candidate bound)与原标记框(ground truth bound ...
- OpenCV-Python入门教程7-PyQt编写GUI界面
前面一直都是使用命令行运行代码,不够人性化.这篇用Python编写一个GUI界面,使用PyQt5编写图像处理程序.包括:打开.关闭摄像头,捕获图片,读取本地图片,灰度化和Otsu自动阈值分割的功能. ...
- Python自定义排序
比如自定义了一个class,并且实例化了这个类的很多个实例,并且组成一个数组.这个数组要排序,是通过这个class的某个字段来排序的.怎么排序呢? 有两种做法: 第一种是定义__cmp__( )方法: ...
- CSS3 伸缩布局盒模型
CSS3引入的布局模式Flexbox布局,主要思想是让容器有能力让其子项目能够改变其宽度,高度,以最佳方式填充可用空间.Flex容器使用Flex项目可以自动放大与收缩,用来填补可用的空闲空间.更重要的 ...
- C#版本与Framework的关系
C# 1.0 released with .NET 1.0 and VS2002 (January 2002) C# 1.2 (bizarrely enough); released with .NE ...