前提:
本篇文章以虚拟机中创建的CentOS 7系统主机配置为例进行叙述
主DNS服务器地址 |
172.16.49.2 CentOS 7 |
从DNS服务器地址 |
172.16.49.3 CentOS |
使用二级域名 |
xuding.win |
一、主-从DNS服务器配置
主DNS服务器:维护所负责解析的域数据库的服务器;读写操作均可进行;
从DNS服务器:从主DNS服务器那里或其它的从DNS服务器那里“复制”一份解析库;但只能进行读操作;
注意:从服务器是区域级别的概念,相对于某个区域配置的;
例如一台主服务器提供十个正向解析区域,而从其可能仅包含其中一个多个或全部区域
1.主从数据解析库同步操作的实施方式
(1)从服务器拉取数据
serial:序列号。数据库的版本号;主服务器数据库内容发生变化时,其版本号递增;
refresh:刷新时间间隔。从服务器每多久到主服务器检查序列号更新状况;
retry:重试时间间隔。 从服务器从主服务器请求同步解析库失败时,再次发起尝试请求的时间间隔;
expire:过期时长。从服务器始终联系不到主服务器时,多久之后放弃从主服务器同步数据;停止提供服务;
否定答案的缓存时长:协定产生
(2)主服务器”通知“从服务器随时更新数据:区域传送
全量传送:axfr,传送整个数据库;
增量传送:ixfr,仅传送变量的数据;
2.配置每个DNS的主配置文件/etc/named.conf的options段
==========================================================================
options{
listen-on port 53 { 127.0.0.1;172.16.49.*; }; /*"*"表示具体的本机地址*/
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file"/var/named/data/named_stats.txt";
memstatistics-file"/var/named/data/named_mem_stats.txt";
//allow-query { localhost; };
recursionyes;
dnssec-enableno;
dnssec-validationno;
dnssec-lookasideno;
===========================================================================
3.配置一个从区域:On Master(主服务器配置:172.16.49.2)
(1)增加从服务器数据信息记录
1)确保区域数据文件中为每个从服务配置NS记录,
2)在正向区域文件需要每个从服务器的NS记录的主机名配置一个A记录
且A后面的地址为真正的从服务器的IP地址;
实例:
增加两条记录
IN NS ns2
ns2 IN A 172.16.49.3
(2)检查配置文件并重新加载配置文件
[root@localhost~]# named-checkzone xuding.win /var/named/xuding.win.zone
[root@localhost~]# rndc reload
4.配置一个从区域:OnSlave(从服务器:172.16.49.3)
(1)定义从区域:放置/salve/*下
zone"ZONE_NAME" IN {
type slave;
file "slaves/ZONE_NAME.zone";
masters { MASTER_IP; };
};
======================在/etc/named.rfc1912.zones中追加===========================
zone"xuding.win" IN {
typeslave;
file "slaves/xuding.win.zone";
masters{ 172.16.49.2; };
};
==================================================================================
注意:该目录的权限和属主属组,所以专用于从服务器需要动态同步主服务器上的数据文件信息使用
(2)配置文件语法检查&&重载配置
# named-checkconf
# rndc reload;或者systemctl reload named.service
此时会传输同步主服务器上的资源区域信息,
(3)指定本机为DNS服务器解析做测试
[root@localhost etc]# dig -t A www.xuding.win @172.16.49.3
注意:分布式系统一定要做时间要同步
四、BIND安全设置
1.acl:访问控制列表
把一个或多个地址归并一个命名的集合,随后通过此名称即可对此集全内的所有主机实现统一调用;
2.定义格式
在/etc/named.conf中先定义才能使用,且放在options之前
acl acl_name {
ip;
net/prelen;
};
示例:
acl mynet {
172.16.0.0/16;
127.0.0.0/8;
};
3.bind有四个内置的acl
none:没有一个主机;
any:任意主机;
local:本机;
localnet:本机所在的IP所属的网络;
4.访问控制指令:zone中配置
allow-query {}; 允许查询的主机;白名单;
allow-transfer{}; 允许向哪些主机做区域传送;默认为向所有主机;应该配置仅允许从服务器;
allow-recursion{}; 允许哪此主机向当前DNS服务器发起递归查询请求;
allow-update{}; DDNS,允许动态更新区域数据库文件中内容;
主-从DNS服务器配置思路总结:
1.安装配置主配置程序/etc/named.conf,使其能够监听本地的网卡
注释访问控制选项allow-query,此处默认只能本地通信
2.建立主从服务器之间的联系:
(1)主服务器:
1)/etc/named.rfs1912.zones中按标准格式设定本机为主
2)在/var/named/*.zone定义的文件增加两条记录,NS和A
(2)从服务器:
1)/etc/named.rfs1912.zones中按标准语法格式设定本机为从服务器,此处设置思路是IP间通信连接
本机类型为slave、file文件在哪里(默认要在/var/named/slave/*.zone)、master IP
2)/var/named/slave/*.zone为实际听不存放位置,动态可读写
3.运行过程需要注意的细节问题
(1)注意var/named/*.zone文件的属主、属组、权限
(2)named-checkconf、named-checkzone检查语法
(3)rndc reload;或者systemctl reload named.service做重新加载配置
配置该文件关系总结:/etc/named.conf --->/etc/named.rfs1912.zones --->/var/named/*.zone
---> /var/named/slave/*.zone