bind9详解.docx

上传人:b****3 文档编号:3877469 上传时间:2023-05-06 格式:DOCX 页数:24 大小:28.73KB
下载 相关 举报
bind9详解.docx_第1页
第1页 / 共24页
bind9详解.docx_第2页
第2页 / 共24页
bind9详解.docx_第3页
第3页 / 共24页
bind9详解.docx_第4页
第4页 / 共24页
bind9详解.docx_第5页
第5页 / 共24页
bind9详解.docx_第6页
第6页 / 共24页
bind9详解.docx_第7页
第7页 / 共24页
bind9详解.docx_第8页
第8页 / 共24页
bind9详解.docx_第9页
第9页 / 共24页
bind9详解.docx_第10页
第10页 / 共24页
bind9详解.docx_第11页
第11页 / 共24页
bind9详解.docx_第12页
第12页 / 共24页
bind9详解.docx_第13页
第13页 / 共24页
bind9详解.docx_第14页
第14页 / 共24页
bind9详解.docx_第15页
第15页 / 共24页
bind9详解.docx_第16页
第16页 / 共24页
bind9详解.docx_第17页
第17页 / 共24页
bind9详解.docx_第18页
第18页 / 共24页
bind9详解.docx_第19页
第19页 / 共24页
bind9详解.docx_第20页
第20页 / 共24页
亲,该文档总共24页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

bind9详解.docx

《bind9详解.docx》由会员分享,可在线阅读,更多相关《bind9详解.docx(24页珍藏版)》请在冰点文库上搜索。

bind9详解.docx

bind9详解

BIND配置文件详解

(二)

6.options语句

options语句的定义和使用:

options语句用来设置可以被整个BIND使用的全局选项。

这个语句在每个配置文件中只有一处。

如果出现多个options语句,则第一个options的配置有效,并且会产生一个警告信息。

如果没有options语句,则每个选项使用缺省值。

options{

[versionversion_string;]

[directorypath_name;]

[named-xferpath_name;]

[tkey-domaindomainname;]

[tkey-dhkeykey_namekey_tag;]

[dump-filepath_name;]

[memstatistics-filepath_name;]

[pid-filepath_name;]

[statistics-filepath_name;]

[zone-statisticsyes_or_no;]

[auth-nxdomainyes_or_no;]

[deallocate-on-exityes_or_no;]

[dialupdialup_option;]

[fake-iqueryyes_or_no;]

[fetch-glueyes_or_no;]

[has-old-clientsyes_or_no;]

[host-statisticsyes_or_no;]

[minimal-responsesyes_or_no;]

[multiple-cnamesyes_or_no;]

[notifyyes_or_no|explicit;]

[recursionyes_or_no;]

[rfc2308-type1yes_or_no;]

[use-id-poolyes_or_no;]

[maintain-ixfr-baseyes_or_no;]

[forward(only|first);]

[forwarders{ip_addr[portip_port];[ip_addr[portip_port];...]};]

[check-names(master|slave|response)(warn|fail|ignore);]

[allow-notify{address_match_list};]

[allow-query{address_match_list};]

[allow-transfer{address_match_list};]

[allow-recursion{address_match_list};]

[allow-v6-synthesis{address_match_list};]

[blackhole{address_match_list};]

[listen-on[portip_port]{address_match_list};]

[listen-on-v6[portip_port]{address_match_list};]

[query-source[address(ip_addr|*)][port(ip_port|*)];]

[max-transfer-time-innumber;]

[max-transfer-time-outnumber;]

[max-transfer-idle-innumber;]

[max-transfer-idle-outnumber;]

[tcp-clientsnumber;]

[recursive-clientsnumber;]

[serial-query-ratenumber;]

[serial-queriesnumber;]

[transfer-format(one-answer|many-answers);]

[transfers-innumber;]

[transfers-outnumber;]

[transfers-per-nsnumber;]

[transfer-source(ip4_addr|*)[portip_port];]

[transfer-source-v6(ip6_addr|*)[portip_port];]

[notify-source(ip4_addr|*)[portip_port];]

[notify-source-v6(ip6_addr|*)[portip_port];]

[alsonotify{ip_addr[portip_port];[ip_addr[portip_port];...]};]

[max-ixfr-log-sizenumber;]

[coresizesize_spec;]

[datasizesize_spec;]

[filessize_spec;]

[stacksizesize_spec;]

[cleaning-intervalnumber;]

[heartbeat-intervalnumber;]

[interface-intervalnumber;]

[statistics-intervalnumber;]

[topology{address_match_list}];

[sortlist{address_match_list}];

[rrset-order{order_spec;[order_spec;...]}};

[lame-ttlnumber;]

[max-ncache-ttlnumber;]

[max-cache-ttlnumber;]

[sig-validity-intervalnumber;]

[min-rootsnumber;]

[use-ixfryes_or_no;]

[provide-ixfryes_or_no;]

[request-ixfryes_or_no;]

[treat-cr-as-spaceyes_or_no;]

[min-refresh-timenumber;]

[max-refresh-timenumber;]

[min-retry-timenumber;]

[max-retry-timenumber;]

[portip_port;]

[additional-from-authyes_or_no;]

[additional-from-cacheyes_or_no;]

[random-devicepath_name;]

[max-cache-sizesize_spec;]

[match-mapped-addressesyes_or_no;]

};

