Bind中的 options 语句定义和用法

options 语句设立可以被整个 BIND 使用的全局选项。这个语句在每个配置文件中只有一处。如果出现多个 options 语句,则第一个 options 的配置有效,并且会产生一个警告信息。如果没有 options 语句,每个选项择使用缺省值。

一、options 语句的语法:

options {
    [ version version_string; ]
    [ directory path_name; ]
    [ named-xfer path_name; ]
    [ tkey-domain domainname; ]
    [ tkey-dhkey key_name key_tag; ]
    [ dump-file path_name; ]
    [ memstatistics-file path_name; ]
    [ pid-file path_name; ]
    [ statistics-file path_name; ]
    [ zone-statistics yes_or_no; ]
    [ auth-nxdomain yes_or_no; ]
    [ deallocate-on-exit yes_or_no; ]
    [ dialup dialup_option; ]
    [ fake-iquery yes_or_no; ]
    [ fetch-glue yes_or_no; ]
    [ has-old-clients yes_or_no; ]
    [ host-statistics yes_or_no; ]
    [ minimal-responses yes_or_no; ]
    [ multiple-cnames yes_or_no; ]
    [ notify yes_or_no | explicit; ]
    [ recursion yes_or_no; ]
    [ rfc2308-type1 yes_or_no; ] use-id-pool yes_or_no; ]
    [ maintain-ixfr-base yes_or_no; ]
    [ forward ( only | first ); ]
    [ forwarders { ip_addr [port ip_port] ; [ ip_addr [port ip_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 [ port ip_port ] { address_match_list }; ]
    [ listen-on-v6 [ port ip_port ] { address_match_list }; ]
    [ query-source [ address ( ip_addr | * ) ] [ port ( ip_port | * ) ]; ]
    [ max-transfer-time-in number; ]
    [ max-transfer-time-out number; ]
    [ max-transfer-idle-in number; ]
    [ max-transfer-idle-out number; ]
    [ tcp-clients number; ]
    [ recursive-clients number; ]
    [ serial-query-rate number; ]
    [ serial-queries number; ]
    [ transfer-format ( one-answer | many-answers ); ]
    [ transfers-in number; ]
    [ transfers-out number; ]
    [ transfers-per-ns number; ]
    [ transfer-source (ip4_addr |*) [port ip_port] ; ]
    [ transfer-source-v6 (ip6_addr | *) [port ip_port] ; ]
    [ notify-source (ip4_addr | *) [port ip_port] ; ]
    [ notify-source-v6 (ip6_addr | *) [port ip_port] ; ]
    [ alsonotify { ip_addr [port ip_port] ; [ip_addr [port ip_port] ; ... ] }; ]
    [ max-ixfr-log-size number; ]
    [ coresize size_spec ; ]
    [ datasize size_spec ; ]
    [ files size_spec ; ]
    [ stacksize size_spec ; ]
    [ cleaning-interval number; ]
    [ heartbeat-interval number; ]
    [ interface-interval number; ]
    [ statistics-interval number; ]
    [ topology { address_match_list }];
    [ sortlist { address_match_list }];
    [ rrset-order { order_spec ;
    [ order_spec ; ... ] } };
    [ lame-ttl number; ]
    [ max-ncache-ttl number; ]
    [ max-cache-ttl number; ]
    [ sig-validity-interval number ; ]
    [ min-roots number; ]
    [ use-ixfr yes_or_no ; ]
    [ provide-ixfr yes_or_no; ]
    [ request-ixfr yes_or_no; ]
    [ treat-cr-as-space yes_or_no ; ]
    [ min-refresh-time number ; ]
    [ max-refresh-time number ; ]
    [ min-retry-time number ; ]
    [ max-retry-time number ; ]
    [ port ip_port; ]
    [ additional-from-auth yes_or_no ; ]
    [ additional-from-cache yes_or_no ; ]
    [ random-device path_name ; ]
    [ max-cache-size size_spec ; ]
    [ match-mapped-addresses yes_or_no; ]
};

二、设置详解

Tips 1 :在陪你中所有string 的字样,一定要使用”,不要使用’ .

version version_string;

回答针对服务器版本的请求时的内容。缺省返回的是服务器的真实版本。

version "2017022809";
[root@localhost etc]# rndc status
version: BIND 9.11.0-P3 <id:4801fbc> (2017022809)

//默认
[root@localhost etc]# rndc status
version: BIND 9.11.0-P3 <id:4801fbc>

directory path_name;

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

directory "/usr/local/named/";

那么其他配置的路径,都是相对于这个路径的。

named-xfer path_name; – 已废弃

tkey-domain domainname; ????

这个域名将会附带在由TKEY生成的所有共享密匙名字的后面。当用户请求进行 TKEY 交换时,它会为密匙设定或不设定所要求的名称。如果设置了tkey_domain,共享密匙的名字将会是 “client specified part”(用户设定的部分)+ “tkey-domain”。否则,共享密匙的名字将是”random hex digits”(随机的 16 进制数)+ “tkey-domain”。在大多数情况下,domainname 应该是服务器的域名。

tkey-dhkey key_name key_tag; ????

针对使用Diffie-Hellman的TKEY模式的用户,服务器用来生成共享密匙的Diffie-Hellman 密匙。服务器必须可以从工作目录中调入公共和私人密匙。大多数情况下,密匙的名称应该是服务器的主机名。

dump-file path_name;

当执行rndc dumpdb命令时,服务器存放数据库文件的路径名。如果没有指定,缺省名字是named_dump.db。

dump-file "./var/named_dump.db";

在 Directory 目录下的 var下生成named_dump.db备份文件。

# rndc dumpdb

memstatistics-file path_name;

服务器输出的内存使用统计文件的路径名。如果没有指定,默认值为named.memstats。注意:还没有在 BIND9 中实现!

memstatistics-file "./var/named.memstats";

pid-file path_name;

进程ID文件的路径名。如果没有指定,默认为/var/run/named.pid。pid-file 是给那些需要向运行着的服务器发送信号的程序使用的。

pid-file "./var/named.pid";

statistics-file path_name;

当使用 rndc  stats 命令的时候,服务器会将统计信息追加到的文件路径名。如果没有指定,默认为 named.stats 在服务器程序的当前目录中。

statistics-file  "./var/named.stats";

port ip_port;

服务器用来接收和发送DNS协议数据的UDP/TCP端口号。默认为53。这个选项主要用于服务器的检测;因为如果不使用53端口的话,服务器将不能与其它的DNS进行通讯。

port 53;

Tips 1:如果设置为其他的端口,则在ping等解析请求中会失败。

random-device path_name ; ????

服务器使用的entropy源:entropy主要用于DNSSEC操作,如TKEY的数据交换和加密域的动态更新。此选项指定了entropy将会从哪个设备(或文件)中读取信息。如果它是一个文件,则当文件耗尽后,需要 entropy的操作将会失败。如果没有指定,默认值是 / dev / random(或等价的),如果它存在,否则就是没有。random – device选项是在服务器启动时,初始化配置时起作用的,在以后的重启时则被忽略。

二、Boolean选项

Tips 1:yes / true / 1 等同,no / false / 0 等同

zone-statistics yes_or_no;

默认 yes,服务器将会收集在服务器所有域的统计数据。这些统计数据 可以通过使用 rndc stats 来访问, rndc stats 命令可以将这些信息转储到 statistics-file 中 的文件中去。

zone-statistics yes;

auth-nxdomain yes_or_no; ????

如果是 yes,那么 AA位将一直设置成 NXDOMAIN响应,甚至在服务器不是授权服务器的情况下都是这样的。默认值是 no;这与 BIND8不同。如果用户使用的是非常老版本的 DNS软件,则有必要把它设置成yes。

deallocate-on-exit yes_or_no; – 已废弃

此选项在 BIND8 中用于检查出口处内存泄露。 BIND9 忽略此选项,并始终进行检查。

dialup dialup_option;

保持默认值是 no,目前仅知道yes很low low.

fake-iquery yes_or_no; – 已废弃

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

fetch-glue yes_or_no; – 已废弃

has-old-clients yes_or_no; – 已废弃

这个选项在 BIND8 中执行有问题, BIND9 则忽略了这个选项。为了达到 has-old-clients yes 的预期效果, 可以设定两个独立选项 auth-nxdomain yes 和 rfc2308-type1 no 来代替。

host-statistics yes_or_no;  – 已废弃

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

minimal-responses yes_or_no; – 已废弃

此选项不再使用了。在 BIND8 用于判定是否保存了增量域传输的处理日志。 BIND9 任 何可能的时候都会保存传输日志。如果需要禁止流出的增量域传输,可以使用 provide-ixfr no 。如果是 yes ,当产生响应的时候,服务器将只会按照需要将记录添加到 authority 和 additional 的数据部分。 (例如, delegations , negative responses ) 。这样会改善服务器的 性能。默认值为 no 。

multiple-cnames yes_or_no; – 已废弃

这个选项在 BIND8 中使用,允许一个域名承认多条 CNAME 记录(与 DNS 标准相违 背) 。 BIND9.2 在主 hosts 文件和动态更新中都严格强制执行 CNAME 规则。

notify yes_or_no | explicit;

这个设置在master / slave中使用。
如果是 yes (默认) ,当一个授权的服务器修改了一个域后, DNS NOTIFY 信息被 发送出去。此信息将会发给列在域 NS 记录上的服务器(除了由 SOA MNAME 标示的 主余名服务器)和任何列在 also-notify 选项中的服务器。 如果是 explicit ,则 notify 将只发给列在 also-notify 中的服务器。如果是 no ,就不 会发出任何报文。 Notify 选项也可能设定在 zone 语句中,这样它就替代了 options 中的 notify 语句。 如果 notify 会使得辅域名服务器崩溃,就需要将此选项关闭。

recursion yes_or_no;

这个设置特别常用,一般也都设置为yes。不过默认的也是yes,呵呵!!
如果是 yes ,并且一个 DNS 询问要求递归,那么服务器将会做所有能够回答查询请求 的工作。 如果 recursion 是 off 的, 并且服务器不知道答案, 它将会返回一个推荐 ( referral ) 响应。默认值是 yes 。注意把 recursion 设为 no; 不会阻止用户从服务器的缓存中得到数 据,它仅仅阻止新数据作为查询的结果被缓存。服务器的内部操作还是可以影响本地 的缓存内容,如 NOTIFY 地址查询。

rfc2308-type1 yes_or_no; ] use-id-pool yes_or_no; -已作废

设置成 yes 将会使得服务器发送 NS 记录和关于 negative answer 的 SOA 记录。默认值 为 no 。 注: BIND9 中还不支持。

maintain-ixfr-base yes_or_no; - 已作废

此选项不再使用了。在 BIND8 用于判定是否保存了增量域传输的处理日志。 BIND9 任 何可能的时候都会保存传输日志。如果需要禁止流出的增量域传输,可以使用 provide-ixfr no 。

use-ixfr yes_or_no ;  - 已作废

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

provide-ixfr yes_or_no;

request-ixfr yes_or_no;

treat-cr-as-space yes_or_no ; -已作废

这个选项应用于 BIND8 中,使服务器正确处理回车( ”\r” )字符,就象其它的空格或 tab 字符一样。这样可以便于在 unix 系统上加载由 NT 或 DOS 系统生成的域文件。在 BIND9 中 ,UNIX” 的 \n” 和 DOS 的 ”\r\n” 都可以正确处理为换新行,这个选项就被忽略了 .

additional-from-auth yes_or_no ;
additional-from-cache yes_or_no ;

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

当这两个选项都被设成 yes( 默认状态 ) ,并且查询的是授权的数据(这个域就配置 在本地服务器中) 时, 回答中的 additional 部分的数据将使用来自于其它授权域和 cache 。 在许多情况下这是不需要的,比如在缓存内容的正确性受到怀疑的情况下,或是在某 些辅域可能被非法修改的服务器。还有,避免对这些 additional 数据的搜索将会加速服 务器运转。

例如,如果一个查询需要主机 foo.example.com 的 MX 记录,找到的记录是 “MX 10 mail.example.net” ,如果知道的话 , mail.example.net 的地址记录 (A,A6 和 AAAA) 也会被 提供出来。把选项设置为 no ,则禁止了这种操作。

这些选项用于授权的服务器,或者是授权的视图中。把它们设成 no ,但没有同时 设置 recursion no ,将会使得服务器忽略这些选项,并记录一个警告日志。

设定 additional-from-cache 为 no 实际上针对 additional 信息的查询和正在响应的查 询,都禁止了缓存的使用。这常常使用在一台授权的服务器中,因为在这里缓存数据 的正确性非常重要。

当一台域名服务器不提供递归查询时,并且查询的名称并不在本地域中,一般会 对根服务器或者其他已知的上级服务器回答 “upwards referral( 向上推荐 )” 。既然在向上 查询中的数据来自于缓存,那么当 additional-from-cache 被设定为 no 时,服务器就不能 提供向上推荐。相反,它会使用 REFUSED( 拒绝 ) 回答这些查询。因为向上推荐不是在 用户解析过程中需要的,所以就不会出任何问题。

match-mapped-addresses yes_or_no;

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

 三、转发

转发功能可以用来在一些服务器上产生一个大的缓存,从而减少到外部服务器链路上 的流量。它可以使用在和 internet 没有直接连接的内部域名服务器上,用来提供对外部域名 的查询。只有当服务器是非授权的,并且缓存中没有相关记录时,才会进行转发。

forward ( only | first );

此选项只有当 forwarders 列表中有内容的时候才有意义。当值是 First ,默认情况下,使 服务器先查询设置的 forwarders ,如果它没有得到回答,服务器就会自己寻找答案。如 果设定的是 only ,服务器就只会把请求转发到其它服务器上去。

forwarders { ip_addr [port ip_port] ; [ ip_addr [port ip_port] ; … ] };

设定转发使用的 ip 地址。默认的列表是空的 ( 不转发 ) 。转发也可以设置在每个域上, 这样全局选项中的转发设置就不会起作用了。用户可以将不同的域转发到服务器上, 或者者对不同的域可以实现 forward only 或 first 的不同方式,也可以根本就不转发。

Tips 1:使用方法可以参考:Bind中的zone语句的定义和用法

四、访问控制

allow-notify { address_match_list };

设定哪个主机上的辅域(不包括主域)已经进行了修改。 allow-notify 也可以在 zone 语 句中设定,这样全局 options 中的 allow-notify 选项在这里就不起作用了。但它只对辅域 有效。如果没有设定,默认的是只从主域发送 notify 信息。

allow-query { address_match_list };

设定哪个主机可以进行普通的查询。 allow-query 也能在 zone 语句中设定,这样全局 options 中的 allow-query 选项在这里就不起作用了。默认的是允许所有主机进行查询。

Tips 1:使用方法可以参考:Bind中定义和使用访问控制列表(ACL)

allow-transfer { address_match_list };

设定哪台主机允许和本地服务器进行域传输。 allow-transfer 也可以设置在 zone 语句中, 这样全局 options 中的 allow-transfer 选项在这里就不起作用了。如果没有设定,默认值 是允许和所有主机进行域传输。

Tips 1:使用方法可以参考:Bind中定义和使用访问控制列表(ACL)
Tips 2:使用方法可以参考:Bind中的zone语句的定义和用法

allow-recursion { address_match_list };

设定哪台主机可以进行递归查询。如果没有设定,缺省是允许所有主机进行递归查询 的。注意禁止一台主机的递归查询,并不能阻止这台主机查询已经存在于服务器缓存 中的数据。

Tips 1:使用方法可以参考:Bind中定义和使用访问控制列表(ACL)

allow-v6-synthesis { address_match_list };

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

blackhole { address_match_list };

设定一个地址列表,服务器将不会接收来自这个列表的查询请求,或者解析这些地址。 从这些地址来的查询将得不到响应。默认值是 none 。

Tips 1:使用方法可以参考:Bind中定义和使用访问控制列表(ACL)

 五、接口

listen-on [ port ip_port ] { address_match_list };
listen-on-v6 [ port ip_port ] { address_match_list };

接口和端口 ( 服务器回答来自于此的询问 ) 可以使用 listen-on 选项来设定。 listen-on 使用 可选的端口和一个地址匹配表列( address_match_list ) 。服务器将会监听所有匹配地址表列 中所允许的端口。如果没有设定端口,就将使用 53 。允许使用多个 listen-on 语句。

例如 :

listen-on { 5.6.7.8; };
listen-on port 1234 { !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-v6 port 53 { any; }; 
listen-on-v6 port 1234 { any; };

要使服务器不监听任何 ipv6 地址,使用: listen-on-v6 { none; };
如果没有设定 listen-on-v6 语句,服务器将不会监听任何 ipv6 地址。

六、查询地址

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

如果服务器查不到要解析的地址,它将会查询其它域名服务器。 query-source 可以用来 设定这类请求所使用的地址和端口。对于使用 ipv6 发送的查询,有一个独立的 query-source-v6 选项。如果 address 是 * 或者被省略了,则将会使用一个通配的 IP 地址 (INADDR ANY) 。如果 port 是 * 或者被省略了,则将会使用一个随机的大于 1024 的端口。 默认为 :

query-source address * port *; 
query-source-v6 address * port *;

注: query-source 选项中设置的地址是同时用于 UDP 和 TCP 两种请求的,但是 port 仅仅用 于 UDP 请求。 TCO 请求使用的是随机的大于 1024 的端口。

七、域传输

BIND 有适当的机制来简化域传输, 并限定系统传输的负载量。 下列设定应用于域传输 :

also-notify { ip_addr [port ip_port] ; [ip_addr [port ip_port] ; … ] };

定义一个用于全局的域名服务器 IP 地址列表。无论何时,当一个新的域文件被调入系 统,域名服务器都会向这些地址,还有这些域中的 NS 记录发送 NOTIFY 信息。这有 助于更新的域文件集快在相关的域名服务器上收敛同步。 如果一个 also-notify 列表配置 在一个 zone 语句中,全局 options 中的 also-notify 语句就会在这里失效。当一个 zone-notify 语句被设定为 no ,系统就不会向在全局中 also-notify 列表中的 IP 地址发送 NOTIFY 消息。缺省状态为空表 ( 没有全局通知列表 ) 。

max-transfer-time-in number;

比设定时间更长的进入的域传输将会被终止。默认值是 120 分钟 (2 小时 ) 。

max-transfer-time-out number;

运行时间比设定的时间长的发出的域传输将会被终止。默认为 120 分钟 (2 小时 ).

max-transfer-idle-in number;

在设定时间下没有任何进展的进入域传输将会被终止。默认为 60 分钟 (1 小时 ) 。

max-transfer-idle-out number;

在设定时间下没有任何进展的发出的域传输将会被终止。默认为 60 分钟 (1 小时 ) 。

serial-query-rate number;

辅域名服务器将会定时查询主域名服务器,来确定域的串号是否改变。每个查询将会 占用一些辅域名服务器网络带宽。为限制占用的带宽, BIND9 可以限制每个查询发送 的频率。 serial-query-rate 的值是一个整数,就是每秒能发送的最大查询数。默认值为 20 。

serial-queries number;  -已作废

在 BIND8 中 , serial-queries 选项设定了在任何时候允许达到的最大的并发查询数。 BIND9 不限制串号查询的数量并忽略了 serial-queries 选项。它会使用 serial-query-rate 选项来限制查询的频率。

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

域传输可以用两种不同格式, one-answer 和 many-answer 。 transfer-format 选项使用在主 域名服务器上,用来确定发送哪种格式。 one-answer 在每个资源记录传输中使用一个 DNS 消息。 many-answer 则将尽可能多的资源记录集中在一个消息中。 many-answer 是 更加有效的,但只有相对比较新的辅域名服务器才支持它,如 BIND9 、 BIND8.x 和打了补丁的 BIND4.9.5 。默认的设置为 many-answer 。使用 server 语句中的相关选项,可 以替代全局选项中的 transfer-format 设置。

transfers-in number;

可以同时运行的进入的域传输的最大值。默认值为 10 。增加 transfers-in 的值,可以加 速辅域的收敛速度,但也可能增加本地系统的负载。

transfers-out number;

可以同时运行的发出的传输的最大值。超过限定的域传输请求将会被拒绝。默认值为 10 。

transfers-per-ns number;

从一台指定的远程域名服务器,同时进行的进入的域传输的最大值。默认值 2 。增加 transfers-per-ns 的值,会加速辅域的收敛速度,但也可能增加远程系统的负载。使用 server 语句中的 transfer 短语可以替代全局选项中的 transfers-per-ns 。

transfer-source (ip4_addr |*) [port ip_port] ;

transfer-source 决定在从外部域名服务器上得到域传送数据时,选哪个本地的 ip 地址使 用在 IPV4 的 TCP 连接中。它可以选定 IPV4 的源地址,和可选的 UDP 端口,用于更 新的查询和转发的动态更新。不过不做设置,它会缺省挑选一个系统中的地址 ( 常常是 最靠近远终端服务器的接口地址 ) 。但这个地址必须已经配置在远终端的 allow-tranfer 选项中, 才能进行域传送。 此语句为所有的域设定了 transfer-source , 但如果 view 或 zone 中也使用了 transfer-source 语句,则全局选项中的配置就在这里失效了。

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

和 transfer-source 一样,只是域传输是通过 IPV6 执行的。

notify-source (ip4_addr | *) [port ip_port] ;

notify-source 确定使用哪些本地的源地址和可选的 UDP 端口, 用于发送 NOTIFY 消息。 这个地址必须在辅域名服务器的 master 域或在 allow-notify 中设置。它会为所有域设定 notify-source, 但如果 view 或 zone 中也使用了 notify-source 语句, 则全局选项中的配置 就在这里失效了。

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

与 notify-source 类似,但应用于 ipv6 地址的 notify 报文的发送。

 八、操作系统资源限制

可以限制服务器对许多系统资源的使用。这些就是通过调节资源限制的数值来完成的。 例如, 1G 可以代替 1073741824 ,限定一个十亿字节的限制。 Unlimited 要求不限制使用, 或者最大可用量。 Default 将会使用服务器启动时的缺省值。

下列选项设定了域名服务器进程的操作系统资源占用限制。一些操作系统可能不支持一些 或所有的限制。在这样的系统中,当使用不被支持的限制时,会产生一个告警。

coresize size_spec ;

core dump 文件的最大值尺寸。默认值为 default

datasize size_spec ;

服务器可以使用的最大数据内存量。默认值为 default 。这是一个在服务器系统内存中 已经设置了的参数。如果服务器要超过这个限制的内,则会失败,这将使服务器不能 提供 DNS 服务。所以,这个选项作为一种限制服务器所使用的内存量的方式就不太有 效,但是它能够将操作系统设置的太小的缺省数据尺寸增大。如果要限制服务器使用 的内存量,可以使用 max-cache-size 和 recursive-clients 选项。

files size_spec ;

服务器可以同时打开的最大文件数。默认是 unlimited 。

stacksize size_spec ;

服务器可以使用最大的堆栈内存量。默认值为 default.

 九、服务器资源限制

tcp-clients number;

服务器同时接受的 TCP 连接的最大数量,默认值 100

recursive-clients number;

服务起同时为用户执行的递归查询的最大数量。默认值 1000 ,因为每个递归用户使用 许多位内存,一般为 20KB ,主机上的 recursive-clients 选项值必须根据实际内存大小 调整。

max-ixfr-log-size number;  - 已作废

此选项比较老;它由 BIND8 兼容接受或者忽略。

max-cache-size size_spec ;

服务器缓冲使用的最大内存量,用比特表示。但在缓存数据的量达到这个界限,服务 器将会使记录提早过期这样限制就不会被突破。在多视图的服务器中,限制分别使用 于每个视图的缓存。默认值没有限制,意味着只有当总的限制被突破的时候记录才会 被缓存清除。

 十、周期性任务间隔

cleaning-interval number;

服务器将在 cleaning-interval 的每一时间中从缓存中清除过期的资源记录。默认为 60 分钟,如果设置为 0 ,就不会有周期性清理。

heartbeat-interval number;

服务器将会为所有标记 dialup 的域运行维护任务,无论它的间隔在何时到期。默认为 60 分钟,合理值不超过 1 天 (1440 分钟 ) 。如果设定为 0, 不会为这些域产生域维护。

interface-interval number;

服务器将在每个 interface-interval 时间扫描网络接口表。 默认为 60 分钟。 如果设置为 0 , 仅当配置文件被加载时才会进行接口扫描。在扫描之后,所有新接口上的监听器将会 被打开 (listen-on 配置使用的接口 ) 。关闭接口上的监听器将会被清除 .

statistics-interval number; -已作废

域名服务器统计将会在每个 statistics-interval 时刻被记入日志。默认值 60 分钟,如果设 为 0 , 就没有统计数据记入日志。 注意 :BIND9 不支持

 十一、拓扑

topology { address_match_list } -  已作废

注意: BIND9 不支持拓扑选项

十二、调谐

lame-ttl number;

设定缓存有问题服务器指示的秒数。 0 使不缓存 ( 不被推荐 ) 。默认值 600(10 分钟 ) 。最 大值 1800(30 分钟 ) 。

TIps 1:参考文章:Bind中的zone语句的定义和用法

max-ncache-ttl number;

为降低网络流量和提升服务器存储否定回答的性能。 max-ncache-ttl 以秒为单位设定这 些回答的保存时间 . 默认 max-ncache-ttl 是 10800 秒 (3 小时 ) 。 max-ncache-ttl 不能超过 7 天,如果设成一个更大的值,则将会被自动减为 7 天。

TIps 1:参考文章:Bind中的zone语句的定义和用法

max-cache-ttl number;

max-cache-ttl 设定了服务器储存普通 ( 肯定 ) 答案的最大时间。默认值一周 (7 天 )

TIps 1:参考文章:Bind中的zone语句的定义和用法

sig-validity-interval number ;

设定未来作为动态更新结果的自动生成的 DNSSEC 信号过期的天数。默认是 30 天。信 号的初始时间无条件设为在当前时间的前一个小时,以允许一个有限的时钟偏差。

min-roots number;  - 已作废

一个请求要求的最小的根服务器数量。默认为 2 。 注意 : 不被 BIND9 支持

min-refresh-time number ;
max-refresh-time number ;
min-retry-time number ;
max-retry-time number ;

这些选项控制了服务器在更新一个域 ( 询问 SOA 变化 ) 或者重试失败的传输时的状 态。通常域的 SOA 值 ( 但是这些值是由主服务器设定的 ) 几乎不给此级服务器管理者对 它们内容的控制。

这些选项允许管理者为每域,每个视图或者全局设定一个最小或者最大更新和重 试时间。这些选项对于此级和根域是有效的并且设定 SOA 更新和重试时间。

TIps 1:参考文章:Bind中的zone语句的定义和用法

 十三、其他

check-names ( master | slave | response )( warn | fail | ignore ); – 已作废

sortlist { address_match_list };

rrset-order { order_spec ; order_spec ; … ] } };

相关文章:

Bind中的 options 语句定义和用法》上有1条评论

  1. Pingback引用通告: Bind的安装与详细配置 | 精彩每一天

发表评论

电子邮件地址不会被公开。 必填项已用*标注

您可以使用这些HTML标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>