Bind_config
⚙️ 返回配置页
named. conf
下面罗列出/etc/named/named. conf 中使用的常用配置语句。
named. conf 中使用的常用配置语句:
| acl | 定义访问控制列表,参考 acl |
|---|---|
| controls | 定义 rndc 命令使用的控制通道,若省略此句,则只允许经过 rndc. Key 认证的 127.0.0.1 的 rndc 控制,参考 rndc |
| include | 将其他文件包含到本配置文件当中 |
| key | 定义用于 TSIG 的授权密钥 |
| logging | 定义日志的记录规范,参考 BIND 9 的高级配置的 “BIND 日志部分” |
| lwres | 将 named 同时配置成一个轻量级的解析器 |
| options | 定义全局配置选项 |
| trusted-keys | 为服务器定义 DNSSEC 加密密钥 |
| server | 设置每个服务器的特有的选项 |
| view | 定义域名空间的一个视图,参考 BIND 9 的高级配置的 “View 语句部分” |
| zone | 定义一个区声明 |
下面对 named. conf 中常用的语句作进一步的说明。
Include
Include 语句的功能为:将指定的文件引入 named. conf 主配置文件。
语法为:
include "path";
建议使用绝对路径
若使用相对路径,则相对于 directory 选项指定的目录
Options
Options 用于定义全局配置选项,语法为:
options {
配置子句;
配置子句;
};
下面列出一些常用的全局配置子句。
| 子句 | 说明 |
|---|---|
| directory “path” | 定义服务器区数据库文件的工作目录,配置文件中所有使用的相对路径,指的都是在这里配置的目录下。Ubuntu 默认为 /var/cache/bind |
| notify yes/no | 若 named 是主服务器,当区数据库变化时将自动通知相应区的从服务器,默认为 yes |
| recursion yes/no | 是否使用递归式 DNS 服务器,默认为 yes |
| transfer-format one-answer/many-anser | 设置从主服务器向从服务器复制数据的方式,使用在主域名服务器上,是否允许在一条消息中放入多条应答信息,默认值为 many-answer |
| forwarders | 设置全局转发器,列出要用作转发器的服务器 IP 地址 |
| forward only/first | 若值为 only,则服务器缓存数据并查询转发器,但从不查询其他的任何服务器,若转发器不能响应查询则查询失败;若值为 first,则在转发查询失败或没有查到结果时,会在本地发起正常查询。默认为 first |
Zone 区声明是配置文件中最重要的部分。Zone 语句的格式为:
zone "zone-name" IN {
type 子句;
file 子句;
其他子句;
};
下面列出一些常用的 zone 配置子句。
| 子句 | 说明 |
|---|---|
| type master/slave/hint/forward | master:说明一个区为主域名服务器;slave 说明一个区为辅助域名服务器;hint:说明一个区为根服务器的线索;forward:说明一个区为转发区 |
| file “filename” | 说明一个区的域信息源数据库信息文件名 |
| allow-update | 是否允许主机动态更新 dns |
正反解析
常用的资源记录:
SOA 资源记录
SOA RR 用于标示一个区的开始,其格式如下:
zone IN SOA Hostname Contact (
SerialNumber
Refresh
Retry
Expire
Minimum )
SOA 记录的数据说明
Hostname
存放本 Zone 的域名服务器的主机名
Contact
管理域的管理员的邮件地址
SerialNumber
本区配置数据的序列号,用于从服务器判断何时获取最新的区数据
Refresh
辅助域名服务器多长时间更新数据库
Retry
若辅助域名服务器更新数据失败,多长时间再试
Expire
若辅助域名服务器无法从主服务器上更新数据,原有的数据何时失效
Minimum
设置被缓存的否定回答的存活时间
如下示例:
kevin.cn. IN SOA wang.kevin.cn. root.wang.kevin.cn. (
2006063000 ;序列号
3H ;3小时后刷新
15M ;15分钟后重试
1W ;1星期后过期
1D ) ;否定缓存TTL为1天
对 Contact 来说,因为“@”在文件中有特殊含义,所以邮件地址 [email protected] 写为 root. Wang. Kevin. Cn.
对 SerialNumber 来说,它可以是 32 位的任何整数,每当更新区文件时都应该增加此序列号的值,否则 named 将不会把区的更新数据传送到从服务器
缓存时间字段 Refresh、Retry、Expire、Minimum 可以使用时间单位字符 m、h、d、w 分别表示分钟、小时、天、星期。
各个缓存时间字段的经验值为:
Refresh — 1 到 6 小时
Retry — 20 到 60 分钟
Expire — 1 周到 1 月
Minimum — 1 到 3 小时
Minimum 设置被缓存的否定回答的存活时间,而肯定回答(即真实记录)的默认值是在区文件开始处用 $TTL 语句设置的。
NS 资源记录
NS RR 用于标识一个区的权威服务器(包括主服务器和从服务器),并将子域授权赋予其他服务器,其格式如下:
zone [ttl] IN NS hostname
Kevin. Cn. IN NS wang. Kevin. Cn.
——>指定 kevin. Cn. 的主服务器
Kevin. Cn. IN NS dapper. Kevin. Cn.
——>指定 kevin. Cn. 的从服务器
Osmond. Kevin. Cn. IN NS ubuntu. Osmond. Kevin. Cn.
——>指定委派域 osmond. Kevin. Cn. 的主服务器
Osmond. Kevin. Cn. IN NS dapper. Osmond. Kevin. Cn.
——>指定委派域 osmond. Kevin. Cn. 的从服务器
若上面的记录紧跟在 SOA 记录后,也可以写成如下的形式:
IN NS wang. Kevin. Cn.
指定 kevin. Cn. 的主服务器
IN NS dapper. Kevin. Cn.
——>指定 kevin. Cn. 的从服务器
Osmond IN NS ubuntu. Osmond. Kevin. Cn.
——>指定委派域 osmond. Kevin. Cn. 的主服务器
Osmond IN NS dapper. Osmond. Kevin. Cn.
——>指定委派域 osmond. Kevin. Cn. 的从服务器
A 资源记录
A RR 是 DNS 数据库的核心,它提供了主机名到 IP 地址的映射。其格式为:
hostname [ttl] IN A IPAddress
对于 kevin.cn 区来说, 如下示例:
wang IN A 192.168.0.251
也可以写成如下的形式:
wang.kevin.cn. IN A 192.168.0.251
对于有多个网络接口的计算机来说,可以使用多条 A RR 分别设置每个网络接口上的主机名与 IP 地址的映射。
当然多个 IP 地址也可以关联同一个主机名。类似地,也可以使用多条 PTR RR 分别设置每个网络接口上的 IP 地址与主机名的映射。
PTR 资源记录
PTR RR 提供了 IP 地址到主机名的映射。其格式为:
IPAddress [ttl] IN PTR hostname
例如: 在 168.192.in-addr.arpa 区中,前面的 wang.kevin.cn. 所对应的 PTR 记录为:
251.0 IN PTR wang. Kevin. Cn.
而在 0.168.192.in-addr.arpa 区中,前面的 wang.kevin.cn. 所对应的 PTR 记录为:
251 IN PTR wang. kevin. cn.
在 PTR RR 中 hostname 应该使用全域名。
PTR RR 所提供的反向解析能够为任何对进入网络的请求进行认证的程序所使用,这些程序包括:sshd、tcpd、sendmail、syslogd 等。
MX 资源记录
MX RR 用于邮件系统实现邮件路由 。 其格式为:
zone [ttl] IN MX preference host
其中 preference 是优先级字段,数值越小优先级越高。
示例如下:
kevin.cn. IN MX 5 wang.kevin.cn.
kevin.cn. IN MX 10 wang.kevin.cn.
CNAME 资源记录
CNAME RR 用于设置主机的别名。 其格式为:
nikename [ttl] IN CNAME hostname
示例如下:
wang IN A 192.168.0.251
www IN CNAME wang
ftp IN CNAME wang
文件内必须有规范名字的 A RR。
本文章来源