DNS中的AC、rndc、智能DNS解析和基础排错

bind中的ACL和rndc

	DNS除了服务器外,还具有一些访问控制和视图功能。
	访问控制是指仅对定义的网络进行解析,视图也就是智能解析。
		1》访问控制是通过acl函数来实现的,acl把一个或多个地址归为一个集合,随后可通过此统一的名称对此集合内的所有主机进行统一调用。
		2》注意:只能先定义,后使用,因此一般定义在配置文件中,处于options的前面。
		3》格式:
			acl acl_name {
				ip; 具体的ip地址
				net/prelen; 表示一个网段
				……
			};
				示例:
					acl mynet {
						172.16.0.0/16;
						10.10.10.10;
					};
		4》bind 有四个内置的acl:
			none:  没有一个主机
			any:  任意主机
			localhost:  本机
			localnet:  本机的IP同掩码运算后得到的网络地址
		
		5》定义好后,在下方的options中或在其他的zone中进行调用。其中的访问控制的指令:
			allow-query {}:  允许查询的主机;白名单
			allow-transfer {}:允许区域传送的主机;白名单
			allow-recursion {}:  允许递归的主机, 建议全局使用
			allow-update {}:允许更新 
			
	rndc
		1》由于DNS服务器的重要性,每次修改配置文件、解析库文件后不可能都要进行重启服务器操作,否则会导致用户在重启过程当中出现无法解析的情况。因此就需要有种管理机制能够平滑的去管理这些操作,这种机制rndc。
		2》rndc是bind安装包提供的一种控制域名服务运行的工具。它监听tcp的953端口,它可以运行在其他计算机上,通过网络与DNS服务器进行连接,然后根据管理员的指令对named进程进行远程控制,此时,管理员不需要DNS服务器的根用户权限。
		3》使用rndc可以在不停止DNS服务器工作的情况下进行数据的更新,使修改后的配置文件生效。
		4》rndc与DNS服务器实时连接时,需要通过数字证书进行认证。rndc在连接通道中发送命令时,必须使用经过服务器认证的密钥加密。可以使用rndc-confgen命令产生密钥和相应的配置,再把这些配置分别放入name.conf和rndc的配置文件rndc.conf中。
		5》rndc: remote name domain controller,是一个服务,用来提供辅助性的管理功能,该服务监听在主机tcp的935号端口,默认与bind 安装在同一主机,且只能通过127.0.0.1连接DNS服务的named。因此仅允许本地使用,不允许远程。

智能DNS解析

	智能DNS解析也就是DNS的视图,bind view,view功能的实现也是需要结合acl来实现的。
	1》view是一个函数,一个bind服务器可定义多个view ,每个view 中可定义一个或多个zone,用来实现不同的来源ip解析不同的结果。
	2》每个view 用来匹配一组客户端
	3》多个view 内可能需要对同一个区域进行解析,但使用不同的区域解析库文件
	4》格式:
		view VIEW_NAME {
			match-clients { testacl; };
			zone “adc.com” {
					type master;
					file “adc.com.zone”; 
					};
			include “/etc/named.rfc1912.zones”;
		} ;
		
	5》注意:
		1。一旦启用了view ,所有的zone 都只能定义在view中 
		2。仅在允许递归请求的客户端所在view中定义根区域
		3。客户端请求到达时,是自上而下检查每个view 所在服务的客户端列表

DNS基础排除

	1》例如:dig A example.com
		; <<>> DiG 9.9.4-RedHat-9.9.4-14.el7 <<>> Aexample.com
		;; global options: +cmd
		;; Got answer:
		;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id:30523
		...
	
	2》SERVFAIL:The nameserver encountered a problem while processing the query.
		可使用dig +trace 排错,可能是网络和防火墙导致
	3》NXDOMAIN :The queried name does not exist in the zone.
		可能是CNAME 对应的A记录不存在导致
	4》REFUSED :The nameserver refused the client's DNS request due to policy restrictions.
		可能是DNS 策略导致
	5》NOERROR 不代表没有问题,也可以是过时的记录
	6》查看是否为权威记录,flags:aa 标记判断
	7》被删除的记录仍能返回结果,可能是因为* 记录存在
			如:*.example.com. . IN A 172.25.254.254
	9》注意“.”的使用
	10》避免CNAME指向CNAME记录,可能产生回环
		test.example.com. IN CNAME lab.example.com.
		lab.example.com. IN CNAME test.example.com.
	11》正确配置PTR 记录,许多服务依赖PTR ,如sshd,MTA
	12》正确配置轮询round-robin
posted @ 2018-02-21 21:34  shenxm  阅读(451)  评论(0编辑  收藏  举报