version

回答针对服务器版本的请求时的内容。

缺省返回的是服务器的真实版本。

directory

服务器的工作目录。

配置文件中所有使用的相对路径,指的都是在这里配置的目录下。

大多数服务器的输出文件(如named.run)都缺省生成在这个目录下。

如果没有设定目录,工作目录缺省设置为服务器启动时的目录‘.’。

指定的目录应该是一个绝对路径。

named-xfer

这个选项已经被废弃了。

它在BIND8中,它用来给named-xfer程序设定路径名。

在BIND9中,不需要单独的named-xfer程序;它的功能已经内置在域名服务器中。

tkey-domain

这个域名将会附带在由TKEY生成的所有共享密匙名字的后面。

当用户请求进行TKEY交换时,它会为密匙设定或不设定所要求的名称。

如果设置了tkey_domain,共享密匙的名字将会是"clientspecifiedpart"(用户设定的部分)+"tkey-domain"。

否则,共享密匙的名字将是"randomhexdigits"(随机的16进制数)+"tkey-domain"。

在大多数情况下,domainname应该是服务器的域名。

tkey-dhkey

针对使用Diffie-Hellman的TKEY模式的用户,服务器用来生成共享密匙的Diffie-Hellman密匙。

服务器必须可以从工作目录中调入公共和私人密匙。

大多数情况下,密匙的名称应该是服务器的主机名。

dump-file

当执行rndcdumpdb命令时,服务器存放数据库文件的路径名。

如果没有指定,缺省名字是named_dump.db。

memstatistics-file

服务器输出的内存使用统计文件的路径名。

如果没有指定,默认值为named.memstats。

注意:

还没有在BIND9中实现!

pid-file

进程ID文件的路径名。

如果没有指定,默认为/var/run/named.pid。

pid-file是给那些需要向运行着的服务器发送信号的程序使用的。

statistics-file

当使用rndcstats命令的时候,服务器会将统计信息追加到的文件路径名。

如果没有指定,默认为named.stats在服务器程序的当前目录中。

port

服务器用来接收和发送DNS协议数据的UDP/TCP端口号。

默认为53。

这个选项主要用于服务器的检测;因为如果不使用53端口的话,服务器将不能与其它的DNS进行通讯。

random-device

服务器使用的entropy源:

entropy主要用于DNSSEC操作,如TKEY的数据交换和加密域的动态更新。

此选项指定了entropy将会从哪个设备(或文件)中读取信息。

