• 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
    
  • 相关阅读:
    Cocos2d-x学习-郝盟主的《城市跑酷》分析学习 (一)GameSprite类
    PictureShare开发(二)地图Mark(标记)的处理(2)
    PictureShare开发(二)地图Mark(标记)的处理(1)
    Unity AssetBundle 踩坑记录
    Unity 配置静态excel 工作流程
    Spine U3D整合流程问题
    Destroy reall destroy ?!
    Drawing-Order-Of-meshes-and-sprites
    Split Animation Clip From FBX and Multiply Mode Sprite
    KBengine Learning Note 1 => Run Demo
  • 原文地址:https://www.cnblogs.com/shenxm/p/8457480.html
Copyright © 2020-2023  润新知