标签:辅助 工作 控制器 text 主从dns 使用 清除 lis 打开
rndc的相关知识:如果是对本地缓存DNS服务器的请求,则只需令本地一半主机DNS地址配置为主服务器的IP,另一半配置为从的即可;
如果是对互联网上负责指定域的服务器,则只需在该服务器上级DNS服务器写两条NS记录即可,bind给客户主机答案时会采取轮询方式。
配置主从服务器
主从服务器时间要一致。
从服务器的解析文件从主DNS服务器同步而来,不能手动创建和修改。从服务器的解析库文件放置在/etc/named/slaves目录下。
named进程对工作目录/var/named是没有写权限的,而在从服务器上又不能像在主服务器上那样以管理员的身份手动创建解析库,故bind提供了一个目录/var/named/slaves用来专门存放同步而来的解析文件。named进程对该目录是有写权限的
区域的定义:
zone “区域名称” IN {
type slave; #区域类型为从DNS服务器
file "slaves/ZONE_NAME.zone"; #区域文件必须保存在slaves目录下,放在其他目录没有权限
masters { #指出主服务器是谁,注意:花括号前后要有一个空格
MASTER_DNS_IP;主dns服务器IP地址,可一个也可以多个
MASTER_DNS2_IP;
};
};
我们在这里以正向解析的主从DNS服务器配置为例子
首先编辑主dns服务器上的区域解析库文件添加相应记录
编辑从DNS服务器的/etc/named.rfc1912.zones 添加相应区域记录
zone "lishuai.com" IN {
type slave;
file "slaves/lishuai.com.zone";//这里的区域名称和解析库文件名称要和主DNS服务器的保持一致
masters { 192.168.2.18; };
};
在从DNS服务器上检查语法错误,重读配置文件
我们在主DNS服务器解析库文件里修改一下序列号
rndc reload
我们可以在主DNS服务器日志中看到
在从DNS服务器的/var/named/slaves内我们也可以看到同步的解析库文件
如果同步的解析库文件乱码,我们就在区域文件里指定格式即可
zone "lishuai.com" IN {
type slave;
file "slaves/lishuai.com.zone";
masters { 192.168.2.18; };
masterfile-format text;
};
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
创建子域
这里我们还是以从DNS服务器作为子域服务器(192.168.2.29)主DNS服务器作为父域(192.168.2.18)
我们在子域服务器编辑/etc/named.rfc1912.zones创建子域区域文件
zone "son.lishuai.com" IN {
type master;
file "son.lishuai.com.zone";
};
创建子域区域文件的解析库文件
我们在父域服务器编辑解析库文件添加子域的NS记录和A记录
named-checkconf
named-checkzone lisuai.com lishuai.com.zone
extra GLUE A表示额外的粘附A记录
rndc reload
测试
此时我们把主从DNS服务器功能关掉 并且清除缓存我们测试一下子域是否能访问父域
rndc reload
rndc flush
此时我们发现子域无法解析父域
授权是自上而下的,上级(父域)知道下级(子域)的存在,而下级(子域)并不知道上级(父域)的存在(因此子域的解析从根开始层层往下迭代)
我们可以通过转发让子域也能解析父域
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
DNS名称解析转发器:
(1)当本地DNS服务器(也是转发器)收到查询时,它会尝试使用它主持和缓存的主要和辅助区域解析该查询;
(2)如果不能使用本地数据解析查询,此时它作为客户端,会将查询转发给外网DNS服务器;
(3)本地DNS(转发器)收到客户端的请求后会等待一段很短的时间,等待来自外网DNS的应答;
(4)对于外网DNS来说,它接收到的查询请求是递归查询,此时,它自己需要向外层层迭代找到最终答案返回给转发器(此时转发器作为DNS客户端)
(5)转发器将外网DNS返回的查询结果送到客户端(非权威答案),完成解析过程。
注:转发的前提——接收转发请求的服务器(这里是外网DNS)必须能够为请求者(这里是本地DNS,也是转发器)做递归查询;
3、转发的类型:
(1)无条件转发:转发所有针对非本机负责解析的区域的请求;
#在主配置文件/etc/named.conf的全局选项中添加如下内容:
options {
forwarders { ip; }; #指明转发器是谁
forward only|first; #only表示仅转发 ;first表示先进行转发,如果没查询到结果,那么它自己还会根据根提示向外迭代查询
};
(2)条件转发:仅转发对特定区域的请求(即转发域);
#在区域置文件/etc/named.rfc1912.zone中定义转发域:
zone "区域名称" IN {
type forward; #区域的类型为转发
forwarders { ip; }; #指明转发器是谁
forward only|first; #only表示仅转发 ;first表示先进行转发,如果没查询到结果,那么它自己还会根据根提示向外迭代查询
};
我们在子域服务器的全局配置文件里加入如下:
检查配置文件然后rndc reload
测试
此时子域已经能正常解析父域
我们把刚才在全局配置文件中加的转发给注释掉,然后rndc flush
在子域的的/etc/named.rfc1912.zones 配置条件转发,转发只针对父域的请求
zone "lishuai.com" IN {
type forward;
forwarders { 192.168.2.18; };
forward first;
};
检查配置文件并执行rndc reload
测试
此时针对lishuai.com的请求我们可以通过子域去解析
Linux-dns基础知识和BIND的简单配置-3(主从DNS服务器及转发)
标签:辅助 工作 控制器 text 主从dns 使用 清除 lis 打开
原文地址:http://blog.51cto.com/12052401/2135278