如果它是一个文件,则当文件耗尽后,需要entropy的操作将会失败。

如果没有指定,默认值是/dev/random(或等价的),如果它存在,否则就是没有。

random-device选项是在服务器启动时,初始化配置时起作用的,在以后的重启时则被忽略。

A.Boolean选项

auth-nxdomain

如果是yes,那么AA位将一直设置成NXDOMAIN响应,甚至在服务器不是授权服务器的情况下都是这样的。

默认值是no;这与BIND8不同。

如果用户使用的是非常老版本的DNS软件,则有必要把它设置成yes。

deallocate-on-exit

此选项在BIND8中用于检查出口处内存泄露。

BIND9忽略此选项,并始终进行检查。

dialup

如果是yes,那么服务器将会像在通过一条按需拨号的链路进行域传送一样,对待所有的域(按需拨号就是在服务器有流量的时候,链路才连通)。

根据域类型的不同它有不同的作用,并将集中域的维护操作,这样所有有关的操作都会集中在一段很短的时间内完成,每个heartbeat-interval一次,一般是在一次调用之中完成。

它也禁止一些正常的域维护的流量。

默认值是no。

dialup选项也可以定义在view和zone语句中,这样就会代替了全局设置中dialup的选项。

如果域是一个主域,服务器就会对所有辅域发送NOTIFY请求。

这将激活辅域名服务器中的对域的序列号的检验。

这样当建立一个连接时,辅域名服务器才能确认这个域的传输合法性。

如果这个域是一个辅域或是末梢域(stubzone),那么服务器将会禁止通常的“zoneuptodate”(refresh)请求,为了能发送NOTIFY请求,只有在heartbeat-interval过期之后才执行。

通过下列的设置,可以实现更好的控制。

1、notify只发送NOTIFY信息。

2、notify-passive发送NOTIFY信息,并禁止普通的刷新(refresh)请求。

3、refresh禁止普通的刷新处理,当heartbeat-interval过期时才发送刷新请求。

4、passive只用于关闭普通的刷新处理。

fake-iquery

在BIND8中,此选项用来模拟陈旧的DNS查询类型IQUERY。

BIND9不再进行IQUERY模拟。

fetch-glue

这个选项以后不再使用。

has-old-clients

这个选项在BIND8中执行有问题,BIND9则忽略了这个选项。

为了达到has-old-clientsyes的预期效果,可以设定两个独立选项auth-nxdomainyes和rfc2308-type1no来代替。

host-statistics

在BIND8中,它可以保留每台和域名服务器交互的主机统计信息。

BIND9中不支持。

maintain-ixfr-base

此选项不再使用了。

在BIND8用于判定是否保存了增量域传输的处理日志。

BIND9任何可能的时候都会保存传输日志。

如果需要禁止流出的增量域传输,可以使用provide-ixfrno。

minimal-responses

如果是yes,当产生响应的时候,服务器将只会按照需要将记录添加到authority和additional的数据部分。

(例如,delegations,negativeresponses)。

这样会改善服务器的性能。

默认值为no。

multiple-cnames

这个选项在BIND8中使用,允许一个域名承认多条CNAME记录(与DNS标准相违

背)。

BIND9.2在主hosts文件和动态更新中都严格强制执行CNAME规则。

notify

如果是yes(默认),当一个授权的服务器修改了一个域后,DNSNOTIFY信息被发送出去。

此信息将会发给列在域NS记录上的服务器(除了由SOAMNAME标示的主域名服务器)和任何列在also-notify选项中的服务器。

如果是explicit,则notify将只发给列在also-notify中的服务器。

如果是no,就不会发出任何报文。

notify选项也可能设定在zone语句中,这样它就替代了options中的notify语句。

如果notify会使得辅域名服务器崩溃,就需要将此选项关闭。

recursion

如果是yes,并且一个DNS询问要求递归,那么服务器将会做所有能够回答查询请求的工作。

