Chinaunix首页 | 论坛 | 博客
  • 博客访问: 4157607
  • 博文数量: 601
  • 博客积分: 15410
  • 博客等级: 上将
  • 技术积分: 6884
  • 用 户 组: 普通用户
  • 注册时间: 2007-05-16 08:11
个人简介

独学而无友,则孤陋而寡闻!

文章分类

全部博文(601)

文章存档

2020年(1)

2018年(4)

2017年(7)

2016年(42)

2015年(25)

2014年(15)

2013年(36)

2012年(46)

2011年(117)

2010年(148)

2009年(82)

2008年(37)

2007年(41)

分类:

2007-09-14 16:06:57

下面列出 /etc/bind/named.conf 中使用的常用配置语句。

named.conf 中使用的常用配置语句

acl 定义访问控制列表,参考
controls 定义 rndc 命令使用的控制通道,若省略此句,则只允许经过 rndc.key 认证的 127.0.0.1 的 rndc 控制,参考
include 将其他文件包含到本配置文件当中
key 定义用于 TSIG 的授权密钥
logging 定义日志的记录规范,参考 的 “BIND 日志部分”
lwres named 同时配置成一个轻量级的解析器
options 定义全局配置选项
trusted-keys 为服务器定义 DNSSEC 加密密钥
server 设置每个服务器的特有的选项
view 定义域名空间的一个视图,参考 的 “View 语句部分”
zone 定义一个区声明
  • Ubuntu 将 options 语句分离放置于 /etc/bind/named.conf.options 文件中。
  • Ubuntu 将本机解析的权威区的声明语句 zone 放置于 /etc/bind/named.conf.local 文件中。

此文件可以使用三种风格的注释:

  • /* C 语言风格的注释 */
  • // C++ 语言风格的注释
  • # Shell 语言风格的注释

下面对常用的语句作进一步的说明。

include 语句的功能为:将指定的文件引入 named.conf 主配置文件。语法为:

include "path";
  • 建议使用绝对路径
  • 若使用相对路径,则相对于 directory 选项指定的目录

options 用于定义全局配置选项,语法为:

options {
配置子句;
配置子句;
};

下面列出一些常用的全局配置子句。

子句 说明
directory “path” 定义服务器区数据库文件的工作目录,配置文件中所有使用的相对路径,指的都是在这里配置的目录下。Ubuntu 默认为 /var/cache/bind
notify yes/no named 是主服务器,当区数据库变化时将自动通知相应区的从服务器,默认为 yes
recursion yes/no 是否使用递归式

zone 区声明是配置文件中最重要的部分。Zone 语句的格式为:

zone  “zone-name” IN {
type 子句;
file 子句;
其他子句;
};

下面列出一些常用的 zone 配置子句。

子句 说明
type master/slave/hint/forward 说明一个区的类型。master:说明一个区为主域名服务器;slave说明一个区为辅助域名服务器;hint:说明一个区为根服务器的线索;forward:说明一个区为转发区
file “filename” 说明一个区的域信息源数据库信息文件名

一个域的

标准资源记录的基本格式是:

[name]		[ttl]		[class]		type		data

各个字段之间由空格或制表符分隔,字段可以包含如下的特殊字符:

  • ; — 引出注释
  • @ — 表示当前域
  • () — 允许数据跨行,通常用于 SOA 记录
  • * — 仅用于 name 字段的通配符

name 字段说明资源记录引用的对象名,可以是一台单独的主机也可以是个域名。

  • 对象名可以是相对域名或全域名,全域名应该以“.”结束
  • 若几条连续的 RR 记录涉及同一个对象名,则第一条 RR 记录后的 RR 记录可以省略对象名
  • 若出现字段名字段,则必须出现在第一个字段

关于相对域名和全域名:

举例来说,在 ubuntu.org.cn 域中,相对域名 osmond 与全域名 osmond.ubuntu.org.cn. 等效;而 osmond.ubuntu.org.cn 由于没有以“.”结尾,被认为是一个相对域名,与其等效的全域名为 osmond.ubuntu.org.cn.ubuntu.org.cn.。因此在书写对象名时要特别小心。

ttl(time to live) 字段是一个寿命字段。它以秒为单位定义该资源记录中的信息存放在高速缓存中的时间长度。通常省略该字段,而使用位于文件开始处的 $TTL 语句所指定值。

class 字段用于指定网络类型,可选的值有:IN、CH 和 HS,其中 IN (Internet)是广泛使用的一种。虽然 IN 是该字段的默认值,但通常我们会显示地指出。

type 字段用于说明 RR 的类型。常用的 RR 类型如下:


类型 说明
区记录 SOA (Start Of Authority) SOA 记录标示一个授权区定义的开始。SOA 记录后的所有信息是控制这个区的

NS (Name Server) 标识区的域名服务器以及授权子域
基本记录 A (Address) 用于将主机名转换为 IP 地址,任何一个主机都只能有一个 A记录

PTR (PoinTeR) 将地址转换为主机名

MX (Mail eXchanger) 邮件交换记录。控制邮件的路由
安全记录 KEY (Public Key) 储存一个关于DNS 名称的公钥

NXT (Next) 与 DNSSEC 一起使用,用于指出一个特定名称不在域中

