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

DNS中的AC、rndc、智能DNS解析和基础排错的更多相关文章

  1. JavaScript中登录名的正则表达式及解析(0基础)

    简言 在JavaScript中,经常会用到正则表达式来进行模式匹配.例如,登录名验证,密码强度验证,字符串查找或替换等操作.现在就开始吧,零基础写出你的第一个正则表达式! 在做用户注册时,都会用到登录 ...

  2. Bind+DLZ构建企业智能DNS/DNS

    Bind+DLZ构建企业智能DNS   目录:一.简介二.服务规划三.安装BIND及基本环境四.配置Bind-View-DLZ-MYSQL五.添加相关记录并进行测试六.配置从DNS七.补充 一.简介: ...

  3. DNS—正、反向解析;委派;主从;子域;转发;智能dns等的实现

    前言:DNS,耳熟能详的东西,内容太多,小编也不太好讲清,只能写几个实验详解,供大家参考. 一.简单介绍 1.DNS:通过主机名,最终得到该主机名对应的IP地址的过程叫做域名解析(或主机名解析). 端 ...

  4. DNS正、反向解析+负载均衡+智能DNS+密钥认证

    主机名 IP 软件包 系统版本 内核版本 实验环境 master 192.168.30.130 bind.x86_64 32:9.8.2-0.17.rc1.el6_4.6 bind-chroot.x8 ...

  5. 简单介绍智能DNS解析+双线路接入

    导读:在讨论这个问题,其中群友老孤同志也提供了不少非常有参考价值的资料,所以我们再把这些资料再整理一次,从比较底层的技术原理上重新进行一次分析.   我们知道,因为南电信北网通现象的存在,我们的服务器 ...

  6. 智能DNS解析之edns-client-subnet篇

    摘要:智能DNS解析是CDN的重要组成部份,所谓的智能也就是根据请求用户来对同一域名作出相应不同解析(目前大多数域名注册商还没提供线路解析的服务),所以CDN的调度准确性也就完全依靠DNS智能解析,但 ...

  7. Linux DNS分离解析与构建智能DNS服务器

    一 构建DNS分离解析 方法一 : [root@localhost ~]# vim /etc/named.conf [root@localhost ~]# cd /var/named/ [root@l ...

  8. Bind+DLZ+MySQL智能DNS的正向解析和反向解析实现方法

    使用文本配置文件的配置方式结合bind的最新的acl和view特性来实现智能DNS想必很多人已经很熟悉了,使用MySQL数据库来存放zone文件的方式可能也不少.对于两者都熟悉的,实现 Bind+DL ...

  9. C#实现DNS解析服务和智能DNS服务

    C#实现DNS解析服务有一个开源项目ARSoft.Tools.Net, ARSoft.Tools.Net是一个非常强大的开源DNS控件库,包含.Net SPF validation, SenderID ...

随机推荐

  1. W3C Blog: HTML-下一步是什么?

    HTML5.1 草稿版: 地址:https://www.w3.org/TR/html51/introduction.html#a-quick-introduction-to-html 2016年3月0 ...

  2. python接口测试之序列化与反序列化(四)

    在python中,序列化可以理解为:把python的对象编码转换为json格式的字符串,反序列化可以理解为:把json格式 字符串解码为python数据对象.在python的标准库中,专门提供了jso ...

  3. PHP读取mysql中的数据

    <!DOCTYPE HTML> <html> <head> <title> PHP动态读取mysql中的数据 </title> <me ...

  4. 九度oj 题目1438:最小公倍数

    题目1438:最小公倍数 时间限制:1 秒 内存限制:128 兆 特殊判题:否 提交:2451 解决:2057 题目描述: 给定两个正整数,计算这两个数的最小公倍数. 输入: 输入包含多组测试数据,每 ...

  5. 61. mybatic insert异常:BindingException: Parameter 'name' not found【从零开始学Spring B】

    mybatic insert异常:BindingException: Parameter 'name' not found [从零开始学习Spirng Boot-常见异常汇总] 异常信息如下: nes ...

  6. hdu 1179最大匹配

    #include<stdio.h> #include<string.h> #define N 200 int map[N][N],visit[N],link[N],n,m; i ...

  7. 权限管理组件:rbac

    rbac: Role_Based Access Control,基于角色的权限控制 权限:一个包含正则表达式 的url就是一个权限 目录结构: rbac这个app中的文件代码如下: rbac/mode ...

  8. mysql控制流程函数(case,if,ifnull,nullif)

    1.case...when... 用法 参考:http://www.cnblogs.com/qlqwjy/p/7476533.html CASE value WHEN [compare-value] ...

  9. Delphi XE4 inline 的用法

    为了提高应用程序的性能,可以用inline声明一个函数过过程,对于声明为inline的过程,编译器在编译时,会取代正常的过程调用方式,取而代之是直接把这个函数的编译代码拿过来生成到调用该过程的地方,有 ...

  10. Mutual Training for Wannafly Union #9

    A(SPOJ NPC2016A) 题意:给一个正方形和内部一个点,要求从这个点向四边反射形成的路线的长度 分析:不断做对称,最后等价于求两个点之间的距离 B(CF480E) 题意:求01矩阵内由0组成 ...