Linux_23 DNS 正向解析区域、反向解析区域;主/从;子域;基本安全控制

DNS and Bind
	Sockets:
		C/S:
			Client:发起应用请求的程序;
			Server:响应请求(提供服务)的程序;
		
		传输层协议:TCP,UDP,SCTP
			TCP:Transmission Control Protocol
				面向连接的协议:双方通信之前需要事先建立虚连接;
			UDP:User Datagram Protocol
				无连接的协议:双方无须通信之前需要事先建立虚连接;
	DNS:Domain Name Service,应用层协议
		C/S
			53/udp,53/tcp
		
		www.sanzhang.com:FQDN(Full Qualified Domain Name)
		
		tld:Top Level Domain
			组织域:
                .com:company 商业机构
                .net:网络组织
                .org:非营利性组织
                .gov:政府部门
                .edu:教育部门
                .mil:milaty 军工部门
             国家域:
             	.lq:
             	.tw:
             	.hk:
             	.jp:
         域:sanzhang.com
         	www.sanzhang.com 1.1.1.1
         	ftp.sanzhang.com 2.2.2.2
         	bbs.sanzhang.com 3.3.3.3
         	cloud.sanzhang.com 4.4.4.4
         
         DNS服务器类型:
         	负责解析至少一个域:
         		主名称服务器;
         		辅助名称服务器;
         	不负责域解析:
         		缓存名称服务器;
         
         一次完整的查询请求经过的流程:
         	Client-->hosts文件-->DNS Local Cache --> DNS Server(recursion) --> 
         		自己负责解析的域:直接查询数据库并返回答案;
         		不是自己负责解析域:Server Cache --> Iteration(迭代)
         	
         	解析答案:
         		肯定答案:
         		否定答案:不存在查询的键,因此,不存在与其查询键对应的值;
         		
         		权威答案:由直接负责的DNS服务器返回的答案;
         		非权威答案:

		主-辅DNS服务器:
			主DNS服务器:维护所负责解析的域数据库的那台服务器;读写操作均可进行;
			从DNS服务器:从主DNS服务器那里或其它的从DNS服务器那里“复制”一份解析库;但只能进行读操作;
				“复制”操作的实施方式:
					序列号:serial,也即是数据库的版本号;主服务器数据库内容发生变化时,其版本号递增;
					刷新事件间隔:refresh,从服务器每多久到主服务器检查序列号更新状况;
					重试事件间隔:retry,从服务器从主服务器请求同步解析库失败时,再次发起尝试请求的时间间隔;
					过期时长:expire,从服务器始终练习不到主服务器时,多久之后放弃从主服务器同步数据;停止提供服务;
					否定答案的缓存时长;
				
				主服务器“通知”从服务器随时更新数据;
				
				区域传送:
					全量传送:axfr,传送整个数据库;
					增量传送:lxfr,仅传送变量的数据;
		
		区域(zone)和域(domain):
			sanzhang.com 域:
				FQDN-->IP
					正向解析库;区域
				IP-->FQDN
					反向解析库;区域
				
		区域数据库文件:
			资源记录:Resource Record,简称rr;
				记录有类型:A,AAAA,PTR,SOA,NS,CNAME,MX
			
			SOA:Start Of Authority,起始授权记录;一个区域解析库有且只有一个SOA记录,而且必须放在第一条;
			NS:Name Service,域名服务记录;一个区域解析库可以有多个NS记录;其中一个为主的;
			A:Address,地址记录,FQDN-->IPv4;
			AAAA:地址记录,FQDN-->IPv6;
			CNAME:Canonical Name,别名记录;
			PTR:Pointer,IP-->FQDN
			MX:Mail exchanger,邮件交换器;
				优先级:0-99,数字越小优先级越高;
			
			资源记录的定义格式:
				语法: name	[TTL]	IN	RR_TYPE		value
			
			SOA:
				name:当前区域的名字;例如“sanzhang.com.”,或者“2.3.4.in-addr.arpa.”;
				value:有多部分组成:
					(1)当前区域的区域名称(也可以使用主DNS服务器名称);
					(2)当前区域管理员的邮箱地址;但地址中不能使用@符号,一般使用点号来替代;
					(3)(主从服务协调属性的定义以及否定给答案的TTL)
					
					例如:
						sanzhang.com.	86400	IN	SOA	sanzhang.com.	admin.sanzhang.com.(
						2017082801	;serial
						2H			;refresh
						10M			;retry
						1W			;expire
						1D			;negatice answer ttl
						)
			
			NS:
				name:当前区域的区域名称
				value:当前区域的某DNS服务器的名字,例如ns.sanzhang.com.;
					注意:一个区域可以有多个ns记录;
				
				例如:
					sanzhang.com.	86400	IN	NS	ns1sanzhang.com.
					sanzhang.com.	86400	IN	NS	ns1sanzhang.com.
					
			MX:
				name:当前区域的区域名称
				value:当前区域某邮件交换器的主机名;
					注意:MX记录可以有多个;但每个记录的value之前应该有一个数字表示其优先级;
				
				例如:
					sanzhang.com.		IN MX	10	mx1.sanzhang.com.
					sanzhang.com.		IN MX	20	mx2.sanzhang.com.
					
			A:
				name:某FQDN,例如www.sanzhang.com.
				value:某IPv4地址;
				
				例如:
                www.sanzhang.com.	IN	A	1.1.1.1
                www.sanzhang.com.	IN	A	1.1.1.2
                bbs.sanzhang.com.	IN	A	1.1.1.1
             
             AAAA:
             	name:FQDN
             	value:IPv6

			PTR:
				name:IP地址,有特定格式,IP反过来写,而且加特定后缀;例如1.2.3.4的记录应该写为4.3.2.1.in-addr.arpa;
				value:FQND
				
				例如:
					4.3.2.1.in-addr.arpa.	IN PTR	www.sanzhang.com.

			CNAME:
				name:FQDN格式的别名;
				value:FQDN格式的正式名字;
				
				例如:
					web.sanzhang.com.	IN CNAME	www.sanzhang.com.
		
		注意:
			1.TTL可以从全局继承;
			2.@表示当前区域的名称;
			3.相邻的两条记录其name相同时,后面的可省略;
			4.对于正向区域来说,各MX,NS等类型的记录的value为FQDN,此FQDN应该有一个A记录;
		