SIG (Signatrue) 指出带签名和身份认证的区信息,细节见 RFC 2535
可选记录 CNAME (Canonical NAME) 给定主机的别名,主机的规范名在A记录中给出

SRV (Services) 指出知名网络服务的信息

TXT (Text) 注释或非关键的信息
关于RR 的书写顺序
  • SOA RR 应该放在最前面
  • 通常 NS RR 紧跟在 SOA RR 之后
  • 其他记录的顺序无关紧要

data 字段的内容取决于 RR 的类型字段。

SOA RR 用于标示一个区的开始,其格式如下:

zone      IN      SOA   Hostname  Contact (
SerialNumber
Refresh
Retry
Expire
Minimum )

SOA 记录的数据说明

Hostname
存放本 Zone 的域名服务器的主机名
Contact
管理域的管理员的邮件地址
SerialNumber
本区配置数据的序列号,用于从服务器判断何时获取最新的区数据
Refresh
辅助域名服务器多长时间更新数据库
Retry
若辅助域名服务器更新数据失败,多长时间再试
Expire
若辅助域名服务器无法从主服务器上更新数据,原有的数据何时失效
Minimum
设置被缓存的否定回答的存活时间

例如:

jamond.net.     IN      SOA   ubuntu.jamond.net.  root.ubuntu.jamond.net. (
2006063000 ;序列号
3H ;3小时后刷新
15M ;15分钟后重试
1W ;1星期后过期
1D ) ;否定缓存TTL为1天
  • 对 Contact 来说,因为“@”在文件中有特殊含义,所以邮件地址 root@ubuntu.jamond.net 写为 root.ubuntu.jamond.net.
  • 对 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 RR 用于标识一个区的权威服务器(包括主服务器和从服务器),并将子域授权赋予其他服务器,其格式如下:

zone       [ttl]      IN    NS      hostname

例如:

jamond.net.          IN    NS    ubuntu.jamond.net.        ;指定 jamond.net. 的主服务器
jamond.net. IN NS dapper.jamond.net. ;指定 jamond.net. 的从服务器
osmond.jamond.net. IN NS ubuntu.osmond.jamond.net. ;指定委派域 osmond.jamond.net. 的主服务器
osmond.jamond.net. IN NS dapper.osmond.jamond.net. ;指定委派域 osmond.jamond.net. 的从服务器

若上面的记录紧跟在 SOA 记录后,也可以写成如下的形式:

          IN    NS    ubuntu.jamond.net.        ;指定 jamond.net. 的主服务器
IN NS dapper.jamond.net. ;指定 jamond.net. 的从服务器
osmond IN NS ubuntu.osmond.jamond.net. ;指定委派域 osmond.jamond.net. 的主服务器
osmond IN NS dapper.osmond.jamond.net. ;指定委派域 osmond.jamond.net. 的从服务器

A RR 是

PTR RR 提供了 IP 地址到主机名的映射。其格式为:

IPAddress       [ttl]      IN    PTR     hostname

例如: 在 168.192.in-addr.arpa 区中,前面的 ubuntu.jamond.net. 和 dapper.jamond.net. 所对应的 PTR 记录为

251.0          IN    PTR      ubuntu.jamond.net.
252.0 IN PTR dapper.jamond.net.

而在 0.168.192.in-addr.arpa 区中,前面的 ubuntu.jamond.net. 和 dapper.jamond.net. 所对应的 PTR 记录为

251          IN    PTR      ubuntu.jamond.net.
252 IN PTR dapper.jamond.net.

在 1.168.192.in-addr.arpa 区中,前面的 ubuntu.osmond.jamond.net. 和 dapper.osmond.jamond.net. 所对应的 PTR 记录为

251          IN    PTR      ubuntu.osmond.jamond.net.
252 IN PTR dapper.osmond.jamond.net.
  • 在 PTR RR 中 hostname 应该使用全域名。例如 osmond.jamond.net 域的主机 ubuntu 应该写为 ubuntu.osmond.jamond.net. 。而 ubuntu.osmond.jamond.net 将被解析为 ubuntu.osmond.jamond.net.1.168.192.in-addr.arpa. 。
  • PTR RR 所提供的反向解析能够为任何对进入网络的请求进行认证的程序所使用,这些程序包括:sshd、tcpd、sendmail、syslogd 等。

MX RR 用于邮件系统实现邮件路由。有关电子邮件的更多介绍请参见 FIXME 。 其格式为:

zone   [ttl]  IN   MX  preference   host 

其中 preference 是优先级字段,数值越小优先级越高。

例如:

jamond.net.          IN    MX     5    ubuntu.jamond.net.
jamond.net. IN MX 10 ubuntu.jamond.net.

CNAME RR 用于设置主机的别名。 其格式为:

nikename    [ttl]   IN  CNAME   hostname

例如:

ubuntu          IN    A      192.168.0.251
www IN CNAME ubuntu
ftp IN CNAME ubuntu
文件内必须有规范名字的 A RR。

在区文件中还可以使用分析器指令,分析器指令可以为 RR 的输入提供方便。

  • $ORIGIN — 设置默认域(或初始域)
  • $TTL — 为没有定义精确的生存期的 RR 定义缺省的 TTL 值
阅读(5447) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~