DNS服务器


DNS:domain name service,应用层协议,域名解析服务。
DNS利用TCP/53端口进行区域传送,利用UDP/53端口进行解析。

一、DNS基本介绍

1、DNS服务器常见概念

(1)DNS(domain name service,域名系统),在TCP/IP网络中有着非常重要的地位,能够提供域名和IP地址的解析服务。
(2)DNS是一个分布式数据库,命名系统采用的逻辑结构,如同一颗倒置的树,这个逻辑的树形结构称为域名空间,由于DNS划分了域名空间,所以各机构可以使用自己的域名空间创建DNS信息。

注意: DNS域名空间中,树的最大深度不得超过127层,树中每个节点最长可以存储63个字符。
在这里插入图片描述

2、一些名词的解释

(1) 域和域名

(a)  DNS树的每个节点代表一个域,通过这些节点,对整个域名空间进行划分,称为一个层次结构。
(b)  域名空间的每个域的名字,通过域名进行标识。
(c\) 域名:通常由一个完全合格域名 (FQDN) 标识;FQDN能准确标识出其相对于DNS域树根的位置,也就是节点到DNS树根的完整表述方式,从节点到树根采用反向书写,并将每个节点用“.”分隔;对于DNS域google域中的子域,可以使用www.google.com表示。
(d) 注意:通常,FQDN有严格的命名限制,长度不能超过256字节,只允许字符a-z,0-9,A-Z和减号(-) .点号(.)只允许在域名标志之间(例如“google.com”)或者FQDN的结尾使用。
(e) 域名不区分大小写。
(f) 由最顶层到下层,可以分为:根域、顶级域(一级域)、二级域、子域。
(g) Internet域名空间的最顶层是根域(root),其记录着Internet的重要DNS信息,有Internet域名注册授权机构管理,该机构把域名空间各部分的管理责任分配到给连接Internet的各个组织。

(2)"."全球有13根(root)服务器

(a) DNS根域下面是顶级域(一级域),也由Internet域名注册授权机构管理,共有3种类型的顶级域(国家顶级域名、国际顶级域名、通用顶级域名)。
(b) 组织域:采用3个字符的代号,表示DNS域中所包含的组织的主要功能和活动;比如 .com为商业机构组织,.edu为教育机构组织,gov为政府机构组织,.mil为军事机构组织,.net为网络机构组织,.org为非盈利机构组织,.int为国际机构组织。
(c) 地址与:采用两个字符的国家或地区代号;如 .cn为中国,.kr为韩国,.us为美国,.hk为香港,.tw为台湾。
(d) 反向域:这个是特殊域,名字为 in-addr.arpa. ,用于将IP地址映射到名字(反向查询)

对于顶级域的下级域,Internet域名注册授权机构授权给Internet的各种组织。当一个组织获得了对域名空间某一部分的授权后,该组织就会负责命名所分配的域及其子域,包括域中的计算机和其它设备,并管理分配域中主机名与IP地址的映射信息。

(3)区域(ZONE)

(a) 区是DNS名称空间的一部分,其包含了一组存储在DNS服务器上的资源记录
(b) 使用区的概念,DNS服务器回答关于自己区中主机的查询,每个区都有自己的授权服务器

(4) 主域名服务器与辅助域名服务器

当区域的辅助服务器启动时,它与该区的主服务器进行连接并启动一次区域传输,区域辅助服务器定期与区域主服务器通信,查看区域数据是否改变,如果改变了,它就启动一次数据更新传输。每个区必须有主服务器,另外每个区至少要有一台辅助服务器,否则如果该区的主服务器崩溃了,就无法解析该区的名称。

(5) 辅助服务器的优点

(a) 容错能力
	配置辅助服务器后,在该区主服务器崩溃的情况下,客户机仍然能解析该区域的名称,一般把区域的主服务器和区域的辅助服务器安装在不同子网上这样如果到一个子网的连接中断,DNS客户机还能直接查询另外一个子网上的名称服务。
