DNS子域的实现

一、相关包与环境
bind-libs.x86_64 #提供库文件
bind-utils.x86_64 #提供工具包
bind.x86_64 #提供主程序包
实验环境:
192.168.147.129 父域DNS服务器
192.168.147.128 子域测试服务器
子域实现方法:
1、在父域的DNS解析库中把子域当成A记录加进去

这种方法只适合小环境使用


[root@centos7 named]# vim magedu.com.zone 
$TTL 1D
magedu.com.     IN SOA  ns.magedu.com. nsadmin.magedu.com. (
                                        3       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
@        NS      ns.magedu.com.
         NS      ns2.magedu.com.
www      CNAME   websrv
ns2      A       192.168.147.131
websrv   A       192.168.147.128
websrv   A       192.168.147.129
ns       A       192.168.147.129
@        MX   10 mailsrv1
@        MX   20 mailsrv2
mailsrv1 A       192.168.147.129
mailsrv2 A       192.168.147.131
www.hz   A       192.168.147.128   //www.hz.magedu.com子域当成是父域的A记录

2、在主DNS服务器上添加子域,由同一台主机维护(实际上主域与子域是相互独立的,只是名字有关联,不适合大规模环境)

编辑/etc/named.rfc1912.zones 
[root@centos7 named]# vim /etc/named.rfc1912.zones 
zone "magedu.com" IN {
        type master;
        file "magedu.com.zone";
        //allow-update { 192.168.147/24; };
};
zone "hz.magedu.com" IN {  //本机独立子域
        type master;
        file "hz.magedu.com.zone";
        allow-update { none; };
        allow-transfer { 192.168.147.131; };
};

生成子域的解析库文件
[root@centos7 named]# vim hz.magedu.com.zone 
$TTL 1D
hz.magedu.com.  IN SOA  ns.hz.magedu.com. nsadmin.hz.magedu.com. (
                                        4       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
@        NS      ns.hz.magedu.com.
         NS      ns2.hz.magedu.com.
www      CNAME   websrv
ns2      A       192.168.147.131
websrv   A       192.168.147.128
websrv   A       192.168.147.129
ns       A       192.168.147.129

                             
使用dig命令测试
[root@centos7 ~]# dig www.hz.magedu.com @192.168.147.129

; <<>> DiG 9.9.4-RedHat-9.9.4-50.el7 <<>> www.hz.magedu.com @192.168.147.129
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 57750
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 2, ADDITIONAL: 3

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;www.hz.magedu.com.		IN	A

;; ANSWER SECTION:
www.hz.magedu.com.	86400	IN	CNAME	websrv.hz.magedu.com.
websrv.hz.magedu.com.	86400	IN	A	192.168.147.128
websrv.hz.magedu.com.	86400	IN	A	192.168.147.129

;; AUTHORITY SECTION:
hz.magedu.com.		86400	IN	NS	ns.hz.magedu.com.
hz.magedu.com.		86400	IN	NS	ns2.hz.magedu.com.

;; ADDITIONAL SECTION:
ns.hz.magedu.com.	86400	IN	A	192.168.147.129
ns2.hz.magedu.com.	86400	IN	A	192.168.147.131

;; Query time: 1 msec
;; SERVER: 192.168.147.129#53(192.168.147.129)
;; WHEN: Fri Jun 28 10:35:36 CST 2019
;; MSG SIZE  rcvd: 166

3、子域单独一台主机管理,和父域分开,在父域中添加一条特殊的NS记录用于说明管理子域的主机IP地址,同时父域的关闭dnssec功能。

编辑主域bind主配置文件,主域主机192.168.147.129
[root@centos7 named]# vim /etc/named.conf
options {
	listen-on port 53 { localhost; };
	listen-on-v6 port 53 { ::1; };
	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;any; };
	//allow-transfer  {192.168.147.131; };
	recursion yes;
	dnssec-enable no;  //关闭dnssec功能
	dnssec-validation no;//关闭dnssec功能
	......

在父域中加上hz       NS      ns3.hz.magedu.com.这条NS记录,并把它解析成A记录
[root@centos7 named]# vim magedu.com.zone 

$TTL 1D
magedu.com.     IN SOA  ns.magedu.com. nsadmin.magedu.com. (
                                        3       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
@        NS      ns.magedu.com.
         NS      ns2.magedu.com.
hz       NS      ns3.hz.magedu.com.   //加上这条NS记录
www      CNAME   websrv
ns3.hz   A       192.168.147.128  //把子域的DNS服务器解析成IP地址
ns2      A       192.168.147.131
websrv   A       192.168.147.128
websrv   A       192.168.147.129
ns       A       192.168.147.129
@        MX   10 mailsrv1
@        MX   20 mailsrv2
mailsrv1 A       192.168.147.129
mailsrv2 A       192.168.147.131





编辑子域的DNS服务器,子域主机为192.168.147.128
[root@centos6 ~]# vim /etc/named.conf 
options {
        //listen-on port 53 { 127.0.0.1; };
        listen-on-v6 port 53 { ::1; };
        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; };
        recursion yes;
        allow-transfer { none; };
        dnssec-enable yes;
        dnssec-validation yes;

        /* Path to ISC DLV key */
        bindkeys-file "/etc/named.iscdlv.key";

        managed-keys-directory "/var/named/dynamic";
};
编辑/etc/named.rfc1912.zones,添加"hz.magedu.com"域
[root@centos6 ~]# vim /etc/named.rfc1912.zones 
zone "hz.magedu.com" IN {
        type master;
        file "hz.magedu.com.zone";
};
在/var/named/目录下生成hz.magedu.com.zone文件
[root@centos6 ~]# cat /var/named/hz.magedu.com.zone 
$TTL 1D
hz.magedu.com.	IN SOA	ns.hz.magedu.com. nsadmin.hz.magedu.com. (
					3	; serial
					1D	; refresh
					1H	; retry
					1W	; expire
					3H )	; minimum
@        NS      ns.hz.magedu.com.
www      CNAME   websrv
websrv   A       192.168.147.128
websrv   A       192.168.147.129
ns       A       192.168.147.128      
完成后重启或重新加载服务即可
测试
[root@centos7 ~]# dig www.hz.magedu.com @192.168.147.129

; <<>> DiG 9.9.4-RedHat-9.9.4-50.el7 <<>> www.hz.magedu.com @192.168.147.129
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 59465
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 1, ADDITIONAL: 2

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;www.hz.magedu.com.		IN	A

;; ANSWER SECTION:
www.hz.magedu.com.	86229	IN	CNAME	websrv.hz.magedu.com.
websrv.hz.magedu.com.	86229	IN	A	192.168.147.129
websrv.hz.magedu.com.	86229	IN	A	192.168.147.128

;; AUTHORITY SECTION:
hz.magedu.com.		86229	IN	NS	ns.hz.magedu.com.

;; ADDITIONAL SECTION:
ns.hz.magedu.com.	86229	IN	A	192.168.147.128

;; Query time: 1 msec
;; SERVER: 192.168.147.129#53(192.168.147.129)
;; WHEN: Fri Jun 28 13:13:39 CST 2019
;; MSG SIZE  rcvd: 132

                    

由此我们三种搭建DNS子域的方法都实现了。

### DNS 子域与委派的概念 DNS 子域是指在一个父域下划分出来的独立子级域名。例如,在 `gm.cn` 这个父域下可以创名为 `gz.gm.cn` 的子域。这种结构允许更细粒度的管理和分配资源。 DNS 委派是一种机制,通过该机制,父域将其部分控制权交给其他 DNS 服务器来处理特定子域的解析请求。这通常用于分布式网络环境,使得不同部门或分支机构能够自主管理其自己的 DNS 记录[^1]。 --- ### DNS 子域与委派的配置方法 #### Windows 平台上的配置 在 Windows Server 中可以通过图形化界面完成 DNS 子域和委派的操作: 1. 打开 **DNS 管理器** 工具。 2. 展开左侧导航栏中的节点树,找到目标父域(如 `benet.com`),并右键单击它。 3. 在弹出的上下文菜单中选择 **新域** 来定义一个新的子域名称。 4. 若要设置委派,则需进一步操作:选中要委派的目标区域,右键点击后选择 **新委派**,输入负责此子域的新 DNS 服务器地址及其 IP 地址信息[^2]。 #### Linux 平台上的配置 针对基于 Linux 的系统,手动编辑 `/etc/named.conf` 文件以及对应的 zone 数据文件即可实现相同功能。以下是具体步骤概述: - 编辑主配置文件 `/etc/named.conf` 添加新的 Zone 定义语句指向相应的数据记录位置; - 创或者修改对应的数据文件加入 NS (NameServer) 类型条目指定次级服务提供者身份;同时补充 A 或 AAAA 形式的主机映射关系确保可达性验证无误[^3]。 下面给出一段简单的 BIND 配置实例供参考: ```bash zone "gz.gm.cn" IN { type master; file "/var/named/gz-gm-cn.zone"; }; ``` 关联的数据文件内容可能如下所示: ```text $TTL 86400 @ IN SOA ns1.gz.gm.cn. admin.gmail.com. ( 2023101701 ; Serial 3600 ; Refresh 1800 ; Retry 604800 ; Expire 86400 ) ; Minimum TTL IN NS dns1.gz.gm.cn. dns1 IN A 192.168.45.2 www IN CNAME @ mail IN MX 10 mailserver.example.org. ``` 上述例子展示了如何声明一个新区域,并为其指定了权威名字服务器及相关联的实际IP地址^. --- ### 最佳实践议 为了提高效率和安全性,请遵循以下几点最佳做法: - 使用自动化的工具和服务简化日常维护工作量,减少人为错误风险。 - 对敏感变更实施严格的审批流程,防止未经授权的行为影响正常业务运行。 - 经常备份所有的配置文档以防万一发生意外丢失情况难以恢复原状。 - 考虑采用冗余设计增强系统的可靠性和可用性水平,比如部署辅助/隐藏副本形式的服务端点作为应急方案备用选项之一。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值