荔园在线

荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀

[回到开始] [上一篇][下一篇]


发信人: Rog (Enter), 信区: Linux
标  题: 在Linux上建立DNS服务器[Fwd]
发信站: BBS 荔园晨风站 (Mon Jun  7 13:07:32 1999), 转信

【 以下文字转载自 Rog 的信箱 】
【 原文由 Rog.bbs@flanker.uestc.edu.cn 所发表 】
发信人: sunway (运气守恒,哈哈), 信区: Linux
标  题: 在Linux上建立DNS服务器[Fwd]
发信站: 一网深情 (Sun May 30 22:13:40 1999), 转信

在Linux上建立DNS服务器
★ 陈武胜
一、假定
  本文假定你已对域名服务器DNS有基本的了解,如果不是,请参看相关的文档
。许多DNS的文章都是从DNS原理开始介绍,本人则从使用的角度出发,为Linux的
管理员提供一些简单实用的应用实例。
下面假定我们需要建立一台企业网的DNS主服务器,应用条件如下:
1.一个C类网段地址 (本例中假定是192.22.33);
2.企业域名为 my.com,并已注册(主域名服务器地址 192.22.33.20,主机名为n
s1.my.com);
3.企业网通过路由器与Internet连接 。
DNS服务器的主体是域名服务器进程named,named 启动后向DNS客户机提供域名解
析服务,把域名转换成IP地址。
named 启动时需要读取几个数据文件,在bind 4下缺省情况下是先/etc/named.bo
ot,所以/etc/named.boot是named的基本配置文件。在bind 8下,缺省情况下先是
/etc/named.conf。(有关bind 4和bind 8的知识请参看相关文档,在这你只要知
道,red hat 5.1中自带的是bind 4,而red hat 5.2自带的是bind 8)。
虽然启动named可直接执行named,在Linux上我们可以使用一个控制named的工具n
dc。ndc可以用于启动、中止、重启动、刷新DNS数据、输出DNS数据等多种调试功
能,我在这里推荐大家用这个工具来帮助DNS服务器的调试。
有关ndc的详细用法,请参看Linux有关文档。
二、建立named配置文件 /etc/named.boot、etc/named.conf
1. /etc/named.boot是基本的配置文件,但不包含任何DNS数据,针对我们前面的
假定,先建立以下/etc/named.boot,其内容如下:
; boot file for name server
directory /var/named
primary my.com              db.my
primary 0.0.127.IN-ADDR.ARPA db.127.0.0
primary 33.22.192.IN-ADDR.ARPA db.192.22.33
cache . db.cache
其中以“;”开头的行是注释行,其他各行含义如下:
(1)diretory /var/named :指定named从 /var/named 目录下读取DNS数据文件
,这个目录用户可自行指定并创建,指定后所有的DNS数据文件都存放在此目录下

(2)primary my.com db.my :指定named作为 my.com域的主域名服务器,db.my
文件中包含所有 *.my.com形式的域名转换数据;
(3)primary 0.0.127.IN-ADDR.ARPA db.127.0.0 :指定named作为127.0.0网段
地址转换主服务器,db.127.0.0文件中包含了127.0.0.*形式的地址到域名的转换
数据(127.0.0网段地址是局域网接口的内部 loopback地址);
(4)primary 33.22.192.IN-ADDR.ARPA db.192.22.33 :指定named作为192.22.
33网段地址转换主服务器,db.192.22.33文件中包含了所有 192.22.33.*形式的地
址到域名的转换数据;
(5)cache . db.cache :指定named从 db.cache 文件中获得Internet的顶层“
根”服务器地址 。
注意:(3)、(4)两行中的网段地址是倒写的,另外,各个文件名也是可以自行
决定的。 2. /etc/named.conf是基本的配置文件,不包含任何DNS数据,针对我们
前面的假定,建立以下 /etc/named.conf,其内容如下:
// generated by named-bootconf.pl
options {
    directory “/var/named”;
    // query-source address * port 53;
};
// a caching only nameserver config
zone “.” {
    type hint;
    file “named.ca”;
};
zone “0.0.127.in-addr.arpa” {
    type master;
    file “db.127.0.0”;
};
zone “33.22.192.in-addr.arpa” {
    type master;
    file “db.192.22.33”;
};
zone “my.com” {
    type master;
    file “db.my”;
};
其中以“//”开头的行是注释行,其他各行含义参照named.boot,其实也不难理解

三、建立各个DNS数据文件
现在,要按 /etc/named.boot中的定义,建立各个DNS数据文件。
1. 建立正向域名转换数据文件db.my
  根据/etc/named.boot的定义,我们在/var/named目录下建立db.my,其中应该
包括所有在my.com域内的主机节点。但在机器数量较多时,为了调试方便,建议一
开始只把几台节点的数据放入文件,待named正常工作后再把其他节点的数据补充
进去。下面是db.my的例子:
@ IN SOA linux.my.com. root.linux.my.com. (
199511301 ; serial, todays date + todays serial #
28800 ; refresh, seconds
7200 ; retry, seconds
3600000 ; expire, seconds
86400 ) ; minimum, seconds
NS linux.my.com.
MX 10 support.my.com.
localhost     A 127.0.0.1
linux        A    192.22.33.20
support2        A    192.22.33.102
hp712        A    192.22.33.160
support        A    192.22.33.100
mail        MX 10    support.my.com.
            MX 20     support2.my.com.
www        CNAME    hp712.my.com.
ftp        CNAME    hp712.my.com.
ns            CNAME     linux.my.com.
  其中第一行是SOA记录,定义了域名数据的基本信息,依次是DNS服务器名、D