(b) 减少广域链路的通信量
	如果某个区域远程有大量客户机,用户就可以在远程添加该区域的辅助服务器,并把远程的客户机配置成先查询这台服务器,这样就能防止远程客户机通过慢链路通信来进行DNS查询
(c) 减轻主服务器的负载
	辅助服务器能回答该区的查询,从而减少该区主服务器必须回答的查询数

二、DNS相关概念

2.1 DNS服务器类型

(1) 主DNS服务器
主DNS服务器:管理和维护所负责解析的域内解析库的服务器
(2) 从DNS服务器
从DNS服务器:从主服务器或其它从DNS服务器那里“复制”(区域传输)一份解析库副本;但只能进行读操作。

“复制”操作的实施方式:

序列号(serial): 解析库版本号,主服务器解析库变化时,其序列号递增
刷新时间间隔(refresh): 从服务器从主服务器请求同步解析的时间间隔
重试时间间隔(rety): 从服务器请求同步失败时,再次尝试时间间隔
过期时长(expire): 从服务器联系不到主服务器时,多久之后放弃从主服务器同步数据;停止提供服务
否定答案缓存时长: 

通知机制:主服务器解析库发生变化时,会主动通知从服务器

区域传送
全量传送:axfr,传送整个数据库
增量传送:ixfr,仅传送变化的数据
(3) 缓存DNS服务器(转发器)

DNS服务器

运行DNS服务器程序的计算机,储存DNS数据库信息,DNS服务器会尝试解析客户机的查询请求。
在解答查询时,如果DNS服务器能提供所请求的信息,就直接回应解析结果,如果该DNS服务器没有相应的域名信息,则为客户机提供另一个能帮助解析查询的服务器地址,如果以上两种方法均失败,则回应客户机没有所请求的的信息或请求的信息不存在。

DNS缓存服务器

DNS服务器在解析客户机请求时,如果本地没有该DNS信息,则可以询问其它DNS服务器,当其它域名服务器返回查询结果时,该DNS服务器会将结果记录在本地的缓存中,称为DNS缓存。当下一次客户机提交相同请求时,DNS服务器能够直接使用缓存中的DNS信息进行解析。

2.2 DNS解析查询过程

在这里插入图片描述
(a) 本地客户端提出域名解析请求,首先查找本地hosts文件,如果hosts文件不能解析,并将该域名请求发给本地的域名服务器
(b) 当本地的域名服务器收到请求后,就先查询本地的缓存
① 如果有查询的DNS信息记录,则直接返回查询的结果
② 如果没有该记录,本地域名服务器就把请求发给根域名服务器
(c) 根域名服务器再返回给本地域名服务器一个所查询域的顶级域名(root的子域)服务器的地址
(d) 本地服务器再向上一步返回的域名服务器发送请求
(e) 接受该查询请求的域名服务器查询自己缓存和记录,如果有相关信息则返回客户端查询结果,否则返回相关的下级域名服务器的地址
(f) 重复第e步,直到找到正确的记录
(f) 本地域名服务器将查询结果保存到缓存,以备下一次使用,同时将结果返回给客户端

2.3 DNS两种查询类型

(a) 递归查询:递归查询是一种DNS服务器的查询模式,在该模式下DNS服务器接收到客户机请求,必须使用一个准确的查询结果回复客户机;如果DNS服务器本地没有存储查询DNS信息,那么该服务器会询问其它服务器,并将返回的查询结果提交给客户机。

(b) 迭代查询:DNS服务器另外一个查询方式为迭代查询,当客户机发送查询请求时,DNS服务器并不直接回复查询结果,而是告诉客户机另一台DNS服务器地址,客户机再向这台DNS服务器提交请求,依次循环直到返回查询的结果为止。

DNS域名结构

(1) 根域
(2) 顶级域(一级域名)
.com、.edu、.mil、.gov、.net、.org、.int、.arpa
(3) 二级域
(4) 三级域
最多127级域名

名称服务器:域内负责解析本域内的名称主机;根服务器:13组服务器,1个为主服务器在美国,其余12个均为辅根服务器,其中9个在美国,欧洲2个,位于英国和瑞典,亚洲1个位于日本。

