bind中的view语句

9. view语句
视图(view)语句的定义和使用:
view view_name [class] {
match-clients { address_match_list } ;
match-destinations { address_match_list } ;
match-recursive-only { yes_or_no } ;
[ view_option; ...]
[ zone-statistics yes_or_no ; ]
[ zone_statement; ...]
};
视图是BIND9强大的新功能,允许名称服务器根据询问者的不同有区别的回答DNS查询。特别是当运行拆分DNS设置而不需要运行多个服务器时特别有用。每个视图定义了一个将会在用户的子集中见到的DNS名称空间。
根据用户的源地址(“address_match_list”)匹配视图定义的“match_clients”和用户的目的地址(“address_match_list”)匹配视图定义的” matach-destinations”。
如果没有被指定,match-clients和match-destinations默认匹配所有地址。一个视图也可以做为match-recursive-only来指定,意思是来自匹配用户的递归请求将会匹配该视图。视图语句的顺序是很重要的,一位用户的请求将会在它所匹配的第一个视图中被解答。在视图语句中定义的域只对匹配视图的用户是可用的。通过在多个视图中用相同名称定义一个域,不同域数据可以传给不同的用户。例如:在拆分DNS设置中的”内部”和”外部”用户。
许多在named.conf 的options里的语句中给出的选项也能在视图语句中使用,仅仅用于使用哪个视图解答请求的时候。当view-specific值没有给出,options里的语句值就使用默  认值。域选项也可以在视图语句中指定默认值;这些view-specific默认值的优先级高于那些在options里面配置的语句。
视图精确到类。如果没有给定任何类,就假设为IN类。注意到所有非-IN视图必须包含一个暗示域,因为只有IN类具有compiled-in默认暗示。
如果在配置文件中没有view语句,在IN类中就会自动产生一个默认视图匹配于任何用户,任何指定在配置文件的最高级的zone语句被看作是此默认视图的一部分。如果存在外部view语句,所有的域视图必须会在view语句内部产生。
 
这是一则典型的使用视图语句运行的拆分DNS设置
view "internal" {
match-clients { 10.0.0.0/8; };
// 应该与内部网络匹配.
// 只对内部用户提供递归服务.
// 提供example.com zone 的完全视图
//包括内部主机地址.
recursion yes;
zone "example.com" {
type master;
file "example-internal.db";
};
};
view "external" {
match-clients { any; };
// 拒绝对外部用户提供递归服务
// 提供一个example.com zone 的受限视图
// 只包括公共可接入主机
recursion no;
zone "example.com" {
type master;
file "example-external.db";
};
};

转载于:https://www.cnblogs.com/JustLake/p/7675448.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值