如果recursion是off的,并且服务器不知道答案,它将会返回一个推荐(referral)响应。

默认值是yes。

注意把recursion设为no,不会阻止用户从服务器的缓存中得到数据,它仅仅阻止新数据作为查询的结果被缓存。

服务器的内部操作还是可以影响本地的缓存内容,如NOTIFY地址查询。

rfc2308-type1

设置成yes将会使得服务器发送NS记录和关于negativeanswer的SOA记录。

默认值为no。

注:

BIND9中还不支持。

use-id-pool

此选项已经不再使用。

BIND9始终都是从池中分配请求ID的。

zone-statistics

如果是yes,缺省情况下,服务器将会收集在服务器所有域的统计数据。

这些统计数据可以通过使用rndcstats来访问,rndcstats命令可以将这些信息转储到statistics-file定义的文件中去。

use-ixfr

这个选项不再使用。

如果需要针对一个或多个特殊的服务器关闭IXFR,可以参考provide-ixfr中的内容。

provide-ixfr

参阅中关于provide-ixfr的陈述。

request-ixfr

参阅关于request-ixfr的陈述。

treat-cr-as-space

这个选项应用于BIND8中,使服务器正确处理回车(”\r”)字符,就象其它的空格或tab字符一样。

这样可以便于在unix系统上加载由NT或DOS系统生成的域文件。

在BIND9中,UNIX”的\n”和DOS的”\r\n”都可以正确处理为换新行,这个选项就被忽略了。

additional-from-auth

additional-from-cache

当回答具有additional数据的请求,或者当在CNAME和DNAME串的后面时,这些选项控制一个权威服务器的操作。

当这两个选项都被设成yes(默认状态),并且查询的是授权的数据(这个域就配置在本地服务器中)时,回答中的additional部分的数据将使用来自于其它授权域和cache。

在许多情况下这是不需要的,比如在缓存内容的正确性受到怀疑的情况下,或是在某些辅域可能被非法修改的服务器。

还有,避免对这些additional数据的搜索将会加速服务器运转。

例如,如果一个查询需要主机的MX记录,找到的记录是"MX10

",如果知道的话,的地址记录(A,A6和AAAA)也会被提供出来。

把选项设置为no,则禁止了这种操作。

这些选项用于授权的服务器,或者是授权的视图中。

把它们设成no,但没有同时设置recursionno,将会使得服务器忽略这些选项,并记录一个警告日志。

设定additional-from-cache为no实际上针对additional信息的查询和正在响应的查询,都禁止了缓存的使用。

这常常使用在一台授权的服务器中,因为在这里缓存数据的正确性非常重要。

当一台域名服务器不提供递归查询时,并且查询的名称并不在本地域中,一般会对根服务器或者其他已知的上级服务器回答"upwardsreferral(向上推荐)"。

既然在向上查询中的数据来自于缓存,那么当additional-from-cache被设定为no时,服务器就不能提供向上推荐。

相反,它会使用REFUSED(拒绝)回答这些查询。

因为向上推荐不是在用户解析过程中需要的,所以就不会出任何问题。

match-mapped-addresses

如果是yes,那么一个ipv4映射成的ipv6地址就会匹配任何地址匹配表中能匹配于对应的ipv4地址的记录。

打开这个选项,对于运行了ipv6的linux系统有时非常有用,这样通过地址映射,就可以使得ipv4的TCP连接(如域传送)实现在Ipv6的soket上,因为地址匹配列表是给Ipv4设计的。

B.转发

转发功能可以用来在一些服务器上产生一个大的缓存,从而减少到外部服务器链路上的流量。

它可以使用在和internet没有直接连接的内部域名服务器上,用来提供对外部域名的查询。

只有当服务器是非授权的,并且缓存中没有相关记录时,才会进行转发。

forward

此选项只有当forwarders列表中有内容的时候才有意义。