DNS解析

解析类型

(a) 正向解析:FQDN --> IP; 正向解析是指“域名”到“IP地址”的解析过程。
(b) 反向解析:IP --> FQDN; 反向解析是从“IP地址”到“域名”的解析过程。

注意:正反向解析是两个不同的名称空间,是两颗不同的解析树。

DNS解析答案类型

解析答案分为肯定答案、否定答案;应答分为权威应答和非权威应答。
肯定答案: 一个肯定答案有返回结果
否定答案: 请求的条目不存在等原因导致无法返回结果
权威答案: 客户端从指定DNS直接获取的解析
非权威答案: 客户端通过指定的DNS从其它渠道获取的解析

区域(zone)和域(domain)
xingxinchao.com域:
FQDN --> IP
正向解析库:区域
IP --> FQDN
反向解析库:区域

DNS区域数据库文件

DNS区域数据库文件概念

区域解析库: 由众多RR组成
资源记录: Resource Record,简称rr
记录类型分为: SOA、NS、A、AAAA、PTR、CNAME、MX

SOA资源记录
SOA(Start Of Authority)资源记录(全区域唯一)

起始授权记录:一个区域解析库有且仅有一个SOA记录,必须位于解析库的第一条记录。

每个区在区的开始处都包含了一个起始授权记录(start if aytgority record),简称SOA记录。

SOA定义了域的全局参数,进行整个域的管理设置,一个区域文件只允许存在唯一的SOA记录

NS资源记录
NS(Name server)记录是域名服务器记录,用来指定该域名由哪个DNS服务器来进行解析,每个区在区根处至少包含一个NS记录。

A资源记录
地址(A)资源记录把"FQDN" 映射到"IPv4地址",因为有此记录,所以DNS服务器能解析FQDN域名对应的IPv4地址。

AAAA资源记录
地址(AAAA)资源记录把"FQDN"映射到"IPv6地址",因为有此记录,所以DNS服务器能够解析FQDN域名对应的IPv6地址。

PTR资源记录
相对于A资源记录,指针(PTR)记录"IP地址"映射到"FQDN",用于反向查询(反向解析),通过IP地址找到域名。

CNAME资源记录
别名记录(CNAME)资源记录创建特定FQDN别名,用户可以使用CNAME记录来隐藏用户网络的实现细节,使连接的客户机无法知道真正的域名

例如:ping www.baidu.com时,解析到了百度的别名服务器,百度有个cname=www.a.shifen.com.的别名
在这里插入图片描述
MX资源记录
邮件交换(MX)资源记录,为DNS域名指定邮件交换服务器。

邮件交换服务器是为DNS域名处理或转发邮件的主机,处理邮件指把邮件投递到目的地或转交另一不同类型的邮件传送者,转发邮件指把邮件发送到最终目的服务器,用简单邮件传输协议(SMTP)把邮件发送给离最终目的地最近的邮件交换服务器,或使邮件经过一定时间的排队。

以上是相关概念

SOA区域授权起始记录,区域文件第一条记录
NS域的授权名称服务器
MX域的邮件交换服务器,要跟着一个优先级值,越小越高
A通过"FQDN"映射"IPv4"主机地址
AAAA通过"FQDN"映射"IPV6"主机地址
PTR解析IP的指针(反向解析) IP --> FQDN
CNAME权威(正式)名称,定义别名记录

区域文件资源记录格式

SOA记录
name:当前域的名字,例如"xingxinchao.com."
value:有多部分组成
当前区域的主DNS服务器的FQDN,也可以使用当前区域的名字
当前区域管理员的邮箱地址;但地址中不能使用@符号,一般用点号(.)替换,例如nsadmin.xingxinchao.com
主从服务器区域传输相关定义以及否定的答案的统一TTL

示例
xingxinchao.com.  86400  IN  SOA  ns.xingxinchao.com.  nsadmin.xingxinchao.com. (
	2019100110	 ;序列号
	2H           ;刷新时间
	10M			 ;重试时间
	1W			 ;过期时间
	1D	)		 ;否定答案的TTL值

