BIND9 配置文件语法 - 3 zone

https://bind9.readthedocs.io/en/latest/reference.html#zone-statement-grammar
https://bind9.readthedocs.io/en/latest/reference.html#zone-statement-definition-and-usage

1. Zone Types

type 关键字是必须的,除了in-view 之外。它接受如下值:primary (or master), secondary (or slave), mirror, hint, stub, static-stub, forward, redirect, or delegation-only

primary
primary zone 拥有zone的主数据副本,可以提供权威应答。Type masterprimary

secondary
secondary zone 是 primary zone 的副本。Type slavesecondary
primaries 列表指定了一个或者多个可供secondary连接用于升级zone的primary服务器地址。Primaries 列表元素也可以是其他 primaries 列表的名字。默认,使用端口53通信;可以通过在IP地址列表前指定端口以变更所有服务器的通信端口,也可以在IP地址之后指定每个服务器的端口。primary的授权可以通过每个服务器的TSIG keys进行。如果指定文件,那么无论什么时候zone变更,副本数据都会写到文件内,在服务器启动的时候会加载该文件。推荐使用文件,因为它可以加速服务器的启动速度,并且消除不必要的带宽浪费。注意,如果一台服务器很大量(成千上万) 的 zones,最好使用两级命名结构方式定义 zone filenames。比如,某 secondary 服务器将 zone example.com 放到文件 ex/example.com,这里 ex/ 是zone name的前两个字符。 (大多数操作系统,在一个目录存在10万个文件的情况下会运行很慢)

mirror
Mirror zone 类似于 secondary,只是其数据在用于应答之前要经过DNSSEC验证。在zone传输过程中、重启named服务加载磁盘zone文件时,验证作用于整个域。如果新版本的mirror zone验证失败了,那么会计划重传,最近一次成功验证的版本会被使用,直到其过期或者新版本验证通过。如果因为传输失败、过期而导致mirror zone 没有可用的数据,那么是使用传统的DNS递归查询来查找答案。Mirror zones 不能作用于未开启递归查询的视图。

Mirror zone 的应答和 secondary一样,除了AA bit (“authoritative answer”)没有设置,AD bit (“authenticated data”) 设置了。

Mirror zones 被用于设置根域的快速本地副本,类似 RFC 7706内的描述。IANA 根域的primary服务器列表内置于 named ,因此它的 mirroring 可以通过如下配置开启:

zone "." {
     type mirror;
};

镜像非根域需要使用primaries 选项 (参考 primaries Statement Grammar 获取更多信息)来提供primary 服务器列表,以及指定zone的密钥签名密钥 (KSK) 明确配置为 trust anchor。

要在 named 重启时, mirror zone 内容固话,使用 file 选项。

要给 mirror zone 配置NOTIFY , 仅 notify no;notify explicit; 可以使用在zone level;其他notify 设置作用于zone level会被识别为配置错误。对于mirror zone ,其他 options or view level 的notify设置会被 notify explicit;覆盖。notify选项的全局默认配置是 yes,所以mirror zones 默认配置是 notify explicit;

Mirror zones 默认禁用 outgoing transfers ,但是可以通过 allow-transfer开启。

注意:
在非根域使用mirror zone 是实验性的,可能会导致性能问题,特别是那些大的或者频繁更新的zone。

hint
根名称服务的初始集是通过 hint zone 来指定的。当服务器启动时,它使用 root hints 来找到一个根名称服务器,然后获取最近的根服务器集合列表。 如果没有给class IN 指派 hint zone,那么服务器使用编译的默认 root servers hints 集合。非IN类的Classes 没有内置的默认 hints。

stub
stub zone ,存根域。stub zone 与 secondary zone 类似,但是其只复制primary zone 的 NS 记录,而不是整个zone。Stub zones 不是DNS的标准组成部分;它们是BIND实现的特有属性。

Stub zones 可以消除parent zone 内对glue NS 记录的需要,代价是维护stub zone entry 和 在 named.conf内的一组服务器地址。新配置方式不推荐这种用法,BIND9有限支持。如果一个 BIND 9 primary,即服务于 parent zone,也有child stub zones ,那么服务于parent zone 的所有 secondary servers 都需要配置同样的 child stub zones 。

Stub zones 还有一种用法,强制指定某域一组特定的权威服务器用于解析。比如,私有网络上的缓存服务器(使用RFC 1918 寻址 ),可以给 10.in-addr.arpa 配置stub zones 使用一组内网名称服务器作为该域的权威服务器。

