唉,唧唧歪歪了半天了。现在开始实操下DNS了,下面是DNS的安装和配置
分4页:
2.1:BIND简介
BIND全称为(Berkeley Internet Name Domain<伯克利因特网名称域系统>)BIND主要有3个版本:BIND4 BIND8 BIND9。
BIND9 融合了许多提高效率,稳定性和安全性的技术,包括支持IPV6,公开密钥加密,多处理器支持,线程安全操作,增量区传送等等!
2.2:DNS所需软件包
bind-9.8.2-0.10.rc1.el6.i686.rpm
bind-utils-9.8.2-0.10.rc1.el6.i686.rpm
这里我就直接用 yum 安装了 centos6.3总有点与众不同的,你用用就会知道了。这里不做解释!
3:DNS常规配置
一个比较简单的DNS服务器设置流程主要分为一下3步!
1:建立主配置文件,named.conf,该文件的最主要目的是设置DNS服务器能够管理哪些区域(zone)以及这些区域所对应的区域文件名和存放路径。
2:建立区域文件,按照named.conf文件中指定的路径建立区域文件,该文件主要记录该区域内的资源记录,例如,www.itchenyi.com 对应的IP地址为182.237.3.101
3:重新加载配置文件,或者重启服务启动named使配置生效。
1:客户端需要获得www.chenyi.com 这台主机所对应的IP地址,将查询请求发送给DNS服务器。
2:服务器接收到请求后,查询主配置文件,named.conf,检查是否能管理www.chenyi.com区域,而 named.conf 中记录着能够解析www.chenyi.com 区域,并提供www.chenyi.com 区域文件所在路径及文件名,
3:服务器则根据named.conf文件中的路径和文件名找到www.chenyi.com 区域所对应的配置文件,并从中找到www.chenyi.com 主机所对应的IP地址
4:将查询结果反馈给客户端,完成整个查询过程。
3.1:主配置文件,named.conf
named.conf是BIND的核心配置文件,它包含了BIND的基本配置,但其并不包括区域数据,named.conf文件定义了DNS服务器的工作目录所在位置,所有的区域数据文件都存放在该目录中,该文件还定义了DNS服务器能够管理哪些区域,如果DNS服务器可以管理某个区域,它将完成区域内的域名解析工作
如果没有安装caching-nameserver 包,我们需要手动建立named.conf文件,为了便于管理,通常放置于/etc/ 目录下
当手动建立好named.conf文件后,此问件是空白的,和其他的配置文件差不多,named.conf配置文件分为整体和局部两个部分!
区域名为服务器管理区域的名称,如果添加了一个区域,并且该区域存在相应的资源记录,那么DNS服务器可以解析该区域的DNS信息
type 字段指定区域的类型,对于区域的管理至关重要,一共分为六种:
Master:主DNS服务器:拥有区域数据文件,并对此区域提供管理数据
Slave:辅助DNS服务器:拥有主DNS服务器的区域数据文件的副本,辅助DNS服务器会从主DNS服务器同步所有区域数据,
Stub:stub区域和slave类似:但其只复制主DNS服务器上的NS记录而不像辅助DNS服务器会复制所有区域数据
Forward:一个forward zone 是每个域的配置转发的主要部分,一个zone语句中的type forward可以包括一个forward和/或forwarders子句,它会在区域中给定的域中查询 ,如果没有forwarders语句或者forwarders是空表,那么这个域就不会有转发,消除了 options语句中有关转发的配置。
Hint:根域名服务器的初始化组指定使用线索区域hint zone 当服务器启动时,它使用根线索来查找根域名服务器,并找到最近的根域名服务器列表,如果没有指定的class IN线索区域,服务器使用编译时默认的根服务器线索,不是IN的类别没有内置的默认线索服务器。
Delegation-only : 用于强制区域的delegation.ly状态。
3.2配置正向解析区域
授权DNS服务器管理www.chenyi.com 区域,并把该区域的区域文件命名为www.chenyi.com
1:建立主配置文件named.conf
vim /etc/named.conf
directory 路径名:用于定义服务器的工作目录,该目录存放区域数据文件,配置文件中所有相对路径的路径名都基于此目录。如果没有指定,默认的是BIND启动的目录!
2:建立www.chenyi.com 区域文件
vim /var/named/chenyi.com和 localhost.zone
其实是一样的
3:配置反向解析区域
vim /etc/named.conf
配置反向区域文件
vim /var/named/192.168.1.zone
配置 localhost.zone 以上这是之前主配置文件中的个区域数据文件
然后 将权限更改一下
测试测试:
service named restart
host测试一下
① 辅助域名服务器
DNS 划分若干区域进行管理,每个区域由一个或多个域名服务器负责解析。如果采用单独的 DNS服务器而该服务器没有响应,那么该区域的域名解析就会失败。因此每个区域建议使用多个 DNS服务器,可以提供域名解析容错功能。对于存在多个域名服务器的区域,必须选择一台主域名服务器(master),保存并管理整个区域的信息,其他服务器称为辅助域名服务器(slave)。 管理区域时,使用辅助域名服务器的好处:
(1)辅助 DNS 服务器提供区域冗余,能够在该区域的主服务器停止响应时为客户端解析该区域的 DNS 名称。
(2)创建辅助 DNS 服务器可以减少 DNS 网络通信量。采用分布式结构,在低速广域网链路中添加 DNS 服务器能有效地管理和减少网络通信量。
(3)辅助服务器可以用于减少区域的主服务器的负载。
② 区域传输
为了保证 DNS 数据相同,所有服务器必须进行数据同步,辅助域名服务器从主域名服务器获得区域副本,这个过程称为区域传输。区域传输存在两种方式:完全区域传输(AXFR)和增量区域传输(IXFR)。当新的 DNS 服务器添加到区域中,并且配置为新的辅助服务器时,它会执行完全区域传输(AXFR),从主服务器获取一份完整的资源记录副本。主服务器上区域文件再次变动后,辅助服务器则会执行增量区域传输(IXFR),完整资源记录的更新,始终保持 DNS 数据同步。 满足发生区域传输的条件时,辅助域名服务器向主服务器发送查询请求,更新其区域文件。
(1)区域传输初始阶段,辅助服务器向主 DNS 服务器发送完全区域传输(AXFR)请求。
(2)主服务器做出响应,并将此区域完全传输到辅助服务器。 该区域传输时会一并发送 SOA 资源记录。SOA 中“序列号”(serial)字段标示区域数据的版本,“刷新时间”(refresh)指出辅助服务器下一次发送查询请求的时间间隔。
(3)刷新间隔到期时,辅助服务器使用 SOA 查询来请求从主服务器续订此区域。
(4)主域名服务器应答其 SOA 记录的查询。 该响应包括主服务器中该区域的当前序列号版本。
(5)辅助服务器检查响应中的 SOA 记录的序列号,并确定续订该区域的方法,如果辅助服务器确认区域文件已经更改,则它会把 IXFR 查询发送到主服务器。 若 SOA 响应中的序列号等于其当前的本地序列号,那么两个服务器区域数据都相同,并且不需要区域传输。然后,辅助服务器根据主服务器 SOA 响应中的该字段值重新设置其刷新时间,续订该区域。如果 SOA 响应中的序列号值比其当前本地序列号要高,则可以确定此区域己更新并需要传输。
(6)主服务器通过区域的增量传输或完全传输做出响应。 如果主服务器可以保存修改的资源记录的历史记录,则它可以通过增量区域传输(IXFR)做出应答。如果主服务器不支持增量传输或没有区域变化的历史记录,则它可以通过完全区域传输(AXFR)做出应答。
配置辅助域名服务器
(1) 配置主域名服务器
修改主配置文件 named.conf添加 chenyi.com 区域
创建配置正向解析区域文件vi /var/named/chenyi.com.zone
创建配置反向解析区域文件vi /var/named/1.168.192.zone
(2)配置辅助域名服务器
修改主配置文件 named.conf,添加 chenyi 区域
(3)数据同步测试
重启辅助服务器 named 服务,使其与主域名服务器数据同步,然后我们在主域名服务器上执行tail 命令查看系统日志,辅助域名服务器通过完整无缺区域复制(AXFR)获取 michael.com 区域数据。如果无法复制,请检测犀利机制(iptables、selinux)
域名空间由多个域构成,DNS 提供了将域名空间划分为一个或多个区域的方法,这样使得管理更加方便。而对于域来说,随着域的规模和功能不断扩展,为了保证 DNS 管理维护以及查询速度,可以为一个域添加附加域,上级域为父域,下级域为子域。父域为itchenyi.com,子域为bbs.itchenyi.com 。
子域应用环境
当要为一个域附加子域时,请检查是否属于以下三种情况:
(1)域中增加了新的分支或站点,需要添加子域扩展域名空间。
(2)域中规模不断扩大,记录条目不断增多,该域的 DNS 数据库变得过于庞大,用户检索 DNS信息时间增加。
(3)需要将 DNS 域名空间的部分管理工作分散到其他部门或地理位置。
管理子域
如果根据需要,决定添加子域,可以有两种方法进行子域的管理。
(1)区域委派
父域建立子域并将子域的解析工作委派到额外的域名服务器,并在父域的权威 DNS 服务器中登记相应的委派记录,建立这个操作的过程称为区域委派。任何情况下,创建子域都可以进行区域委派。
(2)虚拟子域
建立子域时,子域管理工作并不委派给其他服务器,而是与父域信息一起,存放在相同的域名服务器的区域文件中。如果只是为域添加分支或子站,不考虑到分散管理,选择虚拟子域的方式,可以降低硬件成本。
注意:
执行区域委派时,仅仅创建子域是无法使子域信息得到正常的解析。在父域的权威域名服务器的区域文件中,务必添加子域域名服务器的记录,建立子域与父域的关联,否则,子域域名解析无法完成。
配置区域委派
案例:公司提供虚拟主机服务,所有主机后缀域名为 itchenyi.com。随着虚拟主机注册量大幅增加,DNS 查询速度明显变慢,并且域名的管理维护工作非常困难。 分析:对于 DNS 的一系列问题,查询速度过慢,管理维护工作繁重,均是域名服务器中记录条目过多造成的。管理员可以为itchenyi.com 新建子域 a.itchenyi.com 并配置区域委派,将子域的维护工作交付其他的 DNS 服务器,新的虚拟主机注册域名为 a.itchenyi.com,减少 itchenyi.com 域名服务器负荷,提高查询速度。
(1)父域设置区域委派
<1>设置父域名服务器 named.conf 文件
编辑/etc/named.conf 并添加itchenyi.com 区域记录
<2>添加 .com 区域文件
父域的区域文件中,务必要添加子域的委派记录及管理子域的权威服务器的 IP 地址。
vi /var/named/itchenyi.com.zone
第九行:指定委派区域,a. itchenyi.com 管理工作由域名服务器 ns1.a. itchenyi.com 负责。
第11行:添加 ns1.a. itchenyi.com 的 A 记录信息,定位子域 a.itchenyi.com 的权威服务器。
<3>添加 michael.com 反向区域文件
vi /var/named/1.168.192.in-addr.arpa.zone
(2)子域设置
<1>编辑/etc/named.conf 并添加 a.itchenyi.com 区域记录
<2>子域域名服务器中,添加 a.mich ael.com 域的正向解析区域文件
vi /var/named/a.itchenyi.com.zone
<3>子域域名服务器中,添加 a.mich ael.com 域的反向解析区域文件
vi /var/named/1.168.192.in-addr.arpa.zone
(2) 测试
如果域中需要增加新的分支或部门,而该域区域文件中资源记录数较少,为了节约成本,在不添加额外服务器的情况下,可以配置虚拟子域,将子域信息添加到父域区域文件。
修改主配置文件 named.conf
编辑父域正向区域文件 itchenyi.com.zone
编辑父域反向区域文件 1.168.192.in-addr.arpa.zone
编辑子域正向区域文件
bbs.itchenyi.com.zone
编辑子域反向区域文件 bbs.1.168.192.in-addr.arpa .zone
重启服务 使配置生效
客户端测试:
客户端设置 DNS 为父域地址
客户端设置 DNS 为子域地址