DNS子域授权配置

DNS-学习目录

1、什么是DNS子域授权

A 服务负责 (example.com) 域名解析,授权B服务器管理 (ops.example.com) 的域名解析;
父域: example.com
子域: ops.example.com
      www.ops.example.com
      test.ops.example.com

2、主机环境准备

环境            域名             节点地址
父域(Master)  example.com      192.168.10.19
父域(Slave)   example.com      192.168.10.18
子域           ops.example.com   192.168.10.17

3、DNS子域授权的配置

3.1、DNS Master父域配置

3.1.1、/etc/named.conf的配置

# 区域配置文件此前可以复用之前主辅配置,所以无需修改;
]# vi /etc/named.conf 
...
options {
        allow-transfer { 192.168.10.18; }; //允许哪个地址同步master配置信息
        also-notify { 192.168.10.18; }; //主动通知辅助DNS域名变更
...
}
...
zone "example.com" IN {
  type master;
  file "example.com.zone";
  notify yes;
};
...

3.1.2、区域文件数据库文件配置【将 ops 三级子域授权给子域服务器】

cat << 'CAT_END' > /var/named/example.com.zone 
example.com. 600 IN SOA ns.example.com. sa.example.com. (
2023051647 ;serial 自增1
10800
900
604800
86400)

;ns服务器配置
example.com. IN NS ns1.example.com.
example.com. IN NS ns2.example.com.
ns1.example.com. IN A 192.168.10.19
ns2.example.com. IN A 192.168.10.18

;域名A记录解析,末尾需要.结尾,不然解析不出来
www.example.com. IN A 1.1.1.1

;增加如下记录
test.example.com. IN A 2.2.2.2
ftp.example.com. IN A 3.3.3.3
;增加子域的配置
ops.example.com. IN NS ns1.ops.example.com.
ns1.ops.example.com. IN A 192.168.10.17
CAT_END

3.2、DNS Other子域配置

3.2.1、bind软件安装

yum install bind bind-utils -y

3.2.2、增加子域的 Zone 配置文件

]# vi /etc/named.conf 
...
options {
...
        listen-on port 53 { any; };
        listen-on-v6 port 53 { any; };
        allow-query     { any; };
...
}
//增加如下配置
zone "ops.example.com" IN {
type master;
file "ops.example.com.zone";
};
...

3.2.3、添加区域数据数据库文件【ops.example.com.zone】

cat << 'CAT_END' > /var/named/ops.example.com.zone 
ops.example.com. 600 IN SOA ns.ops.example.com. sa.example.com. (
2023051647 ;serial
10800
900
604800
86400)

;ns服务器配置
ops.example.com. IN NS ns1.ops.example.com.
ns1.ops.example.com. IN A 192.168.10.17
;增加如下记录
dns.ops.example.com. IN A 8.8.8.8
ftp.ops.example.com. IN A 1.1.1.4
CAT_END

3.2.4、语法检查并且重启服务

named-checkconf 
named-checkzone ops.example.com /var/named/ops.example.com.zone 
systemctl start named
systemctl enable named

3.2.5、测试访问

# 使用other解析
~]# dig www.ops.example.com  @192.168.10.17 +short
8.8.8.8

# 使用master解析不到
~]# dig www.ops.example.com  @192.168.10.19 +short

# 使用slave服务器可以解析到
~]# dig www.ops.example.com  @192.168.10.18 +short
8.8.8.8

4、子域授权为什么客户端获取父域解析不了

4.1、子域解析父域的域名

 ~]# dig www.example.com  @192.168.10.17 +short
发现解析不出来

4.2、子域无法解父域问题

4.2.1、问题点

问题:由于父域与子域互相维护不同的区域配置,它们之间并不存在任何的联系,所以子域在解析父域的域名时,它并不会直接通过父域来获取权威的解析记录,那它会怎么做呢?
第一步:它会先找顶点根域;
第二步:寻找找 com 域对应的 DNS 服务器;
第三步:寻找 example 域对应的 DNS 服务器,而后获取 www 对应的解析记录;
这种查找模式是由 DNS 的机制所决定的;

 4.2.2、解决方法

明确告诉子域,让其能找到父域进项查询解析,而无需查找根域;(需要配置 DNS 的转发),参考小节:4.2、子域名转发的配置

4.2、子域名转发的配置

4.2.1、配置域转发

]# vi /etc/named.conf 
options {
...
        dnssec-enable no;
        dnssec-validation no;
...
};
...
zone "example.com" IN {
type forward;
forward only;
forwarders { 192.168.10.18; 192.168.10.19; };
};

注意事项:
dnssec-enable no;
dnssec-validation no;

//需要关闭安全校验,否则会解析不到,报如下错误
validating www.example.com/A: bad cache hit (www.example.com/DS)

4.2.2、语法校验并且重新加载

named-checkconf && rndc reload

4.2.3、测试解析

]# dig www.example.com  @192.168.10.17 +short
1.1.1.1

 

posted @ 2023-05-08 16:37  小粉优化大师  阅读(112)  评论(0编辑  收藏  举报