38 FreeBSD连载:配置缓冲或转发方式的named( 二 )


named.root文件给出了Internet上的多个根名字服务器,用于初始化named的缓冲区 。借助这些名字服务器的帮助,一台名字服务器能对整个Internet进行查询 。一般不需要改变这些文件的内容,但是如果要建设一个内部网,不与Internet连接,就不需要named.root中的这些根名字服务器的地址,而要更改为自己网络内的根名字服务器的地址 。事实上,没有任何内部网络能和Internet相比拟,需要使用多台根名字服务器来维护其域名解析系统,直接设置一台或几台名字服务器,并指定客户计算机使用这些名字服务器就满足要求了 。
zone数据文件的格式
@ IN SOA FreeBSD.example.org.cn. root.freebsd.example.org.cn.(1998012314 Serial3600 Refresh900 Retry3600000 Expire3600 ) Minimum IN NS freebsd.example.org.cn.1 IN PTR localhost.这是根据计算机的名字和域名产生的localhost.rev文件,这个文件定义了对127.0.0.0这个反向zone的反向名字解析数据,可以用于从IP地址查询主机的名字 。
第一个设置定义了一个SOA记录,这个类型的记录定义了包含一个zone的开始,并用于设置zone中数据刷新时间等参数 。在这个记录中,@代表一个zone,由于这个设置文件中没有设置它的值,那么它就是named.conf中的定义语句中zone的值,这里就为0.0.127.in-addr.arpa 。空白字符分隔之后为IN,这是用于表示定义的关键字,SOA表示这一行的类型为SOA记录,接下来的freebsd.example.org.cn.为这台主机的全名,注意,这里以 ”.” 结尾,如果在名字解析配置文件中不以点结尾,named将自动附加上当前zone的值;此后给出了一个联系用的email地址,这里为root@freebsd.expampleorg.org.cn,但是由于@在设置文件中有特殊含义,因此使用点代替;
再后面就是SOA记录的参数,这些参数使用了括号,并分在几行分别设置,这主要是为了使得设置更为清楚,将它们放在同一行内也可以 。SOA记录的参数有序列号,用于标识SOA记录数据 ── 其他名字服务器使用这个数据与自己缓冲区内的数据对比,来判断这个zone的数据是否更新,否则就没有必要传输全部zone的数据 。因此可以使用日期来表示不同的序列号,以使得更改过SOA记录之后,其他名字服务器能即使刷新数据;刷新时间 ── 用于告诉其他名字服务器何时来检查zone中的数据是否更新,这里配置为1小时(3600秒),这个时间间隔对于不经常改变的服务器来讲太小了,应该配置为一天或更大;第三个参数为连接的尝试次数;然后是过期时间,表示一旦某个zone的正式名字服务器不能提供其服务,其他名字服务器在其缓冲区中保存多久该zone的缓冲数据;最后一个参数指出其他名字服务器缓冲这个文件内容的最小时间间隔,在这个间隔内不应该刷新该zone的名字解析数据 。
当括号结束之后,这个SOA设置项就结束了 。而第二项设置定义了一个名字服务器记录,这个设置直接用空格和IN开头,表示这一项仍然使用上一项中的设置,这里就是@ 。NS代表这一项定义是名字服务器类型,最后给出了名字服务器的名字freebsd.example.org.cn.,表示这个zone的名字解析数据位于这个名字服务器中 。
第三项定义了一个反向查询指针记录PTR,第一列为1,由于没有使用点结尾,因此其全形式应为127.0.0.1,第三列PTR表示这个记录为PTR记录,是给定IP地址返回名字的查询形式,最后一列即是127.0.0.1的名字localhost 。
未完,待续 。。。

推荐阅读