DNS and Bind(2)
	BIND的安装配置: # 域名服务商:dnspod.cn(国内)  dns.la(国内)  godaddy(国外)
		BIND:Berkeley Internet Name Doamin,ISC.org
		dns:协议
		bind:dns协议的一种实现
		named:bind程序的运行的进程名
		
	程序包:yum 
		bind-libs:被bind和bind-utils包中的程序共同用到的库文件;
		bind-utils:bind客户端程序集,例如dig,host,nslookup等;
		
		bind:提供的dns server程序、以及几个常用的测试程序;
		bind-chroot:选装,让named运行于jall模式下;
	bind: 
		yum list all "bind*"
		yum info bind-libs
		yum install -y bind
		主配置文件:/etc/named.conf
			或包含进来其他文件;
				/etc/named.lscdlv.key
				/etc/named.rfc1912.zones
				/etc/named.root.key
			解析库文件:
				/var/named/目录下:
					一般名字为:ZONE_NAME.zone
				注意:
				(1)一台DNS服务器可同时为多个区域提供解析(包括正向和反向解析)
				(2)必须要有根区域解析库文件:named.ca;
                  (3)还应该有两个区域解析库文件:localhost和127.0.0.1的正反向解析库;
                  		正向:named.localhost
                  		反向:named.loopback
                  		
			rndc:remote name domain contoller
				953/tcp,但默认监听于127.0.0.1地址,因此仅允许本地使用;
			
			bind程序安装完成之后,默认即可做缓存名称服务器使用;如果没有专门负责解析的区域,直接即可启动服务;
				CentOS6:service start named.service
				CentOS7:systemctl start named.service
			
			主配置文件格式:
				全局配置段:
					options{...}
				日志配置段:
					logging{...}
				区域配置段:
					zone{...}
						那些由本机负责解析的区域,或转发的区域;
					
					注意:每个配置语句必须以分号结尾;
				
				缓存名称服务器的配置:
					监听于外部主机通信的地址;
					listen-on port 53;
					listen-on port 53 { 172.16.100.67; }; # 花括号内两端必须要有空格
					
					学习时,建议关闭dnssec
						dnssec-enable no;
        				 dnssec-validation no;
						dnssec-lookaside no;
					关闭仅允许本地查询:
                    	//allow-query { localhost; };
					
					检查配置文件语法错误:
						named-checkconf [-h][-j][-p][-v][-t directory][named.conf]
					
                  	  启动域名服务器:
                      	service named.service start  # CentOS6
                  		systemctl start named.service # CentOS7
                  		netstat -lntup # 53端口在udp和tcp协议下被监听 rndc的953 端口也被监听
        				
        				确认我们的iptables时关闭的:
        					iptables -L -n
        					
        			测试工具: rpm -ql bind-utils
        				dig,host,nslookup # 都是bind-utils安装包提供的集成工具,yum install -y bind-utils
						
						dig命令:
							dig [-t RR_type] name [@SERVER] [query options]
								用于测试dns系统,因此其不会查询hosts文件;
								dig -t A www.baidu.com
								dig +trace -t A www.baidu.com
								查询选项:
									+[no]trace:跟踪解析过程;
									+[no]rcurse:进行
								注意:反向解析测试;
									dig -x IP
								模拟完成区域传送:
									dig -t axfr DOMAIN [@server]
						host 命令:
							host [-t RR_TYPE] name SERVER_IP
							host -t A www.baidu.com
							
					nslookup命令:
						nslookup [-options] [name] [server]
						
						交互式模式:
							nslookup>
								server IP:以指定的IP为DNS服务器进行查询;
								ser q=RR_TYPE:要查询的资源记录类型;
								name:要查询的名称;	
					
                    rndc命令:named服务控制命令
                    	rndc -h # 查看帮助命令
                    	rndc status  # 检查named服务是否开启,类似systemctl status named
                    	rndc flush	# 刷新区域解析缓存
                    	rndc stop # 停止named服务
                    	rndc reload [zone]# 完成区域内容重载  每次修改完/var/named/sanzhang.com.zone文件都需要修改SOA的序列号