注意:在zone文件里";"表示注释

NS记录
name:当前区域名字
value:当前区域的某DNS服务器的名字,例如:ns.xingxinchao.com.
注意:一个区域可以有多个NS记录

示例:
xingxinchao.com.	IN	NS	ns.xingxinchao.com.

注意:(1) 相邻的两个资源记录的name相同时,后续的可省略
     (2) 对NS记录而言,任何一个NS记录后面的服务器名字,都应该在后续有一个A记录
     (3) 空格和@都代表当前ZONE名,如果自己手写注意以“.”结束

A记录
name:某主机的FQDN,例如www.xingxinchao.com.
value:主机名对应的IPv4地址

示例:
	www.xingxinchao.com.	IN	A 172.16.10.5
	www.xingxinchao.com.	IN	A	172.16.10.6
	pps						IN	A	172.16.10.10
	max						IN	A	172.16.10.10

注意:一个FQDN可对应多个IP地址,一个IP地址也可对应多个FQDN
注意:一般NS记录后必须跟一个A记录;A记录前主机名后跟IP地址;*代表泛域名

PTR记录
name:IP,有特定格式,把IP地址反过来写,1.2.3.4,要写成4.3.2.1;而后有特定的后缀:.in-addr.arpa. ;所以完整的写法为:4.3.2.1.in-addr.arpa.
value:FQDN

例如:
    10.10.16.172.in-addr.arpa.    IN    PTR    www.xingxinchao.com.
    15.10.16.172.in-addr.arpa.    IN    PTR    www.xingxinchao.com.
    20                            IN    PTR    pps.xingxinchao.com.
    20                            IN    PTR    max.xingxinchao.com.
    5.5.5.5.in-addr.arpa.         IN    PTR    *.xingxinchao.com.
如172.16.10为网络地址,可简写成:
   20        IN        PTR    pps.xingxinchao.com.

注意:网络地址及后缀可省略;主机地址依然需要反着写

DNS服务器的安装及相关配置

DNS服务器的安装

Bind简介:全称为Berkeley Internet name domain(伯克利因特网名称域系统);Bind主要有三个版本:bind4、bind8、bind9。
bind8融合了许多提高效率、稳定性和安全性技术,而bind9增加了一些超前的理念:IPv6支持、密钥加密、多处理器支持、线程安全操作、增量区传送等等。

yum install bind bind-chroot bind-utils     --->bind-chroot可以不安装

bind  --->该包为DNS服务的主程序
bind-chroot ---> 该包提高安全性
bind-chroot是bind的一个功能包,使bind可以在一个chroot的模式下运行。也就是说,bind运行时/(根)目录,并不是系统真正的/(根)目录,只是系统中的一个子目录,这样做的目的是为了提高系统的安全性;因为在chroot模式下,bind只可以访问这个子目录的范围;而不能进入这个子目录外其他的地方
bind-utils  --->该包为客户端工具,默认安装,用于搜索域名指令

bind包里主要包含:
	named  -->DNS服务
	named-chekconfig   ---> named.conf文件检查工具
	named-chekzone  --->zone(区域)文件检查工具
	rndc  --->本地和远程DNS控制工具
bind-libs  --->named  DNS服务的库
bind-utils   ---->包含一系列辅助工具来测试
	host
	dig
	nslookup
	nsupdate
bind-chroot  --->切根程序,用来切换默认目录到另外一个深层的安全的目录/var/named/chroot,类似于光盘救援模式的那种情况

named涉及的文件

/etc/named.conf #bind主配置文件
/etc/named.rfc1912.zones #定义zone的文件
/etc/rc.d/init.d/named #bind脚本文件
/etc/named.root.key #实现事务签名的秘钥文件
/etc/rndc.conf #rndc配置文件
/var/named/named.ca #根解析库
/var/named/named.localhost #本地主机解析库
/var/named/slaves #从DNS服务器文件夹

修改named.conf文件

主配置文件:named.conf,主要作用是定义区域,定义各区域的全局配置,定义视图,定义日志,注意每个完整语句都要使用分号结尾,否则视为语法错误。

