DNS系统概述:
DNS系统的作用
正向解析:根据主机名称(域名)查找对应的IP地址
反向解析:根据IP地址查找对应的主机域名

DNS查询方式:
递归查询
大多数客户机向DNS服务器解析域名的方式
迭代查询
大多数DNS服务器向其他DNS服务器解析域名的方式

DNS服务器的类型(角色):
缓存域名服务器
也称为 唯高速缓存服务器
通过向其他域名服务器查询获得域名->IP地址记录
将域名查询结果缓存到本地,提高重复查询时的速度
主域名服务器
特定DNS区域的官方服务器,具有唯一性
负责维护该区域内所有域名->IP地址的映射记录
从域名服务器
也称为 辅助域名服务器
其维护的 域名->IP地址记录 来源于主域名服务器


BIND域名服务基础:
BIND(Berkeley Internet Name Daemon)
伯克利Internet域名服务
官方站点:https://www.isc.org/
相关软件包
bind-9.3.3-7.el5.i386.rpm
bind-utils-9.3.3-7.el5.i386.rpm
bind-chroot-9.3.3-7.el5.i386.rpm
caching-nameserver-9.3.3-7.el5.i386.rpm


BIND域名服务基础:
BIND服务器端程序
主要执行程序:/usr/sbin/named
服务脚本:/etc/init.d/named
默认监听端口:53
主配置文件:
/var/named/chroot/etc/named.conf
保存DNS解析记录的数据文件位于:
/var/named/chroot/var/named/



主配置文件named.conf:
全局配置部分
设置DNS服务器的全局参数
包括监听地址/端口、数据文件的默认位置等
使用 options { …… }; 的配置段

例如:
options {
listen-on port 53 { 173.16.16.1; };
directory "/var/named"; #各DNS区域的数据文件默认存放位置
allow-query { 192.168.1.0/24; 173.16.16.0/24; }; #允许DNS查询的客户机地址

recursion yes; #是否允许为客户机进行递归查询
};



区域配置部分:

设置本服务器提供域名解析的特定DNS区域
包括域名、服务器角色、数据文件名等
使用 zone “区域名” IN { …… }; 的配置段

例如:

zone "." IN {
type hint; #hint表示根区域、master表示主区域、slave表示辅助区域
file "named.ca"; #file 用于设置 该区域对应的数据文件名
};


倒序网络地址.in-addr.arpa 的形式表示反向区域
例如:
zone "example.com" IN {
type master;
file "example.com.zone";
allow-transfer { 173.16.16.2; }; #设置允许下载该区域解析记录的从域名服务的地



allow-update { none; }; #允许动态更新哪些客户机地址,none 表示全部禁止
};
zone "16.16.173.in-addr.arpa" IN { #表示针对173.16.16.0/24网段的反向解析区域
type master;
file "173.16.16.arpa";
};



区域数据配置文件 :
全局TTL配置项及SOA记录:
$TTL(Time To Live,生存时间)记录
SOA(Start Of Authority,授权信息开始)记录
分号“;”开始的部分表示注释信息

例如:
$TTL 86400 ; 有效地址解析记录的默认缓存时间
@ IN SOA example.com. admin.example.com. (
2009021901 ;更新序列号
3H ;刷新时间
15M ;重试延时
1W ;失效时间
1D ;无效地址解析记录的默认缓存时间
)


域名解析记录:
NS域名服务器(Name Server)记录
MX邮件交换(Mail Exchange)记录
A地址(Address)记录,只用在正向解析的区域数据文件中
CNAME别名(Canonical Name)记录
例如:
@ IN NS ns1.example.com.
IN MX 10 mail.example.com.
ns1 IN A 173.16.16.1
mail IN A 173.16.16.1
www IN A 173.16.16.1
ftp IN CNAME www


PTR指针(Point)记录,只用在反向解析的区域数据文件中
配置反向解析记录时,只需要指定IP地址中的主机地址部分即可,网络地址部分不用写
例如:
1 IN PTR www.example.com.
4 IN PTR study.example.com.

解释:若在 16.16.173.in-addr.arpa 反向区域数据文件中,则对应为 173.16.16.4 的IP地




区域数据文件的几个特殊应用:

基于域名解析的负载均衡
同一域名对应到多个IP地址
泛域名解析
找不到精确对应的A记录时,使用“*”进行匹配
子域授权
将DNS子区域内主机地址的解析记录,授权给子域的域名服务器进行维护和解析


轮询负载均衡:
movie IN A 173.16.16.11
movie IN A 173.16.16.12
movie IN A 173.16.16.13


泛域名解析:
* IN A 173.16.16.173

子域授权:
cn IN A 173.16.16.2
IN NS ns.jv.net.cn.
ns.jv.net.cn. IN A 173.16.16.2


对配置文件进行语法检查:

named-checkconf工具
格式:named-checkconf [主配置文件]
[root@localhost ~]# cd /var/named/chroot/etc/
[root@localhost etc]# named-checkconf named.conf
named-checkzone工具
格式:named-checkzone <域名> <区域数据文件>
[root@localhost ~]# cd /var/named/chroot/var/named/
[root@localhost named]# named-checkzone example.com example.com.zone
zone example.com/IN: loaded serial 2009
OK