nslookup:

配置解析一个正向区域

如何负责解析一个区域?
	在互联网上注册一个域,sanzhang.com,现在要为这个域提供解析了,对应的服务器必须是互联网上的主机,有互联网的地址,在注册商那里修改NS记录指向我这台服务器的IP地址,
	
	配置解析一个正向区域:
		先修改配置文件/etc/resolv.conf:
			nameserver		192.168.1.7  # 192.168.1.1
		以sanzhang.com域为例:
			(1)定义区域
				在主配置文件(/etc/named.conf)中或主配置文件(/etc/named.rfc1912.zones)辅助配置文件中实现;
					zone "ZONE_NAME" IN {
						type {master|slave|hint|forward};
						file "ZONE_NAME.zone";
					};
					
					eg:
						vim /etc/named.rfc1912.zones
							zone "sanzhang.com" IN {
								type master;
								file "sanzhang.com.zone";
							};
							
							注意:区域名字即为域名;

			(2)建立区域数据文件(主要记录为A或AAAA记录)
				在/var/named目录下建立区域数据文件;
					cd /var/named
					vim sanzhang.com.zone
						# 如果定义的资源中域名没写全,就可以定义此行,默认读取此值补全,此行只是为了确保能将域补全,不写此行,定义的资源中只写ns1,也会读取/etc/named.rfc1912.zones文件中定义的zone中取,并补上.
						$TTL 3600
						$ORIGIN sanzhang.com.  
						@		IN		SOA		ns1.sanzhang.com.		dnsadmin.sanzhang.com.(
						2017080801
						1H
						10M
						3D
						1D)
								IN		NS		ns1 # 名称不写,默认与@相同
								IN		MX	10  mx1
								IN		MX  20  mx2
						ns1		IN		A	    192.168.1.7
						mx1		IN		A		192.168.1.8
						mx2		IN		A		192.168.1.9
						www		IN		A		192.168.1.7
						web		IN		CNAME	www
						bbs		IN		A		192.168.1.11
						bbs		IN		A		192.168.1.12
								
			(3)让服务器重载配置文件和区域数据文件;
                rndc status
                rndc reload
			
                # 检查配置文件语法是否有误
                named-checkconf # 如果自定义的/var/named/sanzhang.com.zone文件有误也会报错
                named-checkzone sanzhang.com /var/named/sanzhang.com.zone
			   
			(4) 修改sanzhang.com.zone文件的 其它 为不可读,属主为named
				chown :named sanzhang.com.zone
				chmod o= sanzhang.com.zone			
				rhnc reload  # 或者 systemctl reload named
				使用host/dig命令测试