配置文件/etc/named.conf
	监控端口(listen-on port)和ip地址
	服务作用范围(本机还是指定网段还是全网)(allow-query)
	递归还是迭代查询(recursion)
	根区域解析文件(zone),其它区域文件可以看到有个include "/etc/named.rfc1912.zones";这下面还保存了localhost的区域文件,如果新添加的,写在这个zones文件里,里面指向了zone文件地址。然后每一个zone文件,是在/var/named下面

下面是/etc/named.conf原配置文件的部分

[root@localhost named]# cat /etc/named.conf
//
// named.conf
//
// Provided by Red Hat bind package to configure the ISC BIND named(8) DNS
// server as a caching only nameserver (as a localhost DNS resolver only).
//
// See /usr/share/doc/bind*/sample/ for example named configuration files.
//
// See the BIND Administrator's Reference Manual (ARM) for details about the
// configuration located in /usr/share/doc/bind-{version}/Bv9ARM.html


options {
    listen-on port 53 { 127.0.0.1; };  //IPv4监听端口和IP地址,默认只有本地的
    listen-on-v6 port 53 { ::1; };    //IPv6的监听端口和IP地址
    directory     "/var/named";      //定义工作目录的,就是区域文件的存放路径,一般指定相对路径都是相对于这个文件路径的
    dump-file     "/var/named/data/cache_dump.db";
    statistics-file "/var/named/data/named_stats.txt";
    memstatistics-file "/var/named/data/named_mem_stats.txt";
    recursing-file  "/var/named/data/named.recursing";
    secroots-file   "/var/named/data/named.secroots";
    allow-query     { localhost; };    //允许查询的主机,默认只允许本机查询,若允许所有客户机查询,则修改为 allow-query { any; };  any表示允许所有人对本服务器发送DNS查询请求; 或者指定IP地址或定义一个ACL;


    /*
     - If you are building an AUTHORITATIVE DNS server, do NOT enable recursion.
     - If you are building a RECURSIVE (caching) DNS server, you need to enable
       recursion.
     - If your recursive DNS server has a public IP address, you MUST enable access
       control to limit queries to your legitimate users. Failing to do so will
       cause your server to become part of large scale DNS amplification
       attacks. Implementing BCP38 within your network would greatly
       reduce such attack surface
    */
    recursion yes;   //递归还是迭代查询 yes为允许递归


    dnssec-enable yes;   //DNS安全扩展,可以改为no关闭
    dnssec-validation yes;    //可以改为no关闭


    /* Path to ISC DLV key */
    bindkeys-file "/etc/named.iscdlv.key";


    managed-keys-directory "/var/named/dynamic";


    pid-file "/run/named/named.pid";
    session-keyfile "/run/named/session.key";
};


logging {
        channel default_debug {
                file "data/named.run";   //记录了一些named信息,如监听/解析记录等。它的位置在/var/named/chroot/var/named/data下
                severity dynamic;
        };
};


zone "." IN {    //定义zone文件,这里是定义的根域的文件位置
    type hint;    //type只有3种类型 hint/master/slave 只有“.(根)”对应的type为hint,其它zone的类型只能为master或slave,即DNS主服务器和DNS从服务器
    file "named.ca";    //指定了解析文件的位置,解析文件中记录着域名与IP的对应关系。它的位置在/var/named/目录下
};


include "/etc/named.rfc1912.zones";        //把named.rfc1912.zones文件包含进来;解析文件列表位置
include "/etc/named.root.key";             //把/etc/name.root.key文件包含进来

named.rfc1912.zones 主配置文件

正向区域和反向区域都在这个文件里配置

zone "ZONE_NAME" IN {
    type {master | slave | hint | forward};
    file "ZONE_NAME.zone";
    allow-update { none; };
};

zone "ZONE_NAME":定义解析库名字,通常和解析库文件前缀对应起来。
type:
    master指的是主DNS解析;主域名服务器
    slave指的是从DNS解析;辅助域名服务器
    hint指的是根域名解析(根提示域);互联网中的根域名服务器
    forward指的是转发,转发不使用file
