目录
解决问题:父服务器可连接外网,子服务器不能连接外网?【全局转发】
注意:当区域转发和全局转发同时存在,能够精确匹配区域转发的通过,区域转发,其他使用全局转发
BIND:子域授权
子域授权是完成分布式数据库的主要手段,DNS对全球解析的量太大了不能使用集中一台服务器进行解析,最后使用把整个区域库分成N部分,授权给不同服务器,自顶到下分成N级结构【最多有128级,每一级的字符到255个字符】
正向解析区域子域方法:
ops.node3.com. IN NS ns1.ops.node3.com.
ops.ndoe3.com. IN NS ns2.ops.node3.com.
ns1.ops.node3.com. IN A 1.1.1.1
ns2.ops.node3.com. IN A 1.1.1.2
fin.node3.com. IN NS ns1.fin.node3.com.
fin.node3.com. IN NS ns2.fin.node3.com.
ns1.fin.node3.com. IN A 3.1.1.1
ns2.fin.node3.com. IN A 3.1.1.2
定义转发服务器:
ns1.ops.node3.com 与www.node2.com主机通信
- ns1.ops.node3.com 把请求发给ops服务器解析,ops服务器只负责【ops.node3.com】的域名解析,这是ns1.ops.node3.com的请求发给根,在一级一级的找过来最终会找到【www.node3.com】
- 注意:子域是不知道父域在哪里(IP)的,父域是知道子域在那里(IP)的有几个,在什么地方
我们发现这种在一个域中的主机内部事务,绕了很大的一个圈
这种情况我们就可以定义转发区域,主机向某个域的域名服务器请求一个区域时,这个服务器不负责解析,把它转发给另一台服务器,来进行解析
注意:被转发的服务器需要能够为请求者做递归,否则,转发请求不予进行
转发分为两种:
全部转发【凡是对非本机所有负责解析的区域的请求,统统转发给指定的服务器】
Options {
forward {first|only}
fowwarders
}
- frist:先转发给转发服务器,没有收到回应会自己从根服务器开始查找【先递归,后迭代】
- only:只转发到转发服务器【仅递归】
区域转发【仅转发对特定的区域的请求至某服务器】
zone "ZONE_NAME" IN {
type forward;
forward {first|only}
forwarders