建立DNS服务器

再见
标 题: 建立DNS服务器
发信站: 交通大学思源BBS (Wed Feb 23 04:52:36 2000), 转信
建立DNS服务器
假设需要建立一台企业网的DNS主服务器,应用条件如下:
1、一个C类网地址 (本例中假设为192.168.0);
2、企业域名为 mydomain.com,并已注册(主域名服务器地址 192.168.0.1,
主机名为ns.mydomain.com);
3、企业网通过路由器与Internet连接 。
DNS服务器的主体是域名服务器进程named,named 启动后向DNS客户机提供域名
解析服务,把域名转换成IP地址。
named 启动时需要读取几个数据文件,在bind 4下缺省情况下是/etc/named.boot,
所以/etc/named.boot是named的基本配置文件。在bind 8下,缺省情况下是/etc/named.con

虽然启动named可直接执行named,在Linux上我们可以使用一个控制named的工具
ndc。ndc可以用于启动、中止、重启动、刷新DNS数据、输出DNS数据等多种调试功能,
在这里推荐使用这个工具来帮助DNS服务器的调试。 (有关ndc的详细用法,请参看
Linux有关文档。)
先建立以下/etc/named.boot,其内容如下:
directory /var/named
;#named数据文件的地址
primary mydomain.com myhosts
;#定义myhosts文件中包含pcf.com域的名字数据
primary 0.0.127.IN-ADDR.ARPA localfile
;#本地反向域名解析文件为localfile
;primary 0.168.192.IN-ADDR.ARPA myrev
;#192.168.0.*的反向域名解析文件为myrev
cache . mycache
;#域名缓存文件
注意分号是注释。
注意反向域名解析中的网段地址是倒写的,另外,各个文件名也是可以自行决定的。
/etc/named.conf是基本的配置文件,不包含任何DNS数据,针对前面的假设,建
立以下
/etc/named.conf,其内容如下:
options {
directory “/var/named”;
};
zone “.” {
type hint;
file “named.ca”;
};
zone “0.0.127.in-addr.arpa” {
type master;
file “localfile”;
};
zone “0.168.192.in-addr.arpa” {
type master;
file “myrev”;
};
zone “mydomain.com” {
type master;
file “myhosts”;
};
其中以“//”开头的行是注释行,其他各行含义参照named.boot。
建立正向域名转换数据文件myhosts
在/var/named目录下建立myhosts,
@ IN SOA linux.mudomain.com. root@linux.mydomain.com. (
199511301 ; serial, todays date + todays serial #
28800 ; refresh, seconds
7200 ; retry, seconds
3600000 ; expire, seconds
86400 ) ; minimum, seconds
NS linux.mydomain.com.
;#域名服务器名字
MX 10 mail.mydomain.com.
;#信件交换
test IN A 192.168.0.10
localhost IN A 127.0.0.1
linux IN A 192.168.0.1
;#IN A是地址记录,linux.mydomain.com=192.168.0.1
mail MX 10 mail.linux.com.
www CNAME test.mydomain.com
;#www=test
ns CNAME linux.mydomian.com.
其中第一行是SOA记录,定义了域名数据的基本信息,依次是DNS服务器名、DNS
管理员邮件地址,括号内的第一个数字是文件版本号,每次本文件内容修改后,必须
更改此号。其余数字与DNS服务器直接的数据交换有关,在这里我们不需要改动。
括号后面有一条NS记录和一条MX记录,定义了域名服务器本身的域名和
username@pcf.com形式邮件地址所对应的邮件服务器名字。
注意:MX和CNAME记录最后的带域名的主机名后必须带一个“.”。
建立反向DNS数据文件localfile和myrev
localfile如下:
@ IN SOA linux.mydomain.com root.linux.mydomain.com. (
1997022700 ; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ) ; Minimum
IN NS linux.mydomain.com.
1 IN PTR localhost.
而外部网段的数据文件 myrev中包含所有主机 IP 地址到DNS主机名的转换数据:
@ IN SOA linux.mydomain.com. root.linux.mydomain.com. (
199609206 ; Serial
28800 ; Refresh
7200 ; Retry
604800 ; Expire
86400) ; Minimum TTL
NS linux.mydomain.com.
;
; All hosts
;
1 IN PTR linux.domain.com.
10 PTR test.domain.com.
IN PTR是反向映射。
获得mycache文件
在Linux系统上通常在/var/named下已经提供了一个named.ca,该文件中包含了
Internet的顶层域名服务器,但这个文件通常会发生变化,所以建议最好从Internic
下载最新的版本。该文件可通过匿名ftp从ftp.rs.internic.net下载,在domain目录
下,文件名为 named.root。注意该文件下载后要拷贝到named的工作目录并重命名成named.
oot中指定的文件名,本文中为db.cache。
最后,修改/etc/hosts.conf,这个文件应该是:
order hosts,bind
multi on
有时候在某些UNIX上(比如sun os)/etc/nsswitch.conf也有用,它应该包含
hosts: files dns

再见就是不见的意思.