<b>DNS</b><b>的基本概念及作用</b>
DNS是Domain Name System的缩写,中文的含义是域名系统。其作用是将人们易于记忆的域名与人们不容易记忆的IP地址进行转换。执行此项功能的主机被称为DNS服务器。
<b>DNS</b><b>的结构</b>
<b></b>
<a target="_blank" href="http://blog.51cto.com/attachment/201207/141417133.png"></a>
<b> </b>其中根域是有多台DNS服务器构成,是树的顶级,它表示未命名的等级。在DNS域名中使用时,他的尾部用”.”表示,以指定该名称位于层次结构的最高层或根。在这种情况下DNS域名被认为是完整名称并指向名称树种的确切位置。以这种方式表示的被称为完全合格域名FQDN。例如“Ly.edu.cn.”
顶级域:通常有三个字母组成,指示国家或单位类型。常见的顶级域有:com,edu,org,gov,net等
二级域:是在Internet上使用而注册到个人或单位的长度可变的名称,它必须基于相应的顶级域。
子域:单位可以创建的其他名称,这些名称从已注册的二级域名中派生,并可将其按部门或地理位置设置。
<b>DNS</b><b>的组成</b>
<b> </b>在概念上可以把DNS分为三个部分
<b>域名空间</b>:这是标识一组主机并提供它们的有关信息的树结构的详细说明。树上的每一个节点都有它控制下的主机的有关信息的数据库
<b>域名服务器</b>:这是保持并维护域名空间中数据的程序。每个域名服务器含有一个域名空间子集的完整信息,并保存其他有关部分的信息
<b> </b><b>解析器:</b>解析器是简单的程序或子程序库,它从服务器中提取信息以响应对域名空间中主机的查询。
<b>DNS</b><b>服务器的类型</b>
主DNS服务器(某个区域是主区域master).
辅助DNS服务器(说明某个区域是从区域slave),可以从主服务器中转移一整套域信息。
缓存服务器等
<b>DNS</b><b>区域类型</b>
<b>maser</b>标准主区域:创建新的查找数据库,存储主机名和IP地址的解析记录。
<b>slave</b>标准辅助区域:是标准主区域的数据库的只读拷贝,使用它可减轻主服务器的工作负荷,DNS使用区域传送从主域名服务器发送记录到辅助的域名服务器上。<b></b>
hint:线索区域
forward:转发区域
<b>DNS</b><b>查询</b>
DNS性质:DNS是一个分布式数据库系统,它提供将域名转换成IP地址信息。
名称解析:将域名转换成IP地址的方法,即查询转换的过程。
查询:递归查询(逐级的一个过程),和迭代查询(一个服务器请求多次)
名称解析分类:
正向解析:DNS将域名转换成IP地址的过程。
反向解析:DNS将IP地址转换成域名的一个过程。
<b>DNS</b><b>资源记录类型</b>
FQDN-->IP A记录,AAAA记录 正向解析
IP-->FQDN PTR指针记录 反向解析
SOA:Start Of Authority :起始授权记录,由此开始下面是区域,
NS:Nameserver 后面要加主机名称 标识区域的负责人
CNAME:别名记录,正式记录
MX:Mail exchanger 邮件交换器 只存在正向(A)记录中
<b>DNS</b><b>的安装过程</b>
<b> </b>下面是安装bind97的一个简单操作
#yum list all | grep bind 查看当前系统上的bind的详细信息。
#rm –e bind-libs bind-utils 删除以前安装的bind
#yum install bind97 bind97-libs bind97-utils 使用yum安装bind97
<b>DNS</b><b>的配置过程</b>
<b> </b> 安装过DNS后,现在我们开始配置DNS的主配置文件/etc/named.conf ,可以把原先的配置文件删除,自己建立一个具体内容如下
options{
directory “/var/named”; 定义DNS服务数据所在的文件目录
};全局配置项
zone “.” IN{ 区域
type hint;
file “named.ca” ;
};
zone “localhost” IN { 正向解析
type master
file “localhost.zone”
zone “0.0.127” IN{ 反向解析
type master
file “named.local”
配置好主配置文件之后,接下来建立正向解析的文件localhost.zone 和反向解析的文件named.local.
vim localhost.zone
$TTL 600
localhost. IN SOA localhost. admin.localhost. (
2012071001 主服务器数据库上的版本号,也就是序列号
50M 复制间隔时间
20M 重试时间
3D 过期时间
1D) 否定回答时间
localhost. IN NS localhost.
localhost. IN A 127.0.0.1
vim named.local
$TTL 600
@ IN SOA localhost. admin .localhost.(
50M 复制间隔时间
1D) 否定回答时间
@ IN NS localhost.
1 IN PTR localhost.
<b>修改文件的属组权限</b>
#chown :named /etc/named.conf
#chmod 640 /etc/named.conf
#cd /var/named
#chown :named named.local localhost.zone
#chmod 640 named.local localhost.zone
<b>检查配置文件以及区域的语法错误</b>
#named-checkconf 检查配置文件的语法错误
#named-checkzone localhost localhost.zone
#named-checkzone 0.0.127.in-addr.arpa named.local
到此为止简单的DNS已经配置成功,接下来只需重启服务即可
#service named start 效果如下图
<a target="_blank" href="http://blog.51cto.com/attachment/201207/141512635.png"></a>
<b>主从配置过程</b>
现在我们就假设我们有两台DNS服务器A和B,A作为主服务器,B 作为从服务器
主机A的IP为 172.16.99.1 域名ns1.magedu.com
主机B的IP为172.16.200.1 域名为ns2.magedu.com
其中还有mail.magedu.com,pop3.magedu.com
<b>首先配置主DNS</b><b>服务器</b>,在上面的配置基础上,我们只需要在/etc/named.conf文件中添加如下区域即可。
上图中的allow-transfer表示允许传送,后面跟允许传送的主机IP
然后分别创建magedu.com.zone和16.172.zone两个文件
vim magedu.com.zone,文件内容具体如下图
<a target="_blank" href="http://blog.51cto.com/attachment/201207/141859122.png"></a>
vim 16.172.zone 文件具体内容如下图
<a target="_blank" href="http://blog.51cto.com/attachment/201207/141914781.png"></a>
然后使用named-checkzone检查区域错误。
测试建立的DNS服务器,测试结果如下图
<a target="_blank" href="http://blog.51cto.com/attachment/201207/142002400.png"></a>
<b>配置从DNS</b><b>服务器</b>
<b> </b>主服务器配置基本上一样,但是从DNS服务器不用配置区域文件而是从主DNS服务器上复制而来,因此只需把主配置文件中的区域类型修改成slave即可,具体配置如下图:
<a target="_blank" href="http://blog.51cto.com/attachment/201207/142052880.png"></a>
然后service named start 启动服务,查看/var/named/slaves 目录下生成两个文件,如下图所示
<a target="_blank" href="http://blog.51cto.com/attachment/201207/142122645.png"></a>
查看自动生成的文件magedu.com.zone 如下图所示
<a target="_blank" href="http://blog.51cto.com/attachment/201207/142211321.png"></a>
由此可知主从配置成功
<b> DNS</b><b>子域授权</b>
由于DNS分布式的层级结构,把一个大名称空间划分成许多小的名称空间,并逐级委托给某一个小空间的小服务器来实现名称解析的应用,当DNS服务器繁忙时,可以授予子域进行名称解析,以减少服务器压力。
在这里我们只讲解正向区域的DNS子域授权。
假使我们有两台主机A和B,A作为主DNS服务器,B作为子域授权服务器
A的IP地址为172.16.99.1,B的IP地址为172.16.8.1
<b>配置主机A</b>
主机A的主配置文件/etc/named.conf 和主从配置中A的配置一样,在这里就不再讲述了,接下来只需编辑区域文件,在magedu.com.zone中添加如下内容即可
tech.magedu.com IN NS ns.tech.mageduc.om
ns.tech.magedu.com IN A 172.16.8.1
然后重启服务
<b> </b><b>配置主机B</b>
配置DNS的主配置文件/etc/named.conf,先按照上述配置DNS过程把DNS服务能够启动起来,然后在主配置文件中添加如下区域,并创建区域文件即可,具体内容如下图
<a target="_blank" href="http://blog.51cto.com/attachment/201207/142459222.png"></a>
编辑区域文件
vim tech.magedu.come.zone具体内容如下图
<a target="_blank" href="http://blog.51cto.com/attachment/201207/143028519.png"></a>
vim 172.16.zone,具体内容如下图
zone “magedu.com” IN {
type forward;
forward none;
forwarders { 172.16.100.1; } ; 指定转发给谁
本文转自 沐木小布丁 51CTO博客,原文链接:http://blog.51cto.com/sxhxt/925858