Bind中的view语句定义和用法

view语句定义了视图功能。视图是BIND 9提供的强大的新功能,允许DNS服务器根据客户端的不同有区别地回答DNS查询,每个视图定义了一个被特定客户端子集见到的DNS名称空间。这个功能在一台主机上运行多个形式上独立的DNS服务器时特别有用。

view语句的用法:

view view_name [class] {
    match-clients { address_match_list } ;
    match-destinations { address_match_list } ;
    match-recursive-only { yes_or_no } ;
    [ view_option; ...]
    [ zone_statement; ...]
};

每个view语句定义了一个被一些客户子集所看到的DNS 名字空间的视图。一个客户匹配一个视图 是指它的源地址与视图的match-clients子句中的address match list匹配并且它的目的地址与视 图的match-destinations子句中的address match list匹配。如果未指定,match-clients和match- destinations缺省都是匹配所有地址。除了检查IP地址,match-clients和match-destinations也可以使 用keys,它给客户端提供了一个选择视图的机制。一个视图也可以指定成为match-recursive-only, 它表示仅仅来自匹配客户的递归请求才匹配此视图。

Tips 1:view语句的顺序非常重要— 一个客户端请求将 在它所匹配的第一个view的上下文中被解析。
在一个view语句中定义的区只能被与这个view相匹配的客户端访问。通过在多个视图中定义同样名字的区,可以为不同的客户端提供不同的区数据,例如,在一个分割的DNS 上建立“internal”和 “external”客户端。

Tips 2:许多在options语句中给出的选项也可以用在view语句中,并且仅仅在解析这个视图之内的请求时生效。当没有给出按视图指定的值时,缺省试验options 语句中的值。同样,区选项也使用在view语句 中指定的值做缺省值;这些按视图指定的缺省值优先于其在options语句中的值。

Tips 3:视图是按类划分的。如果没有给出类,假设为IN类。注意所有的非IN视图必须包含一个暗示区,因为只有IN类有一个预编译的缺省暗示区。

Tips 4:如果配置文件中没有view语句,就自动在IN类中建立一个匹配所有客户端的缺省视图。然后在配置文件的顶层所指定的zone语句都是这个缺省视图的一部份,options语句将会应用到这个缺省视图。 如果提供任何显式的view语句,所有zone语句都必须出现在view语句之内。

这里可以参考2篇文章,能对view的使用有一个整体的了解。

Zone的用法参考这里:Bind中的zone语句的定义和用法

相关文章:

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

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

  2. Pingback引用通告: Bind中的zone语句的定义和用法 | 精彩每一天

发表评论

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

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