DNS服务器的配置
一、DNS的组成
1、DNS的作用:在域名和IP地址之间实现转换的服务。
2、DNS域名空间:以根域为起点的一个层次化的结构空间。
3、DNS服务:通过递归查询和迭代查询实现IP与域名之间转换的服务。
4、资源记录:存储于DNS服务器中,用于记录域名与IP地址对应关系的记录。
5、DNS客户端:查询DNS服务器,寻求IP--域名对应关系的计算机。
二、域名解析的过程
1、本地解析
通过本地/etc/hosts文件解析。
使用本地DNS缓存解析。(客户端会缓存DNS解析结果)
2、DNS服务器解析
DNS服务器进行本地解析,匹配本地资源记录。
DNS服务器进行缓存解析,查询DNS缓存。
DNS服务器进行迭代查询。
三、DNS服务器的安装
1、Linux下的DNS服务起是通过Bind程序实现的。Bind(Berkeley Internet Name Domain Server)。
2、安装Bind
查询Bind的安装情况:rpm -q bind
安装包结构:
bind-9.3.3-7.el5.i386.rpm 主程序
bind-utils-9.3.3-7.el5.i386.rpm Bind的客户端工具
caching-nameserver-9.3.3-7.el5.i386.rpm 高速缓存
*bind-chroot-9.3.3-7.el5.i386.rpm (囚禁目录程序)
3、启动bind:服务名named
四、bind的主配置文件--/etc/named.conf
1、DNS的三种类型:
主要名称服务器:保存区域资源记录的正本信息。
辅助名称服务器:保存区域资源记录的副本信息。
cache-only服务器:保存NS、SOA和部分A记录的缓存服务器。
2、生成正向解析区域:
建立主配置文件/etc/named.conf
options {
全局配置
}
options {
directory "/var/named";设置DNS的区域数据文件的存放位置
dump-file "/var/named/data/cache_dump.db";
设置DNS数据库的存放位置。
statistics-file "/var/named/data/named_stats.txt";
设置DNS统计信息的存放位置。
memstatistics-file "/var/named/data/named_mem_stats.txt";
设置DNS存储统计信息的存放位置。
version "4.3.2"; 版本信息
};
include "/etc/rndc.key";共享密钥文件,用于兼容Bind8
建立根区域
zone “.” { /*zone用于定义区域名称
type hint; /*type用于设置区域类型
file “named.ca”; /*file用于定义区域数据文件存放的位置
};
建立正向区域
在/etc/named.conf中添加正向区域
zone "itatpro.com" {
type master; /*master表示主要区域
file "itatpro.com.zone";
};
在/var/named下建立区域数据文件(itatpro.com.zone)
$TTL 86400 :定义客户端缓存查询数据的默认时间。
默认单位为秒,也可以使用h(小时),d(天),w(星期)
$TTL 24h ;$TTL 1d;$TTL 2w
SOA服务资源记录:定义了主DNS与辅助DNS之间的数据复制选项。
@ IN SOA localhost root (
本区域 定义记录类型 本区域的主DNS服务器FQDN DNS管理员邮箱
DNS管理员邮箱不能使用@分割,@位置应由“.”代替。
@ IN SOA hero001.itatpro.com. root.itatpro.com. (
42 ;变动序号,当主服务器的记录修改一次,变动序号将加1。
变动序号最大为9位,格式可以使用日期+修改。
200912111
3H;更新时间,定义了辅助服务器和主服务器进行数据同步的间隔时间
15M;重试时间
1W;过期时间
1d;定义了使用辅助DNS的客户端的缓存时间。
)
@ IN NS 本区域DNS服务器的FQDN
NS:名称服务器记录,表示本区域的DNS服务器
hero001 IN A ip地址
hero001 IN A 192.168.1.1
重启named服务
五、添加区域数据记录
1、SOA
2、NS
3、A(主机记录),定义了主机名对应的IP地址
4、CNAME(别名记录),定义了主机的别名记录
六、DNS客户端
1、DNS客户端是向DNS服务器提出查询请求的应用程序。
a、WindowsDNS客户端:
b、LinuxDNS客户端:
2、DNS的探测命令:nslookup
nslookup
>域名 根据A记录返回IP信息。
>IP 根据PRT指针记录返回域名信息。
查询特定记录类型的信息
>set type=记录类型
>域名
七、配置辅助DNS
1、设置主服务器允许区域传送
/etc/named.conf
区域定义中添加:allow-transfer { 辅助服务器IP;};
2、在辅助DNS服务器上创建同名区域
3、创建Linux的辅助服务器
a、要求主DNS服务器允许区域复制
b、创建Linux下的辅助区域。
/etc/named.conf
zone "itat.edu" {
type slave;
file "slaves/itat.edu.zone"; (辅助区域的数据文件一般存放在 slaves
目录中。该区域数据文件由系统生成)
masters {192.168.16.200;}; (定义主服务器)
};
八、定义缓存Cache-only服务器
options {
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
forward only;(将客户机的查询转向到其他DNS服务器)
forwarders{ (转发主机,定义了forward的转发对象)
192.168.16.200;
202.96.54.3;
};
};
include "/etc/rndc.key";
九、chroot(目录监禁功能)
1、chroot:将DNS识别的系统根目录定义到/var/named/chroot/=/。安全的目录配置
机制。
2、安装chroot:bind-chroot
例: 编辑 /etc/named.conf
options {
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stts.txt";
};
定义根区域
include "/etc/vndc.key";
zone "." {
type hint;
file "named.ca";
};
定义主要区域
zone "itatpro.com" {
type master;
file "itatpro.com.zone";
};
zone "16.168.192.in-addr.arpa" {
type master;
file "16.168.192.in-addr.arpa.zone";
编辑 /var/itatpro.com.zone
$ttl 1d
@ IN SOA dns.itatpro.com.
200911201
600
300
86400
38400)
dns IN NS 192.168.16.254
www IN A 192.168.16.254
www IN A 192.168.16.1
www IN A 192.168.16.2
ftp.itatpro.com. IN A 192.168.16.254
mail IN A 192.168.16.254
@ IN MX 10 mail.itatpro.com.
设置 /var/16.168.192.in-addr.arpa.zone
$ttl 1d
@ IN SOA dns.itatpro.com root.itatpro.com.(
200911201
600
300
86400
38400)
@ IN NS dns.itatpro.com.
254 IN PTR dns.itatpro.com.