分类:
2007-07-17 11:23:57
一个
访问控制列表:定义一个命名的IP地址匹配表,用于存取控制或其它用途。
controls
控制:宣告一个用于rndc的控制管道。
include
引用:引用 一个文件。
key
密钥:指定密钥信息,用在管理区域和使用TSIG。
logging
日志:指明哪一个服务器作日志服务器,记录哪些内容。
options
选项:服务器的全局配置选项和其它语句的默认项。
server
服务器:在一个per-server basis上设置一定的配置选项。
trusted-keys
信任的密钥:定义信任的DNSSEC 密钥。
view
View:defines a view.
zone
区域:定义一个区域。
logging 和options 语句在一个配置文件中只能有一个。
acl acl-name {
address_match_list
};
acl 语句定义一组地址匹配表到一个指定的名字中。ACL来自于缩写:Access Control Lists (ACLs).
注意一个地址匹配表必须定义成ACL然后才能使用。
以下是内置已经定义了的ACLs :
any |
任何:所有的主机 |
none |
无:不匹配任何主机 |
localhost |
本主机:IPv4地址中,本系统所有网络接口。 |
localnets |
本地网络: IPv4地址中的本地子网。 |
localhost 和localnets 在IPv6 中已经不支持了,(那是因为, localhost已经不匹配主机的IPv6地址了,localnets 也不匹配本地网络了) 因为没有标准的方法来确定本地主机的IPv6地址。
controls {
inet ( ip_addr | * ) [ port ip_port ] allow { address_match_list }
keys { key_list };
[ inet ...; ]
};
controls 语句宣告一个系统管理使用的控制通道,用于对本地域名服务器进行操作。这个控制通道用于运行rndc 程序来发送命令,并且从域名服务器中得到其它(不是域名查询的)结果。
inet 控制通道是一个监听指定的地址和TCP端口号,可以是IPv4 或者 IPv6 地址,如果 ip_addr 中有 * ,则是指IPv4 的通配符,连接会允许所有符合要求的Ipv4地址,监听IPv6 通配符地址, ip_addr的::,如果为了安全就只在本地使用rndc,使用回环地址loopback (127.0.0.1 或者 ::1)。
通过控制通道发送命令还被allow 和keys 子句限制。连接到控制通道的许可基于地址许可address_match_list,address_match_list 的key_id 会被忽略,替换为独立的key_list,通过对服务器和命令客户机之间的每条信息进行数字签名,key_list中每个key_id 都被允许使用管理命令,回应指定的控制通道。(参见Remote Name Daemon Control application 在 Section 3.4.1.2)。所有到控制通道的命令都必须使用它自己指定的密钥签名,以保证安全。
如果没有controls 语句,named进程会使用默认的控制通道,监听本地地址,(Ipv4的127.0.0.1 ,IPv6 的::1)。这种情况和有controls 语句但没有keys 子句的情况下, named 进程会尝试找rndc.key,一般在/etc目录中 (或者其它BIND建立时指定的系统目录sysconfdir)。要建立一个rndc.key 文件,运行rndc-confgen -a.
rndc.key 特性是为了从语句语法 include 语句在include语句出现的地方插入指定的文件, include 语句使管理(读或写)配置文件更容易,没有其它用途。例如,可以引用一个私钥,它只可以被域名服务器读取。 key 语句定义了一个TSIG使用的共享密钥,参见Section 4.4. key 语句可以在配置文件的最高层中出现,也可以出现在view 语句中。Key也可以在最高层定义,但用在view语句中。Key经常用在controls 语句中使用必须定义在最高层(参见 Section 6.2.4) 。 key_id,也叫密钥名(key name),它可以用在"server" 语句中,使发送请求时使用这个密钥名来加密,也可以用在地址匹配列表中,用于接收请求时用这个密钥来验证密文。 algorithm_id 是一个指定加密算法的字符串,当前只TSIG 只支持hmac-md5算法。secret_string 是被当成64位编码的加密串。include filename;
定义和使用
语句语法
key key_id {
algorithm string;
secret string;
};
定义和使用