下面以Solaris为例来说明UNIX主域服务器创建过程,对于随Solaris7、8提供的BIND 8,主要配置文件是/etc/named.conf,BIND4 以及更早的版本使用名为/etc/named.boot的配置文件。/etc/named.conf 文件负责控制DNS服务器的行为,它提供了以下关键词,用来定义操作声明: 
    acl----定义一个访问控制列表,哪些客户可以使用该服务器。 
    include ----读入一个包含声明的外部文件,该文件使用与/etc/named.conf相同的格式。这在配置文件非常大时是很有用的,可以将不同的部分分成在逻辑上相关的几个文件。 
    logging----确定在声明指定的日志文件中记录哪些服务器活动。 
    options----定义本地服务器的操作特征。 
    server----定义其他服务器的操作特征。 
    zone----创建本地DNS区域。 
    在Solaris 中,in.named为进程域名服务器。通过网络初始化脚本S72inetsvc在level 2级上启动的,启动后,它读取/etc/named.conf以获取它所管理的区域和区域数据库文件。区域文件除了包含主机名到IP地址的映射外,还包含其他内容。域名服务器的配置过程包括下列步骤: 
    1)注册一个域名 
    2)创建一个主机名和ip地址的列表 
    3)创建/etc/named.conf文件 
    4)创建区域数据文件  
  
    在区域数据文件中,信息是以特定的格式存储的。这些信息被定义为资源记录类型(RR)。常用的标准的资源记录说明如下:   
    SOA(管理开始)资源记录----在master file(就是bind4里的zone file)中用到。  
    NS(名字服务器)资源记录----列出了域或区域中的名字服务器 
    A (地址)资源记录----地址资源记录用于说明DNS 数据库中主机的IP地址。它可能即使用到绝对主机名(FQHN),也可能使用相对的主机名(短主机名)。 
    MX(邮件交换服务器)资源记录----MX资源记录负责域内的主机之间的邮件交换服务。 
    PTR(指示器)资源记录----通常用于逆向主机名的解析。 
    CNAME ---- 用于定义主机的别名。 
几个必须的配置文件 
    named.conf  
    named.ca  
    named.local  
    master file(就是bind4里的zone file) ----在本文中用study.js.cn和study.js.cn.rev 两个文件。  
    在这几个配置文件中,最主要的是named.conf,在/etc下, 它是named启动时缺省的启动文件。一个典型的named.conf文件至少包括options和zone,如:   
    ① named.conf 文件 
options {  
directory "/var/named"; //数据库文件的位置,要创建named这个目录, 
multiple-cnames yes; 
pid-file "/etc/named.pid"; 
};   
//type domin    source host/file backup file 
zone "." in {  
type hint; //这里hint表示为缓存服务器 
file "named.ca";  
};   
zone "0.0.127.in-addr.arpa" in {  
type master; //这里master表示为主dns server, 
file "named.local";  
};   
zone "study.js.cn" in {  
type master;  
file "study.js.cn "; //这里的study.js.cn就是你要创建的域,正向解析 , 
};   
zone "107.155.61.in-addr.arpa" in {  
type master;  
file "study.js.cn.rev "; // 反向解析,域为107.155.61, 
};   
    在这里面,options定义master file存放的路径,对应于某一个域, named就会到这里找数据文件,如有一个www.study.js.cn的require请求,named就会到/var/named下找study.js.cn这个文件,查出www.study.js.cn的ip。Zone定义一个域,如study.js.cn这个域,type定义域名服务器的类型,master 说明这是一个主域名服务器,第一个zone定义本地服务器为它自己的回送域的主服务器,将地址127.0.0.1映射为localhost,几乎在所有类型的域名服务器里都可以看见这个域。 
    第二个zone用来定义一个高速缓存初始化文件,在named.ca 里至少包含着根服务器的名字和地址(这些根服务器也会变化). 一般named.ca不需要修改,named.local里只需要修改SOA纪录里域和联系人。file定义study.js.cn这个域的master file。 
    在/var/named目录下创建如下几个数据库与/etc/named.conf文件中相对应文件named.ca,named.local,study.js.cn 和 study.js.cn.rev。 
    ② study.js.cn 文件 