定义域配置文件:

配置解析一个反向区域

	配置解析一个反向区域:
		以sanzhang.com域为例:
			(1)定义区域
				在主配置文件(/etc/named.conf)中或主配置文件(/etc/named.rfc1912.zones)辅助配置文件中实现;
					zone "ZONE_NAME" IN {
						type {master|slave|hint|forward};
						file "ZONE_NAME.zone";
					};
					
					注意:反向区域的名字
						反写的网段地址.in-addr.arpa
							7.1.168.192.in-addr.arpa
					zone "1.168.192.in-addr.arpa" IN {
                            type master;
                            file "192.168.1.zone";
					};

			(2)建立区域数据文件(主要记录为PTR)
				示例:	区域名称为1.168.192.in-addr.arpa;
				在/var/named目录下建立区域数据文件;
					cd /var/named
					vim 192.168.1.zone
                        $TTL 3600
                        $ORIGIN 1.168.192.in-addr.arpa.
                        @       IN      SOA     ns1.sanzhang.com.       nsadmin.sanzhang.com. (
                                        2017010801
                                        1H
                                        10M
                                        3D
                                        12H)
                                IN      NS      ns1.sanzhang.com.
                        7       IN      PTR     ns1.sanzhang.com.
                        8       IN      PTR     mx1.sanzhang.com.
                        9       IN      PTR     mx2.sanzhang.com.
                        10      IN      PTR     bbs.sanzhang.com.
                        11      IN      PTR     bbs.sanzhang.com.
                        7       IN      PTR     www.sanzhang.com.

			(3)让服务器重载配置文件和区域数据文件;
                rndc status
                rndc reload

                # 检查配置文件语法是否有误
                named-checkconf # 如果自定义的/var/named/192.168.1.zone文件有误也会报错
                named-checkzone 1.168.192.in-addr.arpa /var/named/192.168.1.zone
                使用host/dig命令测试
			   
            (4) 修改192.168.1.zone文件的 其它 为不可读,属主为named
                chgrp named 192.168.1.zone
                chmod o= 192.168.1.zone
			   rndc reload  # 或者 systemctl reload named
			   使用host/dig命令测试:
			   		dig -x 192.167.1.7
			   		.
			   		.
			   		dig -x 192.167.1.11

配置主从服务器

配置一个正向的从区域

注意:服务器是区域级别的概念;

ls -ld /var/named
drwxr-x---.  5	root named	4096 1月	8	16:21	/var/named
由于属组不能在/var/named目录中创建目录/文件,所以手动在/var/named下创建一个新的子目录slaves。
	mkdir /var/named/slaves

配置一个正向的从区域:
	On slave
	(1)定义区域:
		定义一个从区域;
			zone "ZONE_NAME" IN {
				type slave;
				file "slaves/ZONE_NAME.zone";
				masters {MASTER_IP;};
			};
			
			配置文件语法检查:named.service
	(2)重载配置
	rndc reload
	rndc reload
	systemctl reload named.service

On Master 
	(1) 确保区域数据文件中为每个从服务配置NS记录,并且在正向区域文件需要每个从服务器的NS记录的主机名配置一个A记录,且此A后面的地址为真正的从服务器的IP地址;
注意:时间要同步;
	ntpdate命令;
	
在slaves机器上:
	yum install -y bind
	
	编辑/etc/named.conf文件:
		listen-on port 53 { 127.0.0.1;192.168.1.8; }; # 添加由本机作为域名解析的IP
        dnssec-enable no;
        dnssec-validation no;
        将以上的两行全部设置为no。
        编辑/etc/named.rfc1912.zones文件:
        	成为正向区域的从服务器:
        		zone "sanzhang.com" IN {
                        type slave;
                        file "slaves/sanzhang.com.zone";
                        masters { 192.168.1.7; };
                };
		systemctl start named

在master机器(192.168.1.7)上:
	vim /etc/named/sanzhang.com.zone
		新增一条NS记录,如下图1。另外每次修改都应该将文件中的SOA序列号加1。不然从服务器没办法改变,因为序列号是一样的。
	检查配置文件的语法格式:
		named-checkzone sanzhang.com /var/named/sanzhang.com.zone 	
			
	rndc reload
		server is up and running # 说明配置文件加载成功
	主服务器上配置文件reload成功以后,从服务器上的named服务会refresh,可在从服务器上:systemctl status named检查     
   		
	在从服务器上可以看到,在/var/named/slaves上自动新增的文件sanzhang.com.zone,此文件是从主服务器上同步过来的,只要主服务器上的配置文件有修改就会往slaves同步一次。

