c).区文件的使用:
经过上述配置后,DNS服务器还是不能够很好地工作的,在主配置文件named.conf 的最后我们看到了include "/etc/named.rfc1912.zones" , 该named.rfc1912.zones为一个区声明文件,其一部分内容为:

配置文件named.rfc1912.zones中关于根域名服务器的区文件声明
:
zone "." IN {
type hint;
file "named.ca";
};
其中"."是根域名服务器的区名;
tpye是指类型,有hint、master、slave、stub、forward四种:
I).master是指主DNS服务器,表明该区是主DNS管辖的区;
II).slave 是指辅助DNS服务器,由主DNS区域控制;
III).stub 与从区域类似,但只保存DNS服务器的名字;
IV).forward 将任何询问请求转发给其它服务器;
V).hint是根域服务器才可以使用的类型,根DNSINTERNET服务器集;
file 是指该区文件所在位置与名称,该路径都是相对路径,相对于/var/named/目录,即named.ca的实际位置是/var/named/name.ca。
区声明文件均放在/etc/目录下,而区声明选项file中指定区文件均放在/var/named/目录下:

基本的文件有:
I).正向解析数据库文件:localhost.zone,该文件用来将域名转换成IP地址,是区域文件的一部分.
II).逆向解析数据库文件:named.local,该文件用来将IP地址转换成域名,也是区域文件的一部分.
III).根域名服务器指向文件:named.ca,它用于缓存服务器的初始配置.
这次,我们可以以named.rfc1912.zones的区声明为模板自定义域名:
在虚拟的/etc/目录中编辑区声明文件:
vim named.hxmao.cn.zones
内容为:
//named.hxmao.cn.zones
//正向解析声明:
zone "hxmao.cn" IN {
type master;
file "named.hxmao.cn";
allow-update { none; };
};
//反向解析声明:
zone "136.168.192.in-addr.arpa" IN {
type master;
file "named.136.168.192";
allow-update { none; };
};
在/var/named/目录下编辑对应的区文件:
i).vim named.hxmao.cn
//正向解析文件
$TTL 3h
hxmao.cn. IN SOA ns.hxmao.cn. root@localhost. (
1 ; Serial
3h ; Refresh after 3 hours
1h ; Retry after 1 hours
1w ; Expire after 1 week
1h ) ; Negative caching TTL of 1 hour
hxmao.cn. IN NS ns.hxmao.cn.
hxmao.cn. IN MX 10 192.168.136.128
ns.hxmao.cn. IN A 192.168.136.128
mail IN A 192.168.136.128
www IN A 192.168.136.128
oa IN CNAME www
2).vim named.136.168.192
//反向解析文件
$TTL 3h
136.168.192.in-addr.arpa. IN SOA ns.hxmao.cn root@localhost. (
1 ; Serial
3h ; Refresh after 3 hours
1h ; Retry after 1 hour
1w ; Expire after 1 week
1h ) ; Negative caching TTL of 1 hour
136.168.192.in-addr.arpa. IN NS ns.hxmao.cn
128.136.168.192.in-addr.arpa. IN PTR ns.hxmao.cn
128.136.168.192.in-addr.arpa. IN PTR mail.hxmao.cn
128.136.168.192.in-addr.arpa. IN PTR
www.hxmao.cn
区文件的各项说明:
$TTL 3h
$TTL 指令要求放在文件的第一行,定义了其他DNS服务器缓存本机数据的默认时间,默认单位是秒,亦可以用h(小时),d(天),w(星期)为单位。如果本地的DNS服务器数据改变不大,可以设置为几天的默认TTL,最长为一周。但是不推荐设置TTL为0,此时会导致大量的DNS数据传输。
SOA
SOA 是 start of authority(起始授权机构)的缩写,它指出这个域名服务器是作为该区数据的权威来源。“hxmao.cn. IN SOA ns.hxmao.cn.
root@localhost.”指令中指定了负责解析hxmao.cn域的授权主机名是”ns.hxmao.cn”,授权主机名将在区域文件中解析为IP地址。IN表示属于Internet类,固定不变。root@localhost.表示负责该区的管理员的E-mail地址。每个区文件都需要一个SOA
记录,且只能有一个。
1 ; 定义序列号的值,同步辅助服务器数据时使用
3h ; 更新时间间隔值,定义该服务器的辅助DNS服务器隔多久才更新一次
1h ; 辅助DNS更新失败时,重试的时间间隔
1w ; 辅助服务器如果一直不能更新,其数据的过期时间
1h ) ; 最小的默认TTL的值,如果第一行没有$TTL,则使用该值
hxmao.cn. IN MX 10 192.168.136.128
设置了邮件服务器MX资源记录,表示发往hxmao.cn域的电子邮件都由mail.hxmao.cn邮件服务器负责处理。10为优先级数,优先级数越小,优先级越高。
ns.hxmao.cn. IN A 192.168.136.128
主机地址A(Address)资源记录是最常用的记录,它定义了DNS域名对应的ip地址信息。上面的例子中使用两种方式来定义A类资源,一种是使用相对名称,即在名称的末尾没有“.”;另外一种是有”.”的,称为完全规范域名FDQN(Fully Qualified Domain Name).这两种方式只是书写上的不同而已,使用上没有任何不同。例如:对于相对名称mail www等,bind会自动在相对名称后面加上”hxmao.cn”。
oa IN CNAME www
别名(CNAME)资源记录也被称为规范名字资源记录。CNAME允许将多个名称映射到同一台计算机上,使得某些任务更容易执行。例如,对于同时提供web服务和oa服务的计算机192.168.136.128,使用该别名后,当访问www.hxmao.cn和oa.hxmao.cn时,实际上都是访问192.168.136.128的计算机。
136.168.192.in-addr.arpa. IN NS ns.hxmao.cn
指针资源记录自能在方向解析区域文件中出现。PTR资源记录和A资源记录正好相反,它是将ip地址解析为DNS域名的资源记录。
最后编辑name.conf,把name.hxmao.cn.zone的区声明文件包含进去:

此时重启DNS服务器,同步一下配置文件:
在服务器上使用nslookup检查域名配置:

结果是成功的,但在客户机192.168.136.130上测试时,解析失败:

这是因为在name.conf的配置选项view中没有将192.168.136.0/24网段写入match-clients中,修改配置后得:


重启服务器后查询成功: