大家要注意,DNS服务是许多服务的基础,所以一般刚开始学习Linux服务器配置时从此下手,那其它的应用也就简单得多了。笔者进阶学习Linux,也是从此开始的。
一、 相关知识概述
DNS(Domain Name System)即域名服务系统,作用为完成域名与IP地址的互换。网络上的每一台主机都有一个域名,域名给出有关主机的IP地址、MAIL路由信息等等。而域名服务器(name server)则是指存储有关域名空间信息的程序,具体应用也通过它来完成。
二、 DNS服务器软件的安装
在Linux中都是用Bind来实现此服务,即以一个名为“named进程”作为域名服务
器进程的主体。
1. 从http://www.redhat.com上下载安装Bind所需的三个文件:bind-8.2.2-p5-9.i386.rpm、
bind-devel-8.2.2-p5-9.i386.rpm、cache-nameserver-6.2-2.noarch.rpm。
2. 分别对三个文件进行rpm封装的安装,使用命令:rpm –uhv。
3. 最后进行编译并安装,使用命令:make和make install。
经过以上步骤,基本软件已经安装妥当,接下来就是对服务器软件的配置。
named 这个主体进程在启动时需要读取一个初始化文件,缺省为 /etc/named.boot。另外建议大家使用Linux自带的ndc工具来进行启动、中止、重启动、刷新DNS数据、输出DNS数据等多种调试,有关此工具的详细使用,请大家参见Linux技术文档。
第一步:配置建立named.boot。因为这是named进程首先要读取的配置文件,但此文件默认状态下又包含任何 DNS 数据,需我们手工输入来建立,以下为一配置实例:
Directory/var/named
Primary site.com db.site
Primary 0.0.127.IN-ADDR.ARPA db.127.0.0
Primary 56.11.192. IN-ADDR.ARPA db.192.11.56
sitecache.db.sitecache
每一行的意义解释如下(例中涉及到的文件名都可自行拟定,包括第三、四两行):
Directory/var/named:指定named进程读取所有DNS数据文件的路径,本例为/var/named目录,当然你可以自行更改。
Primary site.com db.site:将named作为site.com的主域名服务器(正向域名转换数据),并指定将所有 *.site.com 形式的域名转换数据保存在db.site文件中。
两段primary的IP数据:设定 named 作为某个IP地址段(只给三位)的转换主服务器(反向域名转换数据),而象db.127.0.0 文件,则是指定127.0.0.* 类的IP地址到域名的转换数据存放于此。
sitecache.db.sitecache:指定 named 从 db.sitecache 文件获得互联网的顶层服务器地址。
第二步:根据刚才配置的named.boot,定义每一个DNS数据文件。
1. 正向域名转换数据文件db.site 的建立,给个例子:
@ IN SOA linux.site.com. root.linux.site.com. (
200410301
28800
7200
3600000
86400 )
NS linux.site.com.
MX 10 support.site.com.
- - - - - - - - - - - - - - -
Localhost A 127.0.0.1
Sy727 A 192.11.56.24
Sy728 A 192.11.56.25
Linux A 192.11.56.26
Mail MX 10 sy727.site.com.
MX 20 sy728.site.com.
www CHAME Linux.site.com.
ftp CNAME Linux.site.com.
解释:第一部分第一行SOA后跟的是DNS 服务器名和管理员邮件地址;下面几列数字是在数据交换时要用到的,一般都不作改过;NS行定义域名服务器本身的域名;MX行定义相应的邮件服务器名。
第二部分前4行是DNS域名到IP地址的记录配置,这是必须要的;如第二行,表示sy727.site.com域名对应的IP地址为192.11.56.24。以MX引导的两行是定义邮件地址转换记录,如将XXX@mail.site.com转换成XXX@sy727.site.com。最后两行是定义应用服务的主机名,本例中将Linux.site.com做为WWW服务和FTP服务的主机别名,即通过输入Linux.site.com即可访问www.site.com或ftp.site.com。
特别注意:MX和CHAME这四行记录的主机名最后必须带个点号。
2. 反向域名转换数据文件db.127.0.0和db.192.11.56的建立。
反向域名转换数据文件用来提供根据IP地址查询相应DNS主机名,每个网段分别有一个数据文件。
“127.0.0”这个内部网址相信大家都知道,就一个IP地址:127.0.0.1,其配置例为:
@ IN SOA linux.site.com root.linux.site.com. (
2004080700
28800
14400
3600000
86400 )
IN NS linux.site.com.
1 IN PTR localhost.
而“192.11.56”因为其为外部网段,故配置中应包括所有主机IP地址到DNS主机名的转换数据,配置例为:
@ IN SOA linux.site.com. root.linux.site.com.
(199609206
28800
7200
604800
86400)
NS linux.site.com.
All hosts
24 PTR sys727.site.com.
25 PTR sys728.site.com.
26 PTR linux.site.com.
3.在线获取db.sitecache。
从ftp.rs.internic.netr的domain/named.root下载named.ca,此文件里即包含了前面所说的互联网顶层域名服务器;然后将其拷贝到/var/named目录并重命名成db.sitecache(即你在named.boot配置文件中指定的文件名)即可。
第三步:测试此named进程。
1. 用前面讲到的Linux自带DNS测试工具ndc来启动 named:
ndc named
2. 创建/etc/resolv.conf文件,本例为:
search site.com
nameserver 192.11.56.26
3. 测试named,命令行为:
Nslookup
如果named正常启动,nslookup后即会显示出当前DNS服务器的地址和域名,否则表示named启动异常,需重新检查前面的设置步骤。
OK,经过以上步骤,属于你的Linux版DNS服务器已搭建完成,而关于建成之后的基本DNS诊断以及DNS维护,请大家参阅IT168相关报道。好了,大家赶快去试试吧!