bind 配置文件介绍

本文介绍了BIND服务器配置文件的主要元素,如options语句、version、directory等,以及如何配置主服务器、从服务器和转发区。同时讲解了DNS数据库的构成,包括SOA、NS和A记录等资源记录类型,帮助读者掌握基本的DNS服务配置。

BIND服务器配置文件

option语句:指定全局选项,这里只介绍常用的。格式如下:
options{
option;
option;

};

version “string”; #[服务器的真实版本号] 可以将它真实地版本号隐藏
directory “path”; #[启动服务器的目录] 可以让named程序cd到这个目录(绝对路径)中。推荐/var/named
notify yes | no; [yes] #如果设为yes,并且named是一个或多个区的主服务器,那么每当区数据库有变化时,将自动通知相应区的从服务器。
recursion yes | no; [yes] #指定named是否代表客户机查询其它名字服务器。
allow-recursion {address_match_list}; # 允许递归
allow-query {address_match_list}; #指定哪些主机(或网络)可以查询这台名字服务器。
allow-transfer {address_match_listh}; #指定哪些主机(或网络)可以请求区数据的块传输。
blackhole {address_match_list}; [空] #标示出不希望与之进行通信的服务器。
acl语句:访问控制列表。
acl acl_name{
address_match_list
};

其中,有4个列表是预先定义的:any,localnets,localhost,none

zone语句:是named.conf中的核心语句。将告诉named它具有权威性的区域。并为管理每个区设置适当的选项。zone语句格式根据named在(主服务器,从服务器)中所扮演的角色不同而不同。

  1. 配置一个区的主服务器
    zone “domain_name”{
    type master;
    file “path”;
    allow-query {address_match_list}; [可选]
    allow-transfer {address_match_list}; [可选]
    allow-update {address_match_list}; [可选]
    };
  2. 配置一个区的从服务器:正常情况下,从服务器会保留区数据库的一个完整的副本。
    zone “domain_name”{
    type slave;
    file “path”;
    masters {ip_addr; ip_addr; …}; [可选]
    allow-query {address_match_list}; [可选]
    allow-transfer {address_match_list}; [可选]
    };
  3. 设置一个转发区:如果希望绕过标准的查询路径,直接把流量汇聚到该服务器上,则可以使用forward区
    zone “domain_name”{
    type forward;
    forward only | first;
    forwarders {ip_addr; ip_addr; …};
    };

DNS数据库

一个域的DNS数据库是由该域的主名字服务器的系统管理员维护的一个文本文件集合。这些文本文件成为区文件。就是你在”named.conf”中定义的file。
他们包括2种类型的项:分析器命令(如ORIGINTTL)和资源记录(Resource Records)。
资源记录的基本格式:
[name] [ttl] [class] type data
name字段:表示一个主机或者一个域。我经常在配置文件中看到“@”,其实就是代表本域。
ttl字段:以秒为单位,就是存活时间。
class字段:一般都使用“IN”,对应的是internet。
type字段:有SOA,A,NS,PTR,MX,CNAME等。
data字段:根据type字段不同而不同。
一般,一个区的资源记录写在最前面,然后是NS记录,其他顺序可以任意。
下面我将列出来一些经常用到的记录。并且结合实例说明。
(1)SOA记录:每个区仅有一个SOA记录,该区一直延伸到遇见另一个SOA记录为止。SOA记录包括区的名字,一个技术联系人和各种不同的超时值。下面是例子:
; 在named.conf中指定的zone语句中指定的名字。假设为marco.test.com
@ IN SOA ns.marco.test.com. admin.marco.test.com. (
20040701 ;Serial
8H ;Refresh, 8 hours
1H ;Retry, 1 hour
2W ;Expire, 2 weeks
1D ) ;Minimum, 1 days

详细说明:
“@”是当前区名的简写。在这里可以用marco.test.com.代替(千万不可忘了最后的”.”,后面也是)。
这里没有ttl字段。
class当然是IN了。
ns.marco.test.com.是该区的主名字服务器(注意后面的”.”)
admin.marco.test.com.是域管理员的邮箱,要把第一个”.”换成”@”。
第一个数值Serial代表这个区的序列号。可以供从服务器判断何时获取新数据的。这里我设成今天的日期。更新数据文件必须要更新这个序列号。
第二个数值Refresh指定多长时间从服务器要与主服务器经行核对。
第三个数值Retry代表如果从服务器试图检查主服务器的序列号时,主服务器没有响应,则经过这个时间后将重新进行检查。
第四个数值Expire将决定从服务器在没有主服务器的情况下权威地持续提供域数据服务的时间长短
第五个数值Minimum指高速缓存否定回答的存活时间。

(2)NS记录:识别对一个区有权威性的服务器(即所有主服务器和从服务器),并把子域委托给其他机构。
格式为:
zone [ttl] IN NS hostname
例如:
marco.test.com. 3600 IN NS ns.marco.test.com.
marco.test.com. 3600 IN NS anchor.marco.test.com.
marco.test.com. 3600 IN NS ns.marco.tj.net.

(3)A记录:是DNS数据库的核心。他们提供了以前在/etc/hosts文件中指定的主机名到IP地址的映射。一个主机必须为它的每个网络接口得到一条A记录。
格式为:
hostname [ttl] IN A ipaddr
例如:
anchor 3600 IN A 192.168.1.10
表示anchor.marco.test.com.的ip为192.168.1.10

总结

bind配置选项庞杂,如果想掌控全部的配置还是很困难的,工作中只需要记住常用的。再结合相关手册,在网上找些资料,然后根据实际需要来搭建服务器。相信不会特别困难的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值