Linux 版 (精华区)
发信人: zhili (北侠), 信区: twunix
标 题: 用LINUX作DNS服务器(有实例)!
发信站: 哈工大紫丁香 (Mon Jan 5 00:29:00 1998), 转信
From: albin.bbs@bbs.dlut.edu.cn (阿乐斌)
Date: 10 Jul 1997 06:14:09 GMT
===============================================================================
� 用Linux做 DNS Server
版权声明:
(C)opyright 1996 by Binu He.
作者:何斌武,大连理工大学计算中心,1996年5月
可自由散布但必须保留版权讯息。
用Linux做 DNS Server
小弟这周在我的Linux(Linux 1.3.61, IBM PS 486/66, 16M Ram)上做了一个
DNS Primary Server,现将方法Post上来,希望对大家有所帮助,也欢迎大家
来信指教.
1. 首先应确认你的上级域名服务器已正确指向你的DNS Server, 如我设置的
子域为net.dlut.edu.cn,则应在dlut.edu.cn的域名服务器上有到Linux
的NS记录,以下是在dlut.edu.cn域名服务器相应文件内容:
--------------------------/etc/named.boot----------------------
directory /etc/namedb
;
primary dlut.edu.cn hosts.db
primary 66.118.202.in-addr.arpa hosts.rev
;
;
primary 0.0.127.in-addr.arpa named.local
secondary net.dlut.edu.cn 202.118.65.1 nethost.db
secondary 65.118.202.in-addr.arpa 202.118.65.1 nethost.rev
;
; load the cache data last
cache . named.ca
-------------------------/etc/namedb/hosts.db-------------------
..
net IN NS gw.net.dlut.edu.cn.
IN A 202.118.66.3
IN A 202.118.65.1
IN NS cedrus.dlut.edu.cn.
可通过nslookup 确认是否已正确设定,如下:
/etc/namedb[5]nslookup -q=NS
Default Server: localhost
Address: 127.0.0.1
> net.dlut.edu.cn
Server: localhost
Address: 127.0.0.1
net.dlut.edu.cn nameserver = gw.net.dlut.edu.cn
net.dlut.edu.cn nameserver = cedrus.dlut.edu.cn
net.dlut.edu.cn nameserver = gw.net.dlut.edu.cn
net.dlut.edu.cn nameserver = cedrus.dlut.edu.cn
gw.net.dlut.edu.cn inet address = 202.118.66.3
gw.net.dlut.edu.cn inet address = 202.118.65.1
cedrus.dlut.edu.cn inet address = 202.118.66.6
2。编辑Linux 的 /etc/named.boot文件,内容如下,其中以引号
开始的内容为注释:
directory /etc/namedb ;指定named初始化文件目录,
;最好为一单独文件系统,如
; /var/namedb /usr/local/namedb
;cache 指向顶级域名服务器列表
cache . root.cache
;primary 表明是子域net.dlut.edu.cn和反向域65.118.202.IN-ADDR.ARPA
;的主域名服务器,其初始化文件分别为/etc/namedb/net.zone和
;/etc/namedb/nethost.rev
primary net.dlut.edu.cn net.zone
primary 65.118.202.IN-ADDR.ARPA nethosts.rev
;本地回环域0.0.127.IN-ADDR.ARPA的主域名服务器
primary 0.0.127.IN-ADDR.ARPA named.local
;子域dlut.edu.cn的备份域名服务器,从域名服务器202.118.66.6(primary
; server for domain dlut.edu.cn)和202.118.66.8(secondary server for
; domain dlut.edu.cn)申请相关数据,备份文件名为dlut.bak
; 如不做备份域名服务器则无须下列行
secondary dlut.edu.cn 202.118.66.6 202.118.66.8 dlut.bak
secondary 66.118.202.IN-ADDR.ARPA 202.118.66.6 202.118.66.8 dlut.rev.bak
3.创建文件/etc/namedb/net.zone,可从bind-4.9.* 软件包携带的示例文件进行修改
而成,文件内容如下:
-----------------------------------------------------------------------
;
; Data file of hostnames in this zone.
;
@ IN SOA gw.net.dlut.edu.cn. hbwork.gingko.dlut.edu.cn. (
960072601 ; Serial
300 ; Refresh - 5 minutes
60 ; Retry - 1 minute
38400 ; Expire - 2 weeks
43200 ) ; Minimum - 12 hours
IN NS gw.net.dlut.edu.cn.
IN NS cedrus.dlut.edu.cn.
; Define localhost
;
localhost IN A 127.0.0.1
gw IN A 202.118.65.1
IN A 202.118.66.3
-----------------------------------------------------------------
其中在SOA (Start of Authority)记录中的gw.net.dlut.edu.cn. 为此文件
所在主机名(切记:完整的主机名最后应以点结束),hbwork.gingko.dlut.edu.cn
为管理员Email地址hbwork@gingko.dlut.edu.cn的变通形式,因@号在此文件
中代表当前授权域名,即/etc/named.boot相应记录中指定的域名net.dlut.edu.cn
960072601为序列好,每更改一次此值应增加,备份域名服务器根据此值决定是否
应从主域名服务器请求新的数据;NS记录指定此域(net.dlut.edu.cn)的两个域名
服务器,其中gw.net.dlut.edu.cn.的IP地址在下面由 A (address)记录给出,
cedrus.dlut.edu.cn. 的IP地址由resolver从dlut.edu.cn.域名服务器获得。
在其后的A记录指明了相应主机的IP地址,如主机gw有两个IP地址。请注意主机
gw的完整名称为gw.net.dlut.edu.cn. ,因为此名称不是以点结束,因此其主机名
将追加域名net.dlut.edu.cn构成完整的主机名(fully qualified domain names)
当然在此文件中还有其他记录类型,如CNAME MX 等,具体请参考named文档,以下
仅给出简单示例:
设定别名:如linux.dlut.edu.cn 为主机gw.net.dlut.edu.cn之别名,主机
gingko.dlut.edu.cn有别名ftp.dlut.edu.cn www.dlut.edu.cn mail.dlut.edu.cn
则在域dlut.edu.cn的域名服务器的数据文件中使用如下记录:
gingko IN A 202.118.66.8
ftp IN CNAME gingko.dlut.edu.cn.
www IN CNAME gingko.dlut.edu.cn.
mail IN CNAME gingko.dlut.edu.cn.
linux.dlut.edu.cn. IN CNAME gw.net.dlut.edu.cn.
设定邮件交换MX(Mail Exchange)记录,如指定user@net.dlut.edu.cn的邮件有主机
gw.net.dlut.edu.cn接受,相应备份邮件服务器为gingko.dlut.edu.cn,可使用如下记录
(当然相应主机的sendmail.cf应做适当调整):
@ IN SOA gw.net.dlut.edu.cn. hbwork.gingko.dlut.edu.cn. (
960072601 ; Serial
300 ; Refresh - 5 minutes
60 ; Retry - 1 minute
38400 ; Expire - 2 weeks
43200 ) ; Minimum - 12 hours
IN NS gw.net.dlut.edu.cn.
IN NS cedrus.dlut.edu.cn.
IN MX 1 gw.net.dlute.du.cn.
IN MX 10 gingko.dlut.edu.cn.
MX之变通形式,如在此域名服务器上指定user@net.dlut.edu.cn的邮件由gw.net.dlut.edu.cn.
接受,也可使用如下形式之一:
(1)
net.dlut.edu.cn. IN A 202.118.65.1
(2)
net.dlut.edcu.cn. IN CNAME gw.net.dlut.edu.cn.
但不建议使用如上方法.
4. 建立/etc/namedb/nethosts.rev文件,本文件为进行反向查询(由IP查找域名)初始化文募斜
如下:
;
; Data file for reverse address to hostname.
;
@ IN SOA gw.net.dlut.edu.cn. hbwork.dlut.edu.cn. (
960072601 ; Serial
300 ; Refresh - 5 minutes
60 ; Retry - 1 minute
1209600 ; Expire - 2 weeks
43200 ) ; Minimum - 12 hours
IN NS gw.net.dlut.edu.cn.
;
; %HOSTS_START% - entries added by /etc/namedb/bin/make_hosts
1.65.118.202.in-addr.arpa. IN PTR gw.net.dlut.edu.cn.
; %HOSTS_END%
5.建立文件/etc/namedb/named.local,内容如下:
;
; BIND data file for local loopback interface.
;
@ IN SOA gw.net.dlut.edu.cn. hbwork.dlut.edu.cn. (
96072601 ; Serial
3600 ; Refresh
300 ; Retry
3600000 ; Expire
3600 ) ; Minimum
IN NS gw.net.dlut.edu.cn.
1 IN PTR localhost.
更改gw.net.dlut.edu.cn.为你的主机名,hbwork.dlut.edu.cn.为你的
Email 地址。
6.创建文件/etc/namedb/root.cache,列出顶级域名服务器,内容如下:
99999999 NS I.ROOT-SERVERS.NET.
99999999 NS F.ROOT-SERVERS.NET.
99999999 NS G.ROOT-SERVERS.NET.
99999999 NS A.ROOT-SERVERS.NET.
99999999 NS H.ROOT-SERVERS.NET.
99999999 NS B.ROOT-SERVERS.NET.
99999999 NS C.ROOT-SERVERS.NET.
99999999 NS D.ROOT-SERVERS.NET.
99999999 NS E.ROOT-SERVERS.NET.
;; ADDITIONAL RECORDS:
I.ROOT-SERVERS.NET. 99999999 A 192.36.148.17
F.ROOT-SERVERS.NET. 99999999 A 192.5.5.241
G.ROOT-SERVERS.NET. 99999999 A 192.112.36.4
A.ROOT-SERVERS.NET. 99999999 A 198.41.0.4
H.ROOT-SERVERS.NET. 99999999 A 128.63.2.53
B.ROOT-SERVERS.NET. 99999999 A 128.9.0.107
C.ROOT-SERVERS.NET. 99999999 A 192.33.4.12
D.ROOT-SERVERS.NET. 99999999 A 128.8.10.90
E.ROOT-SERVERS.NET. 99999999 A 192.203.230.10
此文件不做任何改动既可使用,当然也可用实用程序dig取得最新顶级
域名服务器列表,方法如下:
dig @ns.internic.net . ns
7.修改系统启动文件 /etc/rc.d/rc.inet2,去掉named部分的注释
8.确认文件/etc/host.conf文件host行内容如下:
order hosts,bind
9.创建或编辑文件/etc/resolv.conf,指向新的域名服务器,内容如下:
domain net.dlut.edu.cn
nameserver 202.118.65.1
其中domain一行为你的域名,nameserver为你的域名服务器的IP地址。
如在运行named或系统重新启动后域名不好用,可执行/sbin/netconfig,在域名
服务器配置部分输入新的域名及域名服务器IP地址,再重新启动机器。
10. DNS Client的配置
(1) Unix 操作系统
编辑/etc/resolv.conf,参见服务器/etc/resolv.conf
(2) Windows 95
更改网络中TCP/IP的DNS设置
(3) Novell Lan Workplace
Sun PC-NFS
FTP TCP/IP
更改响应resolv.cfg 文件即可。
如上是小弟设置DNS 的一点经验,希望能对linux的推广普及做出点小贡献。
-------------------------------------------------------
--
※ 来源:.碧海青天 bbs.dlut.edu.cn.[FROM: 202.118.66.18]
--
☆ 来源:.哈工大紫丁香 bbs.hit.edu.cn.[FROM: bbs@bbs.hit.edu.cn]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:208.514毫秒+ - R