dig -t A www.sanzhang.com @192.168.1.8 # 正常解析,如图2

在域主服务器(master)上新增一条记录:# 如下图3
	vim /var/named/sanzhang.com.zone # 别忘了将SOA中的序列号加1
rndc reload
	
 在从服务器上,刚刚添加的记录也会同步到从服务器的/var/named/sanzhang.com.zone文件中,
 	在从服务器中验证在主服务器上新增的pop3记录是否能被解析:
 		dig -t A pop3.sanzhang.com @192.168.1.8 # @表示指定用当前机器做解析,具体看图4

图1:

图2:

图3:

图4:

配置一个反向的从区域

On slaves:
	vim /etc/named.rfc1912.zones 
		zone "1.168.192.in-addr.arpa" IN {
        type slave;
        file "slaves/192.168.1.zone";
        masters { 192.168.1.7; };
	};
	
	# 检查主配置文件:
    	named-checkconf
    # 重新加载配置文件:
    	rndc reload
    	
主和从的区域配置配置文件中SOA的序列号不同步,修改哪一个都单独加1。。。。。。。。。。。。
On master:
	vim /var/named/slaves/192.168.1.zone 
		新增一条反向解析的记录,如下图1;
	# 检查区域配置文件
		named-checkzone 1.168.192.in-addr.arpa /var/named/slaves/192.168.1.zone 
	# 重新加载配置文件:
    	rndc reload
    查看下图2,从服务器已经同步了192.168.1.zone文件
    
在从服务器上(slave:192.168.1.7)查看是否能够被解析: # 图3
	dig -x 192.168.1.8 @192.168.1.7

在主服务器上在增加一条记录pop3: # 图4
	vim /var/named/192.168.1.zone
rndc reload

systemctl status named,变更已经通知从服务器 # 图5

在从服务器上查看pop3的解析:
	dig -x 192.168.1.100 @192.168.1.7 # 图6

图1:

图2:

图3:

图4:

图5:

图6:

创建一个ops子域的域名服务

子域授权:
	正向解析区域授权子域的方法:
		ops.sanzhang.com.		IN		NS	ns1.ops.sanzhang.com.
		ops.sanzhang.com.		IN		NS	ns2.ops.sanzhang.com.
		ns1.ops.sanzhang.com.	IN		A	IP.AD.DR.ESS
		ns2.ops.sanzhang.com.	IN		A	IP.AD.DR.ESS
		
		sanzhang.com.		    IN		NS
		ns1.ops.sanzhang.com.	IN		A	1.1.1.1
			
    准备一台虚拟机(IP:192.168.1.11),安装bind包:yum install -y bind
    vim	/etc/named.conf
        添加一个对外监听的IP地址:
            listen-on port 53 { ::1;192.168.1.11; };
        设置以下两项参数为no:
            dnssec-enable no;
            dnssec-validation no;
    启动named服务:
        systemctl start named
    查看53端口是否处于监听状态:
        ss -tunl

    vim /etc/named.rfc1912.zones 
        新增一条子域的配置:
            zone "ops.sanzhang.com" IN {
            type master;
            file "ops.sanzhang.com.zone";
        };

    vim /var/named/ops.sanzhang.com.zone
        $TTL 3600
    $ORIGIN ops.sanzhang.com.
        @       IN      SOA     ns1.ops.sanzhang.com.   nsamdin.ops.sanzhang.com. (
                        2018010801
                        1H
                        10M
                        1D
                        2H)
                IN      NS      ns1
        ns1     IN      A       192.168.1.11
        www     IN      A       192.168.1.11

    chmod o= ops.sanzhang.com.zone
    chgrp named	ops.sanzhang.com.zone
    rndc reload

    安装 bind-utils包:
        yum install -y bind-utils

    dig -t A www.ops.sanzhang.com # 如下图1
	