@ IN SOA dns.study.js.cn.  
root.dns.study.js.cn. (  
2000120101 ; 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 dns 
@     IN MX 10 mail 
  
Localhost IN A 127.0.0.1  
www IN A 61.155.107.131 
dns IN A 61.155.107.131 
mail IN A 61.155.107.132 
ftp IN  CNAME  dns 
    这里面的@定义当前域,也就是study.js.cn., IN定义这是一个inter-net类型的纪录,SOA(管理开始)标志一个授权域的开始,dns.study.js.cn.为开创该域的服务器,可以用主域名服务器,root.dns.study.js.cn.定义联系人,root后的.就是email里的@,括号里的几个数字定义和本域有关的几个参数,单位是秒。        
    前四个参数用于辅域名服务器更新master file,其中;后面的是说明,serial number用于辅域名服务器判断主域名服务器的 master file是否更新,第五个参数定义这个域在其他域名服务器的cache 里的有效期,过了这个时间其他的域名服务器就会到这里来重新查询相关的信息。 
    DNS表明这个域的域名服务器是dns.study.js.cn。NS纪录可以有多个; @  IN MX 10 mail表示:所有发给当前域的邮件全部转发到服务器mail上。Localhost、www、dns和mail这四条A纪录的含义是将localhost解析到127.0.0.1 ;www.study.js.cn和dns.study.js.cn解析到61.155.107.131;将mail.study.js.cn解析到61.155.107.132,定义ftp的别名为dns。 
    ③ study.js.cn.rev 文件 
    该文件存放从IP地址到域名的映射信息,文件内容: 
@ IN SOA dns.study.js.cn. 
 root.dns.study.js.cn. ( 
  2000120101  ; Serial 
  10800  ; Refresh 
  1800  ; Retry 
  3600000  ; Expire 
  86400 ) ; Minimum 
  IN NS dns.study.js.cn. 
131  IN  PTR dns.study.js.cn. 
132  IN  PTR  mail.study.js.cn. 
   语法说明: 
   131  IN  PTR    dns.study.js.cn. 
   表示:当前域(即61.155.107)中地址为 131的服务器的域名为dns.study.js.cn. 
   132意义同上,表示的服务器的域名为mail.study.js.cn. 
   注意,此处服务器的域名要用绝对域名。 
  ④ named.ca 文件 
;       This file holds the information on root name servers needed to  
;       initialize cache of Internet domain name servers  
;       (e.g. reference this file in the "cache  .  "  
;       configuration file of BIND domain name servers).  
;  
;       This file is made available by InterNIC registration services  
;       under anonymous FTP as  
;           file                /domain/named.root  
;           on server           FTP.RS.INTERNIC.NET  
;       -OR- under Gopher at    RS.INTERNIC.NET  
;           under menu          InterNIC Registration Services (NSI)  
;              submenu          InterNIC Registration Archives  
;           file                named.root  
;  
;       last update:    Aug 22, 2000  
;       related version of root zone:   2000082200  
;  
; formerly NS.INTERNIC.NET  
;  
.                        3600000  IN  NS    A.ROOT-SERVERS.NET.  
A.ROOT-SERVERS.NET.      3600000      A     198.41.0.4  
;  
; formerly NS1.ISI.EDU  
;  
.                        3600000      NS    B.ROOT-SERVERS.NET.  
; 
; formerly NS1.ISI.EDU 
. 3600000 NS B.ROOT-SERVERS.NET. 
B.ROOT-SERVERS.NET. 3600000 A 128.9.0.107 
; 
; formerly C.PSI.NET 
.  3600000  NS  C.ROOT-SERVERS.NET. 
C.ROOT-SERVERS.NET.  3600000  A  192.33.4.12 
; 
; formerly TERP.UMD.EDU 
.  3600000  NS  D.ROOT-SERVERS.NET. 
D.ROOT-SERVERS.NET.  3600000  A  128.8.10.90 
; 
; formerly NS.NASA.GOV 
;.  3600000  NS  E.ROOT-SERVERS.NET. 
E.ROOT-SERVERS.NET.  3600000  A  192.203.230.10 
; 
; formerly NS.ISC.ORG 
.  3600000  NS  F.ROOT-SERVERS.NET. 
F.ROOT-SERVERS.NET.  3600000  A  192.5.5.241 
; 
; formerly NS.NIC.DDN.MIL 
.  3600000  NS  G.ROOT-SERVERS.NET. 
G.ROOT-SERVERS.NET.  3600000  A  192.112.36.4 
; 
; formerly AOS.ARL.ARMY.MIL 
.  3600000  NS  H.ROOT-SERVERS.NET. 
H.ROOT-SERVERS.NET.  3600000  A  128.63.2.53 
    说明:named.ca文件一般不需要修改。 
    ⑤ named.local 文件 
; SOA rec 
@ IN  SOA  dns.study.js.cn.  root.study.js.cn. ( 
    2000120101 ; serial number 
    10800 ; refresh every 3 hours 
    10800 ; retry every 3 hours 
    604800 ; expire after a week 
    86400  ; TTL of 1 day 
                                ) 
; Name Servers 
IN  NS  dns.study.js.cn. 
;ip mappings 
1  IN  PTR  localhost.study.js.cn. 
    说明:此文件无太多的意义,只定义 IP地址为127.0.0.1的服务器对应的域名为:localhost。 
与DNS配置相关的文件 
    主要包含/etc/defaultdomain、/etc/nsswitch.conf、/etc/resolv.conf 三个文件权限只需root可读即可。 
    1) /etc/defaultdomain 
    "/etc/defaultdomain"文件给出确省域名,该文件内容为域名名称,例如: 
 study.js.cn 
 表示缺省域名为" study.js.cn ",以后仅使用某个主机名时,系统假设为缺省域中的主机。例如,"ping www"将被理解为"ping www.study.js.cn "。 
    2) /etc/nsswitch.conf 
    如果使用DNS,则必须在该文件的"HOST"一项中给出"DNS"。缺省为使用文件,即"FILES",该选项可以保留。 
