三 FreeBSD kernel 编译大法编kernel失败的处理( 四 )


根目录的方式)执行named , 所以这里是/namedb 。;
第二行指定了缓存文件 , 对于曾经访问过的域名 , 将会记录在缓存文件里面 , 以后查询的时候就会
快很多 。缓存文件的文件名是root.cache 。;
第三行指定了对于本机的域名反解文件 。0.0.127.IN-ADDR.ARPA的写法其实就是说要反过来求
127.0.0.x(x的范围是1~255)的对应名称 。相关的解释文件是localhost.rev;
第四行和第三行同理 , 就是要求192.168.32.x的对应名称 。相关的解释文件是01tech.rev;
第五行是正解 , 指定凡是域名为01tech.nat的名称都交给01tech文件进行解释 。;

第二节、配置域名解释文件;
然后 , 我们看看/var/namedb目录里面的文件的内容 , 在系统没有配置域名解释服务的时候 , 默认
只有两个文件:localhost.rev和root.cache , 其中的localhost.rev并非我们需要的内容 , 要自行改写 ,
改写后的内容如下:;
@;IN;SOA;moo.01tech.nat.;root.moo.01tech.nat.;(;
14;;Serial;
3600;;Refresh;
900;;Retry;
3600000;;Expire;
3600);;Minimum;
IN;NS;moo.01tech.nat.;
1;IN;PTR;localhost.;
解释一下这个文件的构成吧!其实这个文件由三个RR(Resource;record)构成 , 或者我们用表格的
方式来分析 , 会比较容易理解吧:;
[;name;];[;ttl;];[;class;];type;data;
@;省略;IN;SOA;……;
省略;省略;IN;NS;……;
1;省略;IN;PTR;……;
Name必须为主机名或者域名 , 当使用@时代表缩写 , 就是和named.boot文件中指定的一样 , 在这里就代
表127.0.0.x了 。;
ttl是指此条数据的有效保存期限 , 通常都忽略掉 , 采用默认的ttl值 。;
class指定网络类型 , IN代表Internet , 基本上都不会使用别的类型 。;
type常见的有SOA、NS、A、PTR、MX、CNAME等 。;
SOA(Start;Of;Authority)后面跟负责这个域的主机 , 管理员邮箱 , 序列号 , 副解释域更新间隔 , 副解
释域更新失败重试间隔 , 主解释域失败时副解释域提供数据的有效期限 , 其他域名解释服务器保留本域
名解释服务器的时间 。需要注意的是 , 在主机和管理员邮箱后一定不能缺少“.”否则系统会自动加上
完整的域名 , 例如只写moo的话 , 系统会添加为moo.01tech.nat 。所以也可以简单的把SOA语句写
作SOA;moo;root.moo;(……) 。;
NS(Name;Server)后面跟指定的提供域名解释服务的主机名;
PTR(Pointer)后面是对应于前面IP地址的名称 。;
A(Address)后面是对应于前面的名称的IP地址 。需要注意正解的A和反解的PTR的记录必须相符 , 否则会
造成DNS查询不正常 , 系统变慢 。;
CNAME用于建立别名 , 这样访问别名的时候 , 就会转为访问正式的名称 。;
MX记录的是一串目的地址列表 , 用于告诉邮件服务器传送信件的优先顺序 。;
对于A、CNAME、MX的使用方法将会在后面的正解文件中看到 , 以后将不再作出解释 。;
01tech.rev的文件内容和localhost.rev文件基本相同 , 如下:;
@;IN;SOA;moo.01tech.nat.;root.moo.01tech.nat.;(;
14;;Serial;
3600;;Refresh;
900;;Retry;
3600000;;Expire;
3600);;Minimum;
IN;NS;moo.01tech.nat.;
1;IN;PTR;moo.01tech.nat.;
01tech的内容如下:;
@;IN;SOA;moo.01tech.nat.;root.moo.01tech.nat.;(;
14;;Serial;
3600;;Refresh;
900;;Retry;
3600000;;Expire;
3600);;Minimum;
IN;NS;moo.01tech.nat.;
IN;MX;5;pop.01tech.nat.;
moo;IN;A;192.168.32.1;
www;IN;CNAME;moo;
pop;IN;CNAME;moo;
smtp;IN;CNAME;moo;
localhost.;IN;CNAME;moo;
01tech.nat.;IN;CNAME;moo;
第三节、测试DNS;
好了 , 说了一大堆的东西 , 需要好好消化 , 不过我们还是看看我们的DNS是否正常吧 , 通过以下
的命令启动named:;

推荐阅读