listen-on port 53 { any; };
监听在这部主机系统上面的哪个网路介面。预设是监听在localhost,亦即只有本机可以对DNS 服务进行查询,那当然是很不合理啊!所以这里要将大括号内的资料改写成any。记得,因为可以监听多个介面,因此any 后面得要加上分号才算结束喔!另外,这个项目如果忘记写也没有关系,因为预设是对整个主机系统的所有介面进行监听的。
directory "/var/named";
意思是说,如果此档案底下有规范到正、反解的zone file 档名时,该档名预设应该放置在哪个目录底下的意思。预设放置到 /var/named/ 底下。由于chroot 的关系,最终这些资料库档案会被主动连结到/var/named/chroot/var/named/ 这个目录。
dump-file, statistics-file, memstatistics-file
与named 这个服务有关的许多统计资讯,如果想要输出成为档案的话,预设的档名就如上所述。鸟哥自己很少看这些统计资料, 所以,这三个设定值写不写应该都是没有关系的。
allow-query { any; };
这个是针对用户端的设定,到底谁可以对我的DNS 服务提出查询请求的意思。原本的档案内容预设是针对localhost 开放而已, 我们这里改成对所有的用户开放(当然啦,防火墙也得放行才行)。不过,预设DNS 就是对所有用户放行,所以这个设定值也可以不用写。
forward only ;
这个设定可以让你的DNS 伺服器仅进行forward,即使有. 这个zone file 的设定,也不会使用. 的资料, 只会将查询权交给上层DNS 伺服器而已,是cache only DNS 最常见的设定了!
forwarders { 168.95.1.1; 139.175.10.20; } ;
既然有forward only,那么到底要对哪部上层DNS 伺服器进行转递呢?那就是forwarders (不要忘记那个s) 设定值的重要性了!由于担心上层DNS 伺服器也可能会挂点,因此可以设定多部上层DNS 伺服器喔!每一个forwarder 伺服器的IP 都需要有『 ; 』来做为结尾!
allow-transfer ( none; };
是否允许来自slave DNS 对我的整个领域资料进行传送?这个设定值与master/slave DNS 伺服器之间的资料库传送有关。除非你有slave DNS 伺服器,否则这里不要开放喔!因此这里我们先设定为 none。