作 者: 汤海京 
(
[email protected]) 
1.1 简 介 
在TCP/IP网络中最基本的服务就是域名解析,即用户可以从IP和URL两种方式访问你的网站。而且域名解析还应为用户提供命名服务,即用户执行ftp 192.168.10.1 和执行ftp thj是一样的。 
1.2 所需系统资源 
1.2.1 配置文件: 
文件名 来源 
/etc/named.conf caching-nameserver-6.2-2.noarch.rpm 
/etc/named.boot caching-nameserver-6.2-2.noarch.rpm 
/etc/hosts 系统自带 
/etc/host.conf 系统自带 
/etc/resolv.conf 系统自带 
/etc/nsswitch.conf glibc-2.1.3-15 
/var/named/named.local caching-nameserver-6.2-2.noarch.rpm 
/var/named/named.ca caching-nameserver-6.2-2.noarch.rpm 
/var/named/name2ip.conf 管理员创建 
/var/named/ip2name.conf 管理员创建 
1.2.2 相关工具: 
文件名 来源 
/etc/rc.d/init.d/named bind-8.2.2_P5-9 
/usr/bin/nslookup bind-8.2.2_P5-9 
/usr/sbin/ndc bind-8.2.2_P5-9 
1.3 配置方案 
对于DNS服务器的配置需要涉及5个主要文件,另外还有四个文件也与DNS有关: 
1./etc/named.conf configuration文件 
作用:定义了域数据库信息的基本参数和源点,该文件可以存放在本地或远程的服务器上。 
实例: 
options { 
directory ""/var/named""; 
#定义了named要读写文件的路径 
}; 
zone ""."" { 
type hint; 
#表明在启动时被用来初始化域名服务器的文件是一个线索文件, 
每一个服务器都有一个线索区。 
file ""named.ca""; 
#指定所要读取的文件名 
}; 
zone ""0.0.127.in-addr.arpa""{ 
type master; 
#表明服务器是主域名服务器 
file ""named.local""; 
}; 
zone ""mycompany.com"" in { 
type master; 
file ""name2ip.conf""; 
}; 
zone ""10.168.192.in-addr.arpa"" { 
type master; 
file ""ip2name.conf""; 
}; 
2./var/named/name2ip.conf 正向解析文件 
作用:用来定义域信息,实现主机名和地址之间的镜像、识别mail服务器和提供各种域信息。 
实例: 
@ IN SOA thj.mycompany.com. root.thj.mycompany.com. 
#所有的区文件都以SOA开头,@指定当前的信息源,thj.mycompany.com 
这个值可以将域名和named.conf连接起来。通常只有一个@符号。 
( 2000062900 ;serial #序列号 
28800 ; refresh #刷新周期,以秒为单位 
14400 ; retry #循环周期 
3600000; expire #中止时间 
86400 ); minuum #time-to-live的时间 
IN NS thj.mycompany.com. 
#定义域名服务器 
IN MX 10 thj.mycompany.com. 
#定义邮件服务器,10表示优先级,越小越高 
localhost IN A 127.0.0.1 
#实现域到IP的映射 
thj IN A 192.168.10.1 
www CNAME thj 
#CNAME前后两者为等价名 
mail CNAME thj 
3./var/named/ip2name.conf 反向解析文件 
作用:实现IP地址很域名的映射 
实例: 
@ IN SOA thj.mycompany.com. root.thj.mycompany.com. 
( 2000062900 ;serial 
28800 ; refresh 
14400 ; retry 
3600000; expire 
86400 ); minuum 
IN NS thj.mycompany.com. 
IN MX 10 thj.mycompany.com. 
1 IN PTR thj.mycompany.com. 
#定义逆向关系,即192.168.10.1 与 thj.mycompany.com 之间 
的映射,也可以用作定义一个反转域。 
4./var/named/named.local 本地主机解析文件 
作用:解析回送地址localhost 即127.0.0.1,回送地址是一种特殊的约定,即允许在处理本地机地址时与处理远程机地址的方法一样,这样可以简化处理过程,不必将数据发送到物理网络上。 
实例: 
@ IN SOA localhost. root.localhost. ( 
1997022700 ; Serial 
28800 ; Refresh 
14400 ; Retry 
3600000 ; Expire 
86400 ) ; Minimum 
IN NS localhost. 
1 IN PTR localhost. 
5./var/named/named.ca 线索文件 
作用:初始化缓冲区的信息。该文件不需要管理员更改,而是系统自带。 
实例: 
. 3600000 IN NS A.ROOT-SERVERS.NET. 
A.ROOT-SERVERS.NET. 3600000 A 198.41.0.4 
. 3600000 NS B.ROOT-SERVERS.NET. 
B.ROOT-SERVERS.NET. 3600000 A 128.9.0.107 
. 3600000 NS C.ROOT-SERVERS.NET. 
C.ROOT-SERVERS.NET. 3600000 A 192.33.4.12 
. 3600000 NS D.ROOT-SERVERS.NET. 
D.ROOT-SERVERS.NET. 3600000 A 128.8.10.90 
. 3600000 NS E.ROOT-SERVERS.NET. 
E.ROOT-SERVERS.NET. 3600000 A 192.203.230.10 
. 3600000 NS F.ROOT-SERVERS.NET. 
F.ROOT-SERVERS.NET. 3600000 A 192.5.5.241 
. 3600000 NS G.ROOT-SERVERS.NET. 
G.ROOT-SERVERS.NET. 3600000 A 192.112.36.4 
. 3600000 NS H.ROOT-SERVERS.NET. 
H.ROOT-SERVERS.NET. 3600000 A 128.63.2.53 
. 3600000 NS I.ROOT-SERVERS.NET. 
I.ROOT-SERVERS.NET. 3600000 A 192.36.148.17 
. 3600000 NS J.ROOT-SERVERS.NET. 
J.ROOT-SERVERS.NET. 3600000 A 198.41.0.10 
. 3600000 NS K.ROOT-SERVERS.NET. 
K.ROOT-SERVERS.NET. 3600000 A 193.0.14.129 
. 3600000 NS L.ROOT-SERVERS.NET. 
L.ROOT-SERVERS.NET. 3600000 A 198.32.64.12 
. 3600000 NS M.ROOT-SERVERS.NET. 
M.ROOT-SERVERS.NET. 3600000 A 202.12.27.33 
6./etc/hosts 
作用:实现与网上其他主要计算机的映射,它通常是当作DNS的备份出现的,也就是说,当DNS系统出现问题的时候才使用Hosts表。 
实例: 
127.0.0.1 localhost localhost.localdomain localhost 
192.168.10.1 thj.mycompany.com thj 
#由于每台服务器都会有几个域名与IP的对应关系是永久的, 所以Hosts表中存放的应该是它们。 
7./etc/resolv.conf 
作用:指定域名服务器的IP和搜索顺序。 
实例: 
domain 
#定义本地域名。 
search mycompany.com 
#简化用户输入的主机名,即当用户输入thj时,使得DNS可以把它 
成功地解析为thj.mycompany.com。它与domain是互斥的,无论谁出 
现都是用来定义search列表的。 
nameserver 192.168.10.1 
#定义域名服务器的IP,最多三个,建议一般使用两个。 
8./etc/hosts.conf 
作用:如何实现hosts表与DNS的关系和接口。 
实例: 
order hosts,bind 
#解析域名的顺序 
multi on 
#允许一台计算机拥有多个IP 
9./etc/nsswitch.conf 
作用:用于处理Hosts表和DNS的顺序 
实例: 
passwd: files nisplus nis 
shadow: files nisplus nis 
group: files nisplus nis 
hosts: files dns 
bootparams: nisplus [NOTFOUND=return] files 
ethers: files 
netmasks: files 
networks: files 
protocols: files 
rpc: files 
services: files 
netgroup: nisplus 
publickey: nisplus 
automount: files nisplus 
aliases: files nisplus 
1.4 测试及管理方法 
1. 管理员修改完DNS的配置文件,需要执行/etc/rc.d/init.d/named restart来是更改生效。 
2. ndc工具:用来向named进程发送信号 
3. nslookup:测试正向、反向的解析是否正常 
1.5 本章小结 
DNS服务是许多服务的基础,所以配置一台Linux Server应该从DNS开始,并要从一开始就对你的服务器配置成什么样子有一个整体的把握,这样才能保证配置之间能够相互协调,避免错误的发生。