全面剖析linux【bind】服务お实例篇(上)

本文涉及的产品
全局流量管理 GTM,标准版 1个月
云解析 DNS,旗舰版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
简介:

 唉,唧唧歪歪了半天了。现在开始实操下DNS了,下面是DNS的安装和配置

分4页:

一、bind简单配置正反向区域解析

二、bind主辅服务器配置

三、bind子域和区域委派

四、bind配置虚拟子域

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 为子域地址










本文转自 lgpqdwjh 51CTO博客,原文链接:http://blog.51cto.com/itchenyi/1054317,如需转载请自行联系原作者
目录
相关文章
|
4月前
|
Linux
在Linux中,怎么把脚本添加到系统服务里,即用 service 来调用?
在Linux中,怎么把脚本添加到系统服务里,即用 service 来调用?
|
1月前
|
Linux 应用服务中间件 Shell
linux系统服务二!
本文详细介绍了Linux系统的启动流程,包括CentOS 7的具体启动步骤,从BIOS自检到加载内核、启动systemd程序等。同时,文章还对比了CentOS 6和CentOS 7的启动流程,分析了启动过程中的耗时情况。接着,文章讲解了Linux的运行级别及其管理命令,systemd的基本概念、优势及常用命令,并提供了自定义systemd启动文件的示例。最后,文章介绍了单用户模式和救援模式的使用方法,包括如何找回忘记的密码和修复启动故障。
47 5
linux系统服务二!
|
1月前
|
Linux 应用服务中间件 Shell
linux系统服务!!!
本文详细介绍了Linux系统(以CentOS7为例)的启动流程,包括BIOS自检、读取MBR信息、加载Grub菜单、加载内核及驱动程序、启动systemd程序加载必要文件等五个主要步骤。同时,文章还对比了CentOS6和CentOS7的启动流程图,并分析了启动流程的耗时。此外,文中还讲解了Linux的运行级别、systemd的基本概念及其优势,以及如何使用systemd管理服务。最后,文章提供了单用户模式和救援模式的实战案例,帮助读者理解如何在系统启动出现问题时进行修复。
52 3
linux系统服务!!!
|
1月前
|
Linux 数据库
Linux服务如何实现服务器重启后的服务延迟自启动?
【10月更文挑战第25天】Linux服务如何实现服务器重启后的服务延迟自启动?
296 3
|
1月前
|
关系型数据库 MySQL Linux
Linux系统如何设置自启动服务在MySQL数据库启动后执行?
【10月更文挑战第25天】Linux系统如何设置自启动服务在MySQL数据库启动后执行?
121 3
|
2月前
|
Ubuntu Linux 网络安全
Linux中服务管理问题
【10月更文挑战第4天】
30 2
|
2月前
|
应用服务中间件 Linux Shell
Linux 配置 Nginx 服务的详细步骤,绝对干货
Linux 配置 Nginx 服务的详细步骤,绝对干货
98 0
|
3月前
|
NoSQL Linux Redis
Linux Redis 服务设置开机自启动
【9月更文挑战第2天】在 Linux 系统中,可使用两种方法设置 Redis 开机自启动:一是通过创建 `redis.service` 文件并利用 systemd 进行管理,包括定义服务参数和启动脚本;二是编辑 `/etc/rc.local` 文件,在其中添加启动命令。推荐使用 systemd 方法,因为它更符合现代 Linux 系统的设计理念。设置完成后,可通过 `sudo systemctl status redis.service` 检查服务状态。
551 3
|
3月前
|
编解码 Linux 开发工具
Linux平台x86_64|aarch64架构RTMP推送|轻量级RTSP服务模块集成说明
支持x64_64架构、aarch64架构(需要glibc-2.21及以上版本的Linux系统, 需要libX11.so.6, 需要GLib–2.0, 需安装 libstdc++.so.6.0.21、GLIBCXX_3.4.21、 CXXABI_1.3.9)。
|
4月前
|
开发框架 .NET Linux
【Azure 应用服务】 部署到App Service for Linux 服务的Docker 镜像,如何配置监听端口呢?
【Azure 应用服务】 部署到App Service for Linux 服务的Docker 镜像,如何配置监听端口呢?