zoukankan      html  css  js  c++  java
  • 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
    
  • 相关阅读:
    开源项目
    [Accessibility] Missing contentDescription attribute on image [可取行]失踪contentDescription属性图像
    Android 布局 中实现适应屏幕大小及组件滚动
    EF 错误记录
    EasyUI 加载时需要显示和隐藏 panel(面板)内容破版问题
    IE 报表缩放后页面破版
    VS 2017 引入nuget 问题
    SSRS 报表显示页面 asp net session丢失或者找不到 asp net session has expired or could not be found()
    log4net 配置
    网站
  • 原文地址:https://www.cnblogs.com/shenxm/p/8457480.html
Copyright © 2011-2022 走看看