static-stub

static-stub zone 类似 stub zone,除了:zone data 是被静态配置好的,而不是传输自primary server;并且当匹配static-stub zone的查询必须使用递归查询时,总是使用本地配置的数据(名称服务器名称和glue addresses),即使缓存了不同的权威信息。

Zone data 通过 server-addressesserver-names zone 选项配置。

zone data 的格式组成为 NS 和 (如果需要)glue A or AAAA RRs internally,可以通过 rndc dumpdb -all dump zone 数据库查看。 RRs 被认为是本地配置参数,而不是public data。对static-stub zone的非递归查询(比如 RD bit )被禁止,并返回以REFUSED

因为数据是静态配置的,所以没有zone的维护操作。比如,没有定期刷新,进来的消息会被拒绝,返回NOTAUTH

每个static-stub zone 都配置有内部生成的NS和(如有必要)glue A or AAAA RR。

forward

forward zone,转发域,是基于单个域进行转发的方式。 forward 类型的 zone 描述可以包含forward and/or forwarders 描述, 应用于给定zone name的域名查询。如果 forwarders 描述不存在,或者forwarders 列表是空的,那么该域不会进行转发,取消options内任何转发器的效果。 因此,要使用该类型的zone来变更全局 forward行为(先“forward first”然后“forward only”,反之亦然),但是还要使用全局配置的相同服务器,重新指定全局转发器。

redirect

Redirect zones ,重定向zone 。当正常查询被返回**NXDOMAIN **的时候,重定向zone会提供查询结果。每个视图只支持一个 redirect zone 。allow-query 用于限制那些客户端可以看到答复。

如果客户机已请求DNSSEC记录(DO=1),并且NXDOMAIN应答已签名,则不会发生替换。

要将所有 NXDOMAIN 应答重定向到 100.100.100.2 和 2001:ffff:ffff::100.100.100.2,配置名称为 “.”的 redirect 类型的 zone,以及zone file 文件,内含通配符记录指向期望地址:*. IN A 100.100.100.2 and *. IN AAAA 2001:ffff:ffff::100.100.100.2.

再比如,要重定向所有的 Spanish names (后缀 .ES), 使用类似的条目但是以 *.ES.作为名字,而不是 *.。 要重定向所有的 commercial Spanish names (under COM.ES),使用通配符条目*.COM.ES.

注意:所有的 redirect zone 支持所有可用的types;不限于 A and AAAA 记录。

如果redirect zone 配置了primaries 参数,则其被视为secondary zone。否则,其将作为primary zone加载文件。

因为 redirect zones 不是通过名称直接引用的,所以它们不是保存在常规primary and secondary zones的 zone lookup table 内。要重新加载 redirect zone, 使用 rndc reload -redirect;要配置为 secondary的 redirect zone,使用 rndc retransfer -redirect。当使用 rndc reload 而不指定zone name,redirect zones 将和其他zones一起加载。

delegation-only

该类型域被用于强制基础架构域(比如,COM、NET、ORG)处于仅委托状态。任何应答没有在authority 部分显式或隐式委派的,都被视为NXDOMAIN。这不能应用于 zone apex,也不能被应用于leaf zones。
delegation-only 对收自转发器的应答没有影响。
请参阅root-delegation-only的注意事项。

in-view

当使用多视图的时候,在一个视图内配置的 primary or secondary zone 可以被后续视图引用。这就允许所有的视图使用同一个zone而不需要重复加载。这通过zone进行配置,在指定zone的视图内以in-view 参数配置。包含 in-viewzone 不需要指定 type,因为这是其他视图的zone定义的一部分。

参见 Multiple Views 获取更多信息。

2. Class

区域名称后面可以有选择地后跟一个类。如果未指定class,则假定为 class IN(用于Internet)。绝大多数情况下是正确的。

Class hesiod 来自于麻省理工学院Athena项目的一个信息服务命名。它用于共享有关各种系统数据库的信息,例如用户、组、打印机等。关键字HShesiod的同义词。

另一个麻省理工学院的开发项目是 Chaosnet,一个创建于1970年代中期的局域网协议。它的 Zone data 被指定以 CHAOS class。

3. Zone Options

4. Dynamic Update Policies

5. Multiple Views

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,504评论 6 496
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,434评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,089评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,378评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,472评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,506评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,519评论 3 413
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,292评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,738评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,022评论 2 329
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,194评论 1 342
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,873评论 5 338
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,536评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,162评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,413评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,075评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,080评论 2 352