- 论坛徽章:
- 0
|
DNS域名系统
bind8配置参考
wasp收集整理
以前在internet上用的DNS系统是bind4, bind8是bind4的 后一个版本,现在又出了bind9。和bind4相比,bind8/9更完善,管理者能更充分的控制它的行为,但这两者之间的差别还是很大的,变化的不仅是格式,也多了很多新 的概念。在bind8/9里可用的语句有logging,options,zone,acl,key,trusted -keys,server,controls,include. 它里面的说明可以用c,c++,或shell/ perl的格式。我想主要介绍一下用bind8配置基本的能工作的主、辅域名服务器的方法(它们是internet上主要使用的两种域名服务器),如果有兴 趣更深入的了解可以参考man和 RFC 882, RFC 883, RFC 973, RFC 974, RFC 1033, RFC 1034, RFC1035, RFC 1123, RFC 2308 "Name Server Operations Guide for BIND".
主域名服务器正常工作的必要条件:
1. 安装bind8软件,这在很多unix的发行版中都可以找到。
2. 几个必须的配置文件:
named.conf
named.ca
named.local
mater file(就是bind4里的zone file)
在这几个配置文件中,最主要的是named.conf,在/etc下, 它是named启动时缺省的启动文件.一个典型的named.conf文件至少包括 options,和zone.如:
options {
directory "/var/named";
};
zone "0.0.127.in-addr.arpa" in {
type master;
file "named.local";
};
zone "." in {
type hint;
file "named.ca";
};
zone "99.cn.net" in {
type master;
file "db.99.cn.net";
};
在这里面,options定义 master file 存放的 路径,对应于某个域, named 就会到这里找数据文件,如有一个www.99.cn.net的require请求, named就会到/var/named下找db.99.cn.net这个文件,查出www.99.cn.net 的ip. Zone定义一个域,如99.cn.net这个域,type定义域名服务器的类型,master 说明这是一个主域名服务器,第一个zone定义本地服务器为 它自己的回送域的主服务器,将地址127.0.0.1映射为localhost,几乎在所有类型的域名服务器里都可以看见这个域。第二个 zone用来定义一个 高速缓存初始化文件,在named.ca 里至少包含着根服务器的名字和地址 (这些根服务器也会变化). 一般named.ca不需要修改,named.local里只 需要修改SOA纪录里域和联系人。(有些书上说named.local里的NS纪录是个摆设,但我建议最好还是有这一句) file定义99.cn.net这个域的 master file.以下就是这个master file的内容:
@ IN SOA ns.your.domain. Root.your.domain. (
1999110901 ; Serial Number
10800 ; Refresh after 3 hours
3600 ; Retry after 1 hour
3600000 ; Expire after 6 weeks
86400 ) ; Minimum TTL of 1 day
@ IN NS ns.your.domain.
Localhost IN A 127.0.0.1
www IN A 202.98.106.12
这里面的@定义当前域,也就是your.domain,IN定义这是一个internet类型的纪录,SOA标志一个授权域的开始, ns.your.domain. 为开创该域的服务器,可以用主域名服务器, root.your.domain.定义联系人,root后的. 就是email里的@,括号里的几 个数字定义和本域有关的几个参数,单位是秒,前四个参数用于辅域名服务器更新master file,其中;后面的是说明,serial number用于辅域名服 务器判断主域名服务器的 master file是否更新,所以如果你有辅域名服务器,在每次修改 master file后就应该修改这个序列号,以便辅域名服 务器更新这个域的 master file. Refresh定义辅域名服务器刷新的时间, retry定义如果主服务器未响应,辅服务器重试的时间间隔,expire 定义 这个域的过期时间,就是说如果辅服务器在连续42天里都没有从主服务器取到该域的信息,辅服务器就丢弃该域。第五个参数定义这个域在其他域 名服务器的cache 里的有效期,过了这个时间其他的域名服务器就会到这 里来重新查询相关的信息。
NS表明这个域的域名服务器是ns.your.domain. NS纪录可以有多个。 Localhost和www这两条A纪录的含义是将localhost解析到127.0.0.1 和将 www.your.domain解析到202.98.106.12, 现在一个基本的主域名服务器就 建立好了,但需要特别说明的是,在master file里,ns.your.domain.后 面的. 这个. 表示这是一个完整的纪录,否则服务器就会自动给你加上当 前域,例如,www表示www.your.domain,而www.your.domain就会变成 www.your.domain.your.domain,正确的表示方法可以是www或www.your.domain. 如果不给这个.足够的重视,就很容易出错。
如果你需要维护很多域,可以在named.conf里加上相应的zone,然后 在/var/named下建立该域的master file,最后用SIGHUP来reload域名服务器。如果你需要作反向解析,可以仿照上面named.conf里第一个zone进行,在它相应的master file里用PTR指针将ip转换为域名。
辅域名服务器的建立
建立辅域名服务器的方法和主域名服务器基本相同,主要的区别在于 named.conf里的zone类型,它的type为slave,以下是一个辅域名服务器的 named.conf:
options {
directory "/var/named";
};
zone "0.0.127.in-addr.arpa" in {
type master;
file "named.local";
};
zone "." in {
type hint;
file "named.ca";
};
zone "99.cn.net" in {
type slave;
file "db.99.cn.net";
masters { 202.98.21.141; };
可以看出,这个配置文件与主域名服务器的区别,type用salve定义 该服务器为辅域名服务器,然后指出主域名服务器的 ip。但是需注意第 一个zone的type仍为master.另一个区别就是辅域名服务器的master file 不用手动建立,它自己会从主域名服务器传过来,named-xfer 缺省一次 传10个域。辅域名服务器的master file和主域名服务器的master file 基本没有什么区别。这样一个可以工作的辅域名服务器就建好了,如果这 是一个新建的辅域名服务器,那么在你启动它后很快就会看见/var/named 下多了很多master file. 
还有一点我想说明的是,如果 internet 上的域名服务器乱了,那么整个 internet 就乱了,所以维护域名的人一定要谨慎从事。因为以前在 internet上工作的都是bind4,如果你维护的域比较多,在从bind4转到 bind8时可能会为建立格式完全不同的named.conf而头痛,一个好消息是在bind8的发行版中有一个named-bootconf的shell脚本和named-bootconf.pl 的perl脚本可以帮你完成从bind4的named.boot到bind8的named.conf的转换 |
|