定义转发:# 在192.168.1.11这台机器上
    注意:被转发的服务器必须允许为当前服务器做递归;
    (1)区域转发
        zone "ZONE_NAME" IN {
            type forward;
            forward {first|only};
            forwarders {SERVER_IP;};
        };

        first:首先转发;转发器不响应时,自行去迭代查询;
        only:只转发;
		vim /etc/named.rfc1912.zones 
        zone "sanzhang.com" IN {
            type forward;
            forward only;
            forwarders { 192.168.1.7;192.168.1.8; }; # 定义父域的主从服务器都能转发
        };
		
		注释:关闭子域及父域中主从配置文件/etc/named.conf的如下参数:
        	//allow-query     { localhost; };
		
		
		测试:
			dig -t A bbs.sanzhang.com @192.168.1.11  # 如下图2、3
			

	(2)全局转发 # 针对凡本地没有通过zone定义的区域查询请求,通通转给某转发器;
		vim /etc/named.conf
			添加如下参数:
			options {
				forward only;
				forwarders { 192.168.1.7; };
			};  # 如下图4
		解析的优先级:首先找 /var/named/*.zone,如果zone中定义了,就zone负责;如果zone没定义,就全局定义的(/etc/named.conf)的负责转发。
		
        测试:
        	dig -t A www.baidu.com @192.168.1.11 # 如下图5  是192.168.1.7转发出去解析的

图1:

image-20210613195636282

图2:

图3:

图4:

bind中的安全相关的配置

acl:访问控制列表;把一个或多个地址归并一个命名的集合,随后通过此名称即可对此集合内的所有主机实现统一调用;
	acl acl_name {
		ip;
		net/prelen;
	};
	示例:
        acl mynet {
            172.16.0.0/16;
            127.0.0.0/8;
        };

bind有四个内置的acl:
	none:没有一个主机;
	any:任意主机;
	local:本机;
	localnet:本机所在的IP所属的网络;
	
访问控制指令:
	allow-query {}; 允许查询的主机;白名单;
	allow-transfer {}; 允许向哪些主机做区域传送;默认向所有主机;应该配置;
	allow-recursion {}; 允许哪些主机向当前DNS服务器发起递归查询请求;
	allow-update {};DDNS,允许动态更新区域数据库文件中内容;

bind view:
	视图:
		view VIEW_NAME {
			zone
			zone
			zone
		}
		
		view internal {
			match-clients { 172.16.0.0/8; };
			zone "sanzhang.com" IN {
				type master;
				file "sanzhang.com/internal";
			};
		};
		
		view external {
			match-clients { any; };
			zone "sanzhang.com" IN {
				type master;
				file "sanzhang.com/external";
			};
		};
	

这里在IP:192.168.1.7 的这台主机上,也能接收到传送,因为他不是主从中的从服务器,它可以查询,但应该默认拒绝它传送。

在主服务器(master)上:
	vim /var/named/sanzhang.com.zone
		zone "snazhang.com" IN {
			type master;
			file "sanzhang.com.zone";
			allow-transfer { slaves; }; # 添加此参数
		};

	vim /etc/named.conf
		acl slaves {
			192.168.1.8;
			127.0.0.1;
	};

测试:
	在192.168.1.11机器上同步:
		dig -t axfr sanzhang.com @192.168.1.7  # 如下图1,配置生效,192.168.1.11这台机器同步已经被拒绝
	在192.168.1.8机器(从服务器)上同步:
    	dig -t axfr sanzhang.com @192.168.1.7  # 如下图2,配置生效,可以同步

	在192.168.1.7机器(主服务器)上同步:
		dig -t axfr sanzhang.com @192.168.1.7  # 如下图3,配置生效,192.168.1.7这台机器同步已经被拒绝,因为/etc/named.conf中只配置监听外网地址,如下图4:		
	

图1:

图2:

图3:

图4:

image-20210613221612356

image-20210613221919319

如果需要外网地址:192.168.1.7也能同步,可以在 allow-transfer (/etc/named.conf )中添加外网地址:

allow-recursion {}; 允许哪些主机向当前DNS服务器发起递归查询请求;

在master(192.168.1.7主机上),vim /etc/named.conf:

在192.168.1.11机器测试master定义的某个网段允许递归是否起效果:

DNS 重点:

正向解析区域、反向解析区域;主/从;子域;基本安全控制;
posted on 2021-06-13 23:25  jueyuanfengsheng  阅读(483)  评论(0编辑  收藏  举报