第四章DNS域名解析服器
第四章DNS 域名解析服器1. DNS :域名解析系统, 用于维护地址数据库,为客户程序提供地址查询的服务2. DNS 域名空间结构:根域、顶级域、二级域、三级域、主机名(一般最多不超过五级域名)
第四章DNS 域名解析服器
1. DNS :域名解析系统, 用于维护地址数据库,为客户程序提供地址查询的服务
2. DNS 域名空间结构:
根域、顶级域、二级域、三级域、主机名(一般最多不超过五级域名) www .mail .benet .com .
主机名 三级域名 二级域名 顶级域名 根域
小提示:二级域名以内的域名都要花钱的(包括二级域)
3. DNS 服务的特点:1)分布式 2)层次性
4. DNS 服务器的分类:
1) 主要名称服务器:正本数据即源文件(手动创建),可以修改、删除。
2)辅助名称服务器:从其他服务器中复制数据,默认只提供查询不可修改
3)主控名称服务器:提供趋于数据复制的DNS 服务器,不提供查询
4)Cache-Only 名称服务器:唯高速缓存服务器将查询到的数据保存在缓存中,没有自己控制的区域地址数据。
5. DNS 查询方式:1)递归查询,TCP 协议53号端口
2)迭代查询,UDP 协议
6. DNS 查询内容:1)正向查询
2)反向查询
7. DNS 的查询过程:
1) 客户机域名解析顺序:TCP
缓存→Hosts 文件→首选DNS 服务器→备用DNS 服务器
2)DNS 服务器域名解析顺序:

