Solaris8下DNS服务器的建立
http://bbs.chinaunix.net/viewthread.php?tid=58110
#首先大家应了解一下有关DNS服务器的知识:
DNS服务器有三种类型:主(master),从(slave),暗示(hint)服务器.
* 主名字服务器是三个中最有权威的,它拥有在这个域内所有主
机最新的记录.
* 从服务器是对主服务器的一个复制,它依靠主服务器来接收区
数据,是主名字服务器的备份.
* 暗示名字服务器包括了一个它能够收到解决查询的根名字服
务器的列表,一般是被用于大的域中来减少DNS流量.
#现在讲名字服务器的配置:
通过适当配置名字服务器的守护进程/usr/sbin/in.named.你可以
在在Solaris 8上运行主,从和暗示名字服务器.
名字服务器的配置包括两步:
第一步是生成名字服务器配置文件(/etc/named.conf);
第二步是生成包含域信息的区数据库.
名字服务器配置文件/etc/named.conf被用于为你的域指定组成区
数据库的文件.区数据库仅是一系列的文件,它们包括了你的域的系
统中关于主机名和IP地址的所有信息一个域需要最少四个文件夹来
组成一个区数据库:db.domain,db.network,db.127.0.0.0,
db.cache。
* db.domain文件包括了指定domain的从主机名到IP地址的映射;
* db.network文件包括了一个物定network从IP地址到主机名的映射。
* db.127.0.0.0文件包括了本地网络的从IP地址到主机名的映射。
* db.cache文件包括了提供缓存功能的名字服务器的从主机名到IP
地址的映射的初始列表。通常db.cache文件是根名字服务器列表
的一个拷贝,可从ftp://ftp.rs.internic.net/domain得到。
1.名字服务器配置文件/etc/named.conf的配置:
在/etc/named.conf中,基本的指示格式是:
directive {
parameter1;
…
parameterN;
};
directive是指示(或者说命令),parameter1…parameterN是指示
的参数.
常用的指示有两个ptions和zone.
* options指示的两个最常用参数是directory和pid-file.
directory参数的格式: directory "pathname";
这里,pathname是指向区数据库的路径名,即存放区数据库的目录.
pid-file参数的格式: pid-file "pathname";
这里,pathname是指向名字服务器运行时包含进程ID文件的路径
名.
* zone指示有几个重要的参数,它们基于配置指定域的名字服务的类
型.
* 配置主名字服务器时的zone指示:
zone "domain" in {
type master;
file "pathname";
};
这里,domain是一个域的FQDN(完全资格的域名),pathname
是指各特定domain所包含的数据库文件的路径.
* 配置从名字服务器时的zone指示:
zone "domain" in {
type slave;
file "pathname";
masters {address;};
};
address是主名字服务器IP地址.
* 配置暗示名字服务器时的zone指示:
zone "domain" in {
type hint;
file "db.cache";
};
下面是俺配置主名字服务器的/etc/named.conf文件:
options {
directory "/var/named";
pid-file "/etc/named.pid";
};
zone "wcycom.org" in {
type master;
file "db.wcycom";
};
zone "1.168.192.in-addr.arpa" in {
type master;
file "db.192.168.1.0";
};
#zone "0.0.127.in-addr.arpa" in {
# type master;
# file "db.127.0.0.0";
# };
zone "." in {
type hint;
file "db.cache";
};
这里我有一个问题要提出: 在我的/etc/named.conf文件中,我注
释了四行(见上),我觉得zone "0.0.127.in-addr.arpa" in {…};
没什么用处(把127.0.0.1转换成域名),而且我也测试过了,什么问题
都没有!不知大家有什么看法? 其实我是没办法才把它注释掉的!
如果不注释,我在启动/usr/sbin/in.named时,提示:
SOA for "0.0.127-in.addr.arpa" not at zone top "0.0.127
-in-addr.arpa"。不过我仔细查看了/etc/named.conf
和/var/named/db.127.0.0.0文件,实在找不到什么错误的配置.
请指教!
2.区数据库和资源记录:
区数据库是一系列的文本文件,以资源记录的方式记录包含了一个域中
机器的信息.组成一个区数据库的四个主要的文件上已提出,其中每
个数据库文件都有三个主要部分: (1)权限开始部分(SOA),相当于头;
(2)名字服务器(NS)部分,用于指定所在域的名字服务器; (3)数据库
部分,如db.domain文件的数据库部分记录了主机名到IP地址的映射.
下面是资源记录的主要类型:
*****************************************************
类型 名称 描述
*****************************************************
SOA 认证记录的起始处 为数据库文件内的信息存储定义域
NS 名字服务记录 在域内为名字服务器定义IP地址
A 地址记录 定义主机名到IP地址的映射
CNAME 标准名称 为主机定义别名
PTR 指针记录 定义IP地址到名字的反映射
*****************************************************
* SOA 资源记录:
置于每个数据库文件的开始,格式如下:
domain IN SOA origin contact (serial refresh retry expire minimum)
* domain 是名字服务器所在域的FQDN,如(wcycom.org.)。
* IN 是数据从属的数据类型,它代表Internet数据。
* SOA 是记录类型。
* origin 是名字服务器的FQHN,如(wcy.wcycom.org.)。
* contact 是管理员的Email地址,如(root.wcy.wcycom.org.),
这里@用.代替,因为@代替一个特殊的含义。
* serial 是一个数值,被从名字服务器用来刷新区数据库的拷贝,
一般格式为:
YYYYMMDDxx,其中YYYY表示年份,MM表示月份,DD表示天,
xx表示修正的次数。
* refresh 定义从服务器检测主服务器的区数据库的改变的一个时
间段,以秒为单位。仅当主名字服务器的序列号高于从名字服务
器的时数据传输才会发生。
* retry 如果区域传输失败,从服务器将会在该时间已后重试。
* expire 表示在没有向主服务器请求区域更新时,从服务器保留区
域数据的时间。
* minimum 定义区域资源记录的生命期(ttl).
* NS 资源记录:
NS记录为那些SOA记录定义的域指定的域指定了权威的名字服务
器。可有多个。
格式如下:
domain IN NS nameserve
* domain 是名字服务器所在域的FQDN,如(wcycom.org.)。
* nameserve 是指名字服务器的FQHN,如
(wcy.wcycom.org.)。
* A 和 CNAME 资源记录:
* A记录提供了从主机名到IP地址的映射,格式:
hostname IN A address
* CNAME记录用于定义别名,格式:
alias IN CNAME hostname
注意:CNAME仅定义hostname的别名,而不为主机定义一个IP
地址,因而你定义的别名对应的hostname必须有一个A记
录。
* PTR 资源记录:
PTR记录被用于反向地址解析,格式:
reverseaddr.in-addr.arpa. IN PTR hostname
以下是俺的db.domain(db.wcycom),db.network(db.192.168.1.0),db.127.0.0.0三个文件的配置:
1. db.wcycom的内容:
wcycom.org. IN SOA wcy.wcycom.org. root.wcy.wcycom.org. (
2003042701 ;Serial
10800 ;Refresh after 3 hours
3600 ;Retry after 1 hour
604800 ;Expire after 1 week
86400 ) ;Minimum TTL of 1 day
;Name Servers
&nb …
抱歉,暂停评论。