# /etc/nsswitch.files: 
# 
# An example file that could be copied over to /etc/nsswitch.conf; it 
# does not use any naming service. 
# 
# "hosts:" and "services:" in this file are used only if the 
# /etc/netconfig file has a "-" for nametoaddr_libs of "inet" transports. 
passwd:     files 
group:      files 
hosts:      files   dns 
networks:   files 
protocols:  files 
rpc:        files 
ethers:     files 
netmasks:   files  
bootparams: files 
publickey:  files 
# At present there isn‘t a ‘files‘ backend for netgroup;  the system will  
#   figure it out pretty quickly, and won‘t use netgroups at all. 
netgroup:   files 
automount:  files 
aliases:    files 
services:   files 
sendmailvars:   files 
hosts: files dns 表示:将使用/etc/inet/hosts文件解析主机,如果无法解析主机名将使用DNS。 
    3) /etc/resolv.conf 
    该文件给出域名和域名服务器地址。 
; /etc/resolv.conf file  
domain study.js.cn ;域名 
nameserver 61.155.107.131 ;域名服务器地址 
;域名服务器地址可以给出多个 
    至此一个基本的UNIX主域名服务器就建立好了。但需要特别说明的是,在master file里,dns.study.js.cn.后面的.,这个. 表示这是一个完整的纪录,否则服务器就会自动给你加上当前域,例如:www表示www.study.js.cn,而www.study.js.cn就会变成www.study.js.cn.study.js.cn,正确的表示方法可以是www或www.study.js.cn. 如果不给这个.足够的重视,就很容易出错。