区域文件→缓存→条件转发器→根提示
8. DNS 的七个资源记录:
SOA :起始授权机构
,NS :名称服务器
A:主机记录
PTR :指针记录(反向查询记录)
CNAME :别名
SRV :服务
MX :邮件交换器
9. BIND :提供域名服务的DNS 服务程序。
10. bind 安装包的主要软件包有五个:
bind-9.3.6-4.P1.el5_4.2 ……域名服务的主要程序
bind-utils-9.3.6-4.P1.el5_4.2 ……对DNS 服务器的测试工具,如:nslookup
bind-libs-9.3.6-4.P1.el5_4.2 ……提供了bind 和bind-utils 需要的库函数
bind-chroot-9.3.6-4.P1.el5_4.2 …为BIND 提供一个伪装的根目录,以提高安全性
caching-nameserver-9.3.6… ……提供钢构件缓存域名服务器的基本配置文件
注:有两个是随系统默认安装的:utils 和libs 。如果要一次性将剩下的三个安装,则需要将bind-9.3.6补齐放在第一个安装。因为另外两个依赖于bind-9.3.6补齐软件包。
11. service named status ……查询named 服务的运行状态
12. named.conf 主配置文件:本章以第二种“2)”为例
1)通常位于/etc/目录下
2)安装了bind-chroot 软件包后,其默认位于:/var/named/chroot/etc/
,目录下。
13. vim /var/named/chroot/etc/named.conf(配置选项将在实验部分详解)
1)全局配置options{};
2)区域配置zone{};
14. 区域数据配置文件:本章以第二种为例(配置选项将在实验部分详解)
1)通常位于:/var/named/目录下
2)安装了bind-chroot 软件后,其默认位于:
/var/named/chroot/var/named/目录下。
15. [root@localhost ~]#vim /var/named/chroot/var/named/benet.com.zone
[root@localhost ~]#vim /var/named/chroot/var/nemed/192.168.1.arpa 2014092701 #……更新序列号,可以是10位数以内的整数
3H #……更新序列号,重新下载地址数据的间隔
3M #……刷新时间,重试演示,下载失败后的重试时间
3W #……失效时间,超过该时间仍无法下载则放弃
1D #……无效解析记录的生存周期
16. named-checkconf 命令对配置文件进行语法检查
1)显示OK 表示语法正确
2)错误,则提示错误信息
17. * IN A 192.168.1.1 #……泛域名解析记录
实验部分
一、 构建缓存域名服务器
缓存域名服务器代为处理客户端的DNS 解析请求,并缓存查询结果。
1. 配置缓存域名服务器的IP :192.168.1.1
[root@localhost ~]#vim /etc/sysconfig/network-scripts/ifcfg-eht0 BOOTPROTO=static
IPADDR=192.168.1.1
NETMASK=255.255.255.0
,[root@localhost ~]#service network restart #……重启网络服务
[root@localhost ~]#ifconfig #……查看ip 是否生效
2. 查看bind 软件包(五个)是否安装,少哪个软件包就装哪个软件包
[root@localhost ~]#rpm -qa | grep “^bind”
bind-libs-9.3.6…
bind-utils-9.3.6…
3. 挂载系统盘
物理挂载镜像系统盘
[root@localhost ~]#mount /dev/scd0 /mnt
4. 安装系统中缺少的bind 软件包
[root@localhost ~]#cd /mnt/Server/
[root@localhost ~]#rpm –ivh bind-9补齐 bind-chr补齐 caching-补齐
[root@localhost ~]#service named status #……查看named 服务的运行状态
5. 配置bind 服务 [root@localhost ~]#vim /var/named/chroot/etc/named.conf
可以复制、修改模板使用。模板路径:(用grep 筛选之后重定向导入) /usr/share/doc/bind-9.3.6/sample/etc/,该目录下有三种模本:
1)主配置文件:named.conf
2)区域配置文件:named.rfc1912.zones
3)“根”缓存配置文件:named.root.hints
手写:
options { #……这个是全局配置
directory “/var/named”; #……配置文件(zone )所在目录 };
zone “benet.com ” IN { #……正向解析区域文件(benet.cm 域) type master; #……创建类型为主记录
file “benet.com.zone ”

;
,};
zone “1.168.192.in-addr.arpa ” IN {
type master;
file “192.168.1.arpa ”;
};
6. 配置区域文件解析记录
正向解析记录:
$TTL 86400 #……有效解析记录的生存周期(经过多少个路由器后失效) @ IN SOA

2014092801 #01序列号) 2H #……更新下载地址数据的间隔(两小时)
2M #……下载失败后的重试间隔(两分钟)
2W #……失效时间,超过该时间(两周)仍无法下载则放弃
1D #……无效解析记录的生存周期(一天)
)
IN NS
IN NS
IN MX 4
www IN A
dns IN A
mail IN A
* IN A
反向解析记录:
$TTL 86400 #……有效解析记录的生存周期(经过多少个路由器后失效) @ IN SOA benet.com. root.benet.com. (
2014092801
2H
2M
2W
1D
)
IN NS www.benet.com.
IN NS dns.benet.com.
1 IN PTR www.benet.com.
5 IN PTR dns.benet.com.
10 IN PTR mail.benet.com.
7. 检测配置文件格式是否正确: www.benet.com. dns.benet.com. mail.benet.com. 192.168.1.1 192.168.1.5 192.168.1.10 192.168.1.1 #……轮流查询负载均衡
,1)检测主配置文件:
named-checkconfig /var/named/chroot/etc/named.conf named-checkconfig -z /var/named/chroot/etc/named.conf
2)named-checkzone /var/named/chroot/var/named/benet.com.zone named-checkzone /var/named/chroot/var/named/192.168.1.arpa 建议cd 到第二个/var/named目录下再检测,少写一次那么长的路径
8. 客户机验证
[root@localhost ~]#nslookup
[root@localhost ~]#hosts
[root@localhost ~]#nslookup 192.168.1.1
二、 构建缓存域名服务器
基本步骤同上,此处只写修改配置文件:
[root@localhost ~]#vim /var/named/chroot/etc/named.conf options {
listen-on port 53 { 192.168.1.1;};
directory “/var/named”; #……配置文件(zone )所在目录
dump-file “/var/named/data/cache_dummp.db”; statistics-file “/var/named/data/named_stats.txt”; memstatistics-file “/var/named/data/named_mem_stats.txt”; query-source port 53; allow-query { 192.168.1.0/24}; recursion yes;
};
zone “. ” IN { #……正向解析区域文件(根域) type hint; #……创建类型为主记录
file “named.ca ”;
};
2. 重启服务:service named restart
3. 查看缓存结果:cd /var/named/chroot/etc/
cat named.ca
三、 构建辅助域名服务器(第二台DNS 服务器)
1. 修改主配置文件:
options { #……这个是全局配置
,directory “/var/named”; #……配置文件(zone )所在目录 };
zone “benet.com ” IN { #……正向解析区域文件(benet.cm 域) type slave; #……创建类型为辅助服务器(从服务器) masters { 192.168.1.1; };
file “slaves/benet.com.zone”;
};
zone “1.168.192.in-addr.arpa ” IN {
type slave;
masters { 192.168.1.1; };
file “slaves/192.168.1.arpa”;
};
注意:named 服务器默认是以名为“named ”的用户身份运行的,因此要确认named 用户对存放目录(slaves )有写入权
2. 启动named 服务,查看那区域数据文件是否下载成功:
[root@localhost ~]#service named restart
[root@localhost ~]#ls -lh /var/named/chroot/var/named/slaves/
3. 客户机验证:
[root@localhost ~]#nslookup mail.benet.com
[root@localhost ~]#hosts mail.benet.com
[root@localhost ~]#nslookup 192.168.1.5