NS 管理员邮件地址,括号内的第一个数字是文件版本号,每次本文件内容修改后
,必须更改此号。其余数字与DNS服务器直接的数据交换有关,在这里我们不需要
改动。
  括号后面有一条NS记录和一条MX记录,定义了域名服务器本身的域名和usern
ame@my.com形式邮件地址所对应的邮件服务器名字。
  在此以下是各种域名/地址转换数据,其中A记录是DNS域名到IP地址的记录,
是必须有的,以hp712.my.com为例,在A记录中域my.com被省略,只写成hp712,n
amed在处理时会根据named.boot中的定义自动加上my.com,而其对应IP地址为192
.22.33.160。另一种记录是MX记录。MX是邮件地址转换记录,本例中定义了将use
rname@mail.my.com的邮件地址转换成username@support.my.com或username@supp
ort2.my.com,即实际上真正的邮件服务器是support.my.com和support2.my.com,
其中support.my.com的优先数为10,support2.my.com的优先数为20,所以通常邮
件首先被发往优先数小的主机support.my.com。
还有一些是为方便提供的CNAME记录。CNAME定义了一些主机的别名,如我们将hp7
12.my.com作为公司的www和ftp服务器,所以我们提供了www.my.com和ftp.my.com
作为hp712.my.com的别名,用户只需要根据习惯就可以访问公司的www、ftp服务器
了,如果将来我们换用别的主机作www和ftp服务器,只需要修改CNAME记录就可,
对用户没有影响。
注意:MX和CNAME记录最后的带域名的主机名后必须带一个“.”。
2. 建立反向DNS数据文件db.127.0.0和db.192.22.33
  反向DNS数据文件用来提供根据IP地址查询相应DNS主机名,每个网段分别有一
个数据文件。
对于内部网段127.0.0通常只有一个地址,即127.0.0.1 loopback地址,db.127.0
.0内容如下:
@ IN SOA linux.my.com root.linux.my.com. (
1997022700 ; Serial
28800 ; Refresh
14400 ; Retry
3600000 ; Expire
86400 ) ; Minimum
IN NS linux.my.com.
1 IN PTR localhost.
而外部网段的数据文件 db.192.22.33 中包含所有主机 IP 地址到DNS主机名的转
换数据。db.192.22.33 内容如下:
@ IN SOA linux.my.com. root.pc590.my.com. (
199609206 ; Serial
28800 ; Refresh
7200 ; Retry
604800 ; Expire
86400) ; Minimum TTL
NS linux.my.com.
;
; All hosts
;
20 PTR linux.my.com.
102 PTR support2.my.com.
100 PTR support.my.com.
160 PTR hp712.my.com.
反向DNS数据文件中的主要部分是PTR记录,PTR记录中的IP地址都只有主机号,na
med会根据named.boot的定义自动加上前面的网络号,注意后面的主机名要附加一
个“.”
3. 获得db.cache文件
  在Linux系统上通常在/var/named下已经提供了一个named.ca,该文件中包含
了Internet的顶层域名服务器,但这个文件通常会发生变化,所以建议最好从Int
ernic下载最新的版本。该文件可通过匿名ftp从ftp.rs.internic.net下载,在do
main目录下,文件名为 named.root。注意该文件下载后要拷贝到named的工作目录
并重命名成named.boot中指定的文件名,本文中为db.cache。
五、启动和测试 named
首先,根据先前推荐的方法,用ndc启动named:
ndc start
然后,为了使用和测试named,要把Linux设置在使用DNS状态。方法是在/etc目录
下,创建resolv.conf文件。以我们的例子,/etc/resolv.conf 内容为:
search my.com
nameserver 192.22.33.20
然后,我们就可以测试named了。
Linux和其他Unix系统均提供了nslookup工具,在命令行状态下输入:
nslookup
  就进入交换式nslookup环境,如果named正常启动,nslookup会显示当前DNS服
务器的地址和域名,否则表示named没能正常启动。下面简单介绍一些基本的DNS诊
断:
(1)检查正向DNS解析
在nslookup提示符下输入带域名的主机名,如hp712.my.com,nslookup应能显示该
主机名对应的IP地址,如果只输入hp712,nslookup会根据/etc/resolv.conf的定
义,自动添加my.com域名并回答对应的IP地址。
(2)检查反向DNS解析
在nslookup提示符下输入某个IP地址,如192.22.33.20,nslookup应能回答该IP地
址所对应的主机名。
(3)检查MX邮件地址记录
在nslookup提示符下输入:
set q=mx
然后输入某个域名,以本文的例子,输入my.com或mail.my.com,nslookup应能够
回答对应的邮件服务器地址,即support.my.com和support2.my.com。
(4)检查 CNAME 别名记录
在nslookup提示符下输入:
set q=cname
然后输入某个别名,如www.my.com,nslookup应能回答对应的真实主机名,即hp7
12.my.com。
如要退出nslookup,可输入exit。
[编者按:作者在原文中还对多个网段、封闭的内部网、只能访问局部公共网(如
169网、上海热线等)等情况下如何设置DNS做了说明,因篇幅所限,刊登时对文章
进行了删节,全文见网站www.swm.com.cn。]

--


    “我们萧萧的树叶都有声响回答那风和雨。你是谁呢,那样的沉默
着?”

    “我不过是一朵花。”

※ 来源:.一网深情 bbs.uestc.edu.cn.[FROM: 202.115.8.100]
--
※ 转寄:.一网深情 bbs.uestc.edu.cn.[FROM: argo.zsu.edu.cn]
--
※ 转载:.BBS 荔园晨风站 bbs.szu.edu.cn.[FROM: 192.168.1.177]


[回到开始] [上一篇][下一篇]

荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店