DNS:BIND高级应用、子域授权、区域转发、全局转发

目录

BIND:子域授权

定义转发服务器:

配置配置父服务器【192.168.43.236】

配置子节点服务器【192.168.43.102】

解决问题:子域可以解析父域,而不用去找根?【区域转发】

解决问题:父服务器可连接外网,子服务器不能连接外网?【全局转发】

注意:当区域转发和全局转发同时存在,能够精确匹配区域转发的通过,区域转发,其他使用全局转发


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)的有几个,在什么地方

DNS:BIND高级应用、子域授权、区域转发、全局转发插图

我们发现这种在一个域中的主机内部事务,绕了很大的一个圈

这种情况我们就可以定义转发区域,主机向某个域的域名服务器请求一个区域时,这个服务器不负责解析,把它转发给另一台服务器,来进行解析

注意:被转发的服务器需要能够为请求者做递归,否则,转发请求不予进行

转发分为两种:

全部转发【凡是对非本机所有负责解析的区域的请求,统统转发给指定的服务器】

Options {
forward {first|only}
fowwarders
}

  • frist:先转发给转发服务器,没有收到回应会自己从根服务器开始查找【先递归,后迭代】
  • only:只转发到转发服务器【仅递归】

区域转发【仅转发对特定的区域的请求至某服务器】

zone "ZONE_NAME" IN {
type forward;
forward {first|only}
forwarders
}

配置配置父服务器【192.168.43.236】

首先配置成缓存服务器【过程

配置父服务器【name.conf】文件:[root@localhost ~]# vim /etc/named.conf 【此处配置要和子域名(192.168.43.102)配置保持一致】
DNS:BIND高级应用、子域授权、区域转发、全局转发插图1

  • dnssec-enable和dnsec-validation不能注释掉,要设置为no,服务器之间有认证机制

配置配置父服务器【named.rfc1912.zones】文件:[root@localhost named]# vim /etc/named.rfc1912.zones
DNS:BIND高级应用、子域授权、区域转发、全局转发插图2

配置【node3.com.zone】文件:[root@localhost named]# vim node3.com.zone

DNS:BIND高级应用、子域授权、区域转发、全局转发插图3

  • ns1.ops.node3.com是子区域

检查zone配置文件:[root@localhost named]# named-checkzone node3.com /var/named/node3.com.zone

修改zone文件的权限和属组

重新加载配置文件:[root@localhost named]# rndc reload

测试:[root@localhost named]# dig -t A ns1.node3.com @192.168.43.236 #解析父域名解析

DNS:BIND高级应用、子域授权、区域转发、全局转发插图4

测试[root@localhost ~]# dig -t A ns1.ops.node3.com @192.168.43.236 #父服务器可解析子域名地址

DNS:BIND高级应用、子域授权、区域转发、全局转发插图5

  • 注意:解析父域时要关闭SELinux、Firewall(或释放53端口)

结果:父域是可以找到子域并进行解析

配置子节点服务器【192.168.43.102】

首先配置成缓存服务器【过程

配置配置文件【named.rfc1912.zones】:[root@localhost named]# vim /etc/named.rfc1912.zones
DNS:BIND高级应用、子域授权、区域转发、全局转发插图6

配置配置子服务器【ops.nod3.com.zone】文件:[root@localhost named]# vim /var/named/ops.node3.zone

DNS:BIND高级应用、子域授权、区域转发、全局转发插图7

检查zone配置文件:[root@localhost named]# named-checkzone ops.node3.com /var/named/ops.node3.com.zone

修改zone文件的权限和属组

重新加载配置文件:[root@localhost named]# rndc reload

测试:[root@localhost named]# dig -t A ns1.ops.node3.com @192.168.43.102 #从自己的服务器域名解析
DNS:BIND高级应用、子域授权、区域转发、全局转发插图8

测试:[root@localhost named]# dig -t A ns1.node3.com @192.168.43.102 #从本机解析父服务器域名,是解析不出来的
DNS:BIND高级应用、子域授权、区域转发、全局转发插图9

结果:子域是找不到父域

解决问题:子域可以解析父域,而不用去找根?【区域转发】

区域转发【子域名服务器配置】

配置【named.rfc1912.com】:[root@localhost ~]# vim /etc/named.rfc1912.zones

DNS:BIND高级应用、子域授权、区域转发、全局转发插图10

测试:[root@localhost ~]# dig -t A www.node3.com @192.168.43.102

DNS:BIND高级应用、子域授权、区域转发、全局转发插图11

解决问题:父服务器可连接外网,子服务器不能连接外网?【全局转发】

全局转发【子域名服务器配置】

配置文件【name.conf】:[root@localhost ~]# dig -t A www.baidu.com @192.168.43.102

DNS:BIND高级应用、子域授权、区域转发、全局转发插图12

测试:[root@localhost data]# dig -t A www.baidu.com @192.168.43.102

DNS:BIND高级应用、子域授权、区域转发、全局转发插图13

注意:当区域转发和全局转发同时存在,能够精确匹配区域转发的通过,区域转发,其他使用全局转发

原文链接:https://blog.csdn.net/Smart_look/article/details/113820212

© 版权声明
THE END
喜欢就支持一下吧
点赞10 分享