使用BIND架设DNS服务器完全日记(三)
时间:2010-09-27 来源:morimao
(2).配置开始: 进入DNS服务器工作的虚拟根目录/var/named/chroot/下,然后开始我们的配置工作: cd /var/named/chroot/ a).由于安装了caching-nameserver,caching-nameserver包提供的功能有: I)named.caching-server.conf文件,该文件可以作为named.conf的模板文件; II).named.ca 提供了root server "hints"; III).能够缓存本地主机名和ip地址,加快本地查询效率; cd etc/ cp named.caching-nameserver.conf name.conf chown root:named name.conf 或者单纯地:chgrp named name.conf 这样我们就可以方便地编辑主配置文件name.conf了; b). 主DNS的基本配置: 定义ACL: 要注意主机访问控制列表的格式:{ Match-Address-Lists; } ,支持的格式有: IP地址:192.168.68.129 子网号:192.168.0. CIDR规范:192.168.68.0/24 使用!来禁止:!192.168.1.0/24 定义主机访问控制列表时格式非常非常严格,一个错误都不可以出现,必须注意空格,例如一个正确例子: { 192.168.0.1; 192.168.0.; !192.168.1.0/24; } 错误写法一:{192.168.0.1;} 正确改为:{ 192.168.0.1; } ——"{" 后面和"}"前面有空格 错误写法二:{ 192.168.0.1;192.168.0.0; } 正确写法:{ 192.168.0.1; 192.168.0.0; } ——不同地址以一个空格隔开 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> PS: 通常所有的acl都要放到named.conf的最开头部分,以便可以让整个配置文件都可以方便地引用这些acl定义的match list!同在模板named.conf中你会看到: listen-on port 53 { localhost;}; 但你却找不到有关localhost这个acl的定义,其实这是Bind内建的ACL,内建的ACL还有: none ——没有ip地址匹配 any ——所有ip地址都匹配 localhost ——在这个DNS服务器的所有ip都匹配 localnets ——与DNS服务器同一网段的所有ip地址都匹配 这样你会发现我定义的"myAddresses"和"localhost"的区别了,localhost代表了这个DNS服务器上所有网卡上的任何ipv4和ipv6的ip地址;myAddress更为精确,只有本地回环接口127.0.0.1与eth0的ip地址192.168.68.128; >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 定义可以访问DNS服务器的主机列表: listen-on port 53 { match-list; }; ——不要忘记了最后的";"号,整个配置文件的每行都是以";"结束的; listen-on-v6 port 53 { ::1; }; ——ipv6地址的监听端口 如果你没有定义选项 listen-on ,那么Bind默认会监听所有的网卡接口; 我的配置如下: 控制允许可以向DNS服务器提出查询请求的主机: allow-query { myAddresses; trusted; }; 如果你没有定义选项 allow-query ;那么Bind默认会允许所有的来访者都可以查询这个DNS服务器,相当于: allow-query { any; }; 控制允许可以进行迭代解析或查询的主机列表: allow-recursion { match-list; }; 如果你没有定义选项 allow-recursion ; 那么Bind默认会允许所有可以访问DNS的来访者都可以进行迭代查询 定义可以与主DNS服务器进行数据交流的辅助DNS服务器的ip地址: allow-transfer { match-list; }; 允许这些match-list中的辅助DNS与主DNS服务器进行数据的交流与传送。 例如:我的主DNS服务器192.168.68.128;辅助DNS服务器192.168.68.2,允许它们进行数据交流: allow-transfer { 192.168.68.2; };: 如果你没有定义选项 allow-transfer ;那么Bind默认会允许所有的辅助DNS服务器与主DNS服务器进行数据交流 定义主DNS服务器的对客户的请求查询失败时的行为: forwarders { match-list; }; forward first | only; 选项forwarders定义了当DNS服务器应答失败时,就将客户端的请求转发到match-list中的其他服务器; 选项forward 定义DNS服务的转发类型:first 是优先转发上述定义的DNS服务器;only是只会转发到上述定义的DNS服务器; 如果你没有定义选项 forwarders的选项 ;那么Bind默认不做任何转发动作。 主DNS的基本配置到此结束,运行命令: bind-chroot-admin –e 启用chroot功能 bind-chroot-admin –s 同步虚拟目录与实际目录的文件 service named configtest 检查一下到目前为止的配置是否出错 service named start 启动DNS服务
相关阅读 更多 +