当值是First,默认情况下,使服务器先查询设置的forwarders,如果它没有得到回答,服务器就会自己寻找答案。

如果设定的是only,服务器就只会把请求转发到其它服务器上去。

forwarders

设定转发使用的ip地址。

默认的列表是空的(不转发)。

转发也可以设置在每个域上,这样全局选项中的转发设置就不会起作用了。

用户可以将不同的域转发到服务器上,或者对不同的域可以实现forwardonly或first的不同方式,也可以根本就不转发。

C.访问控制

可以根据用户请求使用的IP地址进行限制。

allow-notify

设定哪个主机上的辅域(不包括主域)已经进行了修改。

allow-notify也可以在zone语句中设定,这样全局options中的allow-notify选项在这里就不起作用了。

但它只对辅域有效。

如果没有设定,默认的是只从主域发送notify信息。

allow-query

设定哪个主机可以进行普通的查询。

allow-query也能在zone语句中设定,这样全局options中的allow-query选项在这里就不起作用了。

默认的是允许所有主机进行查询。

allow-recursion

设定哪台主机可以进行递归查询。

如果没有设定,缺省是允许所有主机进行递归查询。

注意禁止一台主机的递归查询,并不能阻止这台主机查询已经存在于服务器缓存中的数据。

allow-v6-synthesis

设定哪台主机能接收对ipv6的响应。

allow-transfer

设定哪台主机允许和本地服务器进行域传输。

allow-transfer也可以设置在zone语句中,这样全局options中的allow-transfer选项在这里就不起作用了。

如果没有设定,默认值是允许和所有主机进行域传输。

blackhole

设定一个地址列表,服务器将不会接收来自这个列表的查询请求,或者解析这些地址。

从这些地址来的查询将得不到响应。

默认值是none。

D.接口

接口和端口(服务器回答来自于此的询问)可以使用listen-on选项来设定。

listen-on使用可选的端口和一个地址匹配列表(address_match_list)。

服务器将会监听所有匹配地址列表中所允许的端口。

如果没有设定端口,就使用默认的53。

允许使用多个listen-on语句。

例如:

listen-on{5.6.7.8;};

listen-onport1234{!

1.2.3.4;1.2/16;};

将在5.6.7.8的ip地址上打开53端口,在除了1.2.3.4的1.2网段上打开1234端口。

如果没有设定listen-on,服务器将在所有接口上监听端口53。

listen-on-v6选项用来设定监听进入服务器的ipv6请求的端口。

服务器并不象在ipv4中那样对每个IPV6端口地址绑定一个独立的socket。

相反,它一直监听ipv6通配的地址。

这样,对于listen-on-v6语句唯一的address_match_list的参数就是:

{any;}和{none;}

多个listen-on-v6选项可以用来监听多个端口:

listen-on-v6port53{any;};

listen-on-v6port1234{any;};

要使服务器不监听任何ipv6地址,使用:

listen-on-v6{none;};

如果没有设定listen-on-v6语句,服务器将不会监听任何ipv6地址。

E.查询地址

如果服务器查不到要解析的地址,它将会查询其它域名服务器。

query-source可以用来设定这类请求所使用的地址和端口。

对于使用ipv6发送的查询,有一个独立的query-source-v6选项。

如果address是*或者被省略了,则将会使用一个通配的IP地址

(INADDRANY)。

如果port是*或者被省略了,则将会使用一个随机的大于1024的端口。

默认为:

query-sourceaddress*port*;

query-source-v6address*port*;

注:

query-source选项中设置的地址是同时用于UDP和TCP两种请求的,但是port仅仅用

于UDP请求。

TCP请求使用的是随机的大于1024的端口。

F.域传输

BIND有适当的机制来简化域传输,并限定系统传输的负载量。

下列设定应用于域传输:

also-notify

定义一个用于全局的域名服务器IP地址列表。

无论何时,当一

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2