file:定义区域解析库文件名字(位置默认在/var/named目录下面),file的前缀通常和zone的名字通常对应起来,然后加一个.zone的后缀
allow-update定义是否允许客户主机或服务器自行更新DNS记录,上面指定的这个正向区域不允许更新DNS记录。

注意:每个语句后面需要跟 ; 符号

示例:正向区域(主)
这里给出一个自定义的总的区域定义文件,新加一个区域文件的定义:
zone "xingxinchao.com" IN {
    type master;
    file "xingxinchao.com.zone";
};

配置完之后用named-checkconf命令检查一下这个文件是否有配置错误

正向区域

/var/named/ZONE_NAME.zone 区域配置文件
这里给出我一个自定义的区域文件:xingxinchao.com.zone

$TTL 1D
$ORIGIN xingxinchao.com.
@       IN      SOA xingxinchao.com. nsadmin.xingxinchao. (
                0;  //序列号
                1H;   //刷新时间
                10M;    //重试时间
                1D;    //过期时间
                3H;    //否定答案的TTL值
                )        #在zone文件里“;”表示注释
        IN      NS      ns1
        IN      NS      ns2
        IN      MX   10 max
ns1     IN      A       172.16.10.201
ns2     IN      A       172.16.10.156
www     IN      A       172.16.10.201
www     IN      A       172.16.10.156
bbs     IN      A       172.16.10.100
max     IN      A       172.16.10.200


具体配置选项意义,看前面DNS记录类型

配置完成后设置.zone文件权限(参照/var/named/name.xxxx的权限来设置,这里的xxxx为任意字符)
# chmod 640 xingxinchao.com.zone   #修改文件权限
# chown :named xingxinchao.com.zone   #修改文件的属组

下面我们分析一下区域数据文件的格式和定义:
第一行是一个TTL设定,定义区域数据文件里面的各项记录的宏,缺少此行不影响使用,但是会出现告警信息。
第二行是一个SOA记录的设定,“@”代表相应的域名,也就是/etc/named.rfc.1912.zones,如在这里表示xingxinchao.com,IN表示后面的数据使用的Internet标准,SOA表示目前区域授权开始。每一个区域数据文件只能有一个SOA记录,不能重复,并且必须是所负责的zone中第一个“记录”。在SOA后面分别指定这个区域的授权主机名称和管理者的邮箱。
注:授权主机名和管理员邮箱后面都要有一个“.”。由于“@”在区域数据文件中有其他含义,因此管理员邮箱地址中“.”代替“@”符号。
接下来包含在括号内的5组数字是作为服务器同步信息而设置的,含义如下

第一段表示配置文件的修改版本,格式是年月日加上修改的次数,每次修改这个配置时都应该修改这个数值,因为当DNS进行信息同步时,会比较这个数值的值。如果这个数值比自身的数值大,就进行更新,否则忽略更新。(这个设置很重要,如果修改区域数据后没有更新该值,那么所做的更改就不会同步到其他DNS服务器)

第二段表示用来设定NDS服务器进行同步的时间间隔又称刷新时间。只通知给本区域解析库文件中定义NS记录的所有主机。

第三段表示同步更新失败之后,再次进行重试的时间间隔

第四段表示同步更新失败之后,多长时间清楚对应的记录,又称过期时长
第五段表示否定的TTL值
接下来是对域名解析的具体设置,第一列表示不同的主机域名,但是省略了后面的域信息(若为空白表示与上面域名相同)。例如:www其实是www.xingxinchao.com等。

反向区域

区域名称:是网络地址的反写.in-addr.arpa ;例如地址172.16.10.201就是10.16.172.in-addr.arpa

配置方法:

首先在/etc/named.rfc1912.zones文件下插入下面内容:
zone "Reverse_Net_Addr.in-addr.arpa" IN {
        type    {master | slave | forward };
        file    "Net_Addr.zone";
};

示例:
zone "10.16.172.in-addr.arpa" IN {
        type master;
        file "172.16.10.zone";
};

配置/var/named/ZONE_NAME.zone
不需要MX、A、AAAA,要有NS记录,以PTR记录为主。

示例:定义反向区域数据文件配置172.16.10.zone

$TTL 1D   //缓存时间
@       IN      SOA     ns1.xingxinchao.com. nsadmin.xingxinchao (
                        0  //序列号
                        1H    //刷新slave时间
                        10M    //slave更新失败后多久再进行一次更新
                        1W    //expire 失败多少次不再尝试更新,一周
                        12H    //缓存时间,如果没有设定$TTL这个值,这个值就可当作$TTL
                        )
        IN      NS      ns1.xingxinchao.com.
        IN      NS      ns2.xingxinchao.com.
201     IN      PTR     www.xingxinchao.com.
156     IN      PTR     www.xingxinchao.com.
201     IN      PTR     ns1.xingxinchao.com.
156     IN      PTR     ns2.xingxinchao.com.

主从服务器的配置

说明:如果有多台DNS服务器,必须为每个DNS服务器建立一个NS记录,否则主DNS将无法向其发送通知。

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

配置一个从区域:
	On slave 从服务器的配置
	(1)定义区域
		定义一个从区域:
			zone "ZONE_NAME" IN {
				type slave;
				file "slaves/ZONE_NAME.zone";
				masters { MASTER_IP; };
			};
	
			配置文件语法检查:name-checkconf

示例:
正向解析从服务器
zone "xingxinchao.com" IN {
	type slave;     //slave表示从服务器
	file "slaves/xingxinchao.com.zone";   //指定从服务器区域解析库文件位置
	masters { 172.16.10.201; };   //指定主服务器的IP地址
};

反向解析从服务器
zone "10.16.172.in-addr.arpa" IN {
	type slave;
	file "slaves/172.16.10.zone";
	masters { 172.16.10.201; };
};

注意:从服务器的区域解析库文件应当从主服务器加载过来的,所以无需创建区域解析库文件

	(2)重载配置
		# rndc reload 或者 systemctl reload named.service

	On master 
		(1)确保主服务器区域数据文件中为从服务器配置NS记录,并且在正向区域文件中为从服务器的NS记录的主机名配置一个A记录,且此A记录后面的地址为真正的从服务器的IP地址

	注意:二者时间要同步

子域授权

正向解析区域授权子域的方法:
	xingxinchao.com.	IN	NS	ns1.xingxinchao.com.
	ns1.xingxinchao.com.	IN	A	192.168.10.216

定义转发

注意:被转发的服务器必须允许为当前服务器做递归
(1) 区域转发
仅转发对某特定区域的解析请求
zone "ZONE_NAME" IN {
	type forward
	forward { first | only }
	forwarders { SERVER_IP; }
};

first:首先转发,转发器不响应时,自行去迭代查询
only:只转发

(2) 全局转发
针对凡是本地没有通过zone定义的区域查询请求,统统转给某转发器
在/etc/named.conf文件下:
	options {
		... ...
		forward { only | first };
		forwarders { SERVER_IP; };
		... ...
	};

bind中的安全相关配置

ACL:访问控制列表,把一个或多个地址归并为一个命名的集合,随后通过此名称即可对此集合内的所有主机实现统一调用(实现安全访问控制)

acl ACL_NAME {
	IP/MASK;
	... ...;
};

ACL示例:
acl mynet {
	192.168.0.0/16;
	10.0.0.0/8;
	127.0.0.0/8;
};

bind有四个内置的ACL:
	none:没有一个主机
	any:任意主机
	local:本机
	localnet:本地所在的IP所属的网络


访问控制指令:
	allow-query {};   //允许查询的主机,白名单
	allow-transfer {};   //允许向哪些主机做区域传送,默认为向所有主机,应该配置 为仅允许从服务器
	allow-recursion {};   //允许哪些主机向当前DNS服务器发起递归请求
	allow-update {};   //DDNS,允许哪些主机动态更新区域数据库文件中的内容,一般允许从服务器
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值