《DNS与BIND(第5版)》——10.6 视图

简介:

本节书摘来自异步社区《DNS与BIND(第5版)》一书中的第10章,第10.6节,作者: 【美】Joseph Davies 更多章节内容可以访问云栖社区“异步社区”公众号查看。

10.6 视图

BIND 9引入了view(视图)——另一个在防火墙环境中非常有用的机制。视图允许对外所提供的名称服务器配置因对象而异。如果运行的名称服务器可以同时接收来自内部主机和Internet主机的查询(本书将在下一章对此予以说明),这种机制就特别有用。

如果没有配置任何视图,BIND 9会自动创建一个默认的视图,任何发送查询的主机所看到的都是该视图。要明确创建一个视图,就需要使用view语句,并用视图的名称作为参数:


<a href=https://yqfile.alicdn.com/3f24cef28b467924b355fa3d84bf752805a0c976.png" >

视图的名称可以使用任何字符,不过最好使用描述性的名称。虽然将视图的名称用引号括起来不是必须的,但是这么做可以避免和BIND的保留字发生混淆(例如,“internal”)。view语句必须在任何options语句之后出现,但不必紧随其后。

通过使用match-clients这个view的子语句,并以地址匹配列表作为参数,可以选择让哪些主机“看到”特定的视图。如果不用match-clients指定特定的主机,则视图将应用到所有主机上。

假设在名称服务器上为fx.movie.edu区域设置一个特殊的视图,只让特效系(Special Effects Department)看到,则可以创建一个只对该子网主机可见的视图:


62cad200cdafb5464d14e157f368451e0d221b8b

如果想让该配置更具可读性,可以使用acl语句:


3bf54f9ff146689e341d6b6610e989b7da262341

注意确保定义的ACL位于view之外,因为无法在视图中使用acl语句。

通过使用match-destinations这个view的子语句,还可以指定谁可以看到视图。同match-clients子语句一样,该子语句也用地址匹配列表作为参数。match-destinations可应用于具有多个IP地址的名称服务器:客户端向服务器上不同的IP地址发送查询,将会看到不同的视图。match-clients和match-destinations也可以联合使用,实现对特定的客户端和特定的IP地址提供不同的视图。甚至还有一个布尔型子语句match-recursive-only,用来针对递归或非递归查询提供不同的视图。

那么,view语句中可以放入哪些配置呢?几乎可以是任何配置(acl语句除外)。可以使用zone语句定义区域,使用server语句描述远程名称服务器,还可以使用key语句配置TSIG密钥。可以在视图中使用大部分的options子语句,不过配置时切勿将它们放在options语句中;只需将它们原封不动地放到view语句中即可:


58ba54d08f3eba741a2180ba0f66baf35161ede8

对于匹配match-clients的主机而言,在视图中所指定的任何配置选项,会覆盖掉同名的全局选项(例如,options语句中的配置)所做的配置。

想要全面了解BIND 9版的view语句支持哪些配置(因为会随版本变动),请参考BIND发行套件所附的doc/misc/options文件。

为展示视图的强大功能,下面给出特效实验室(Special Effects lab)的完整named.conf文件:


7615fe587c21d5d184964d9b94c383ce3c1f48c6

注意,每个视图都包含fx.movie.edu和254.253.192.in-addr.arpa两个区域,但是internal视图与external视图的区域数据文件是不同的。这允许展示给外界一个不同于内部所见的“面孔”。

view语句的先后顺序十分重要,因为最先与主机的IP地址匹配的视图决定了该主机所看到的“面孔”。如果在配置文件中首先列出的是external视图,则由于其匹配所有地址,从而导致internal视图失去作用。

关于视图最后还有一点要注意(反正在下一章再次讨论它们之前是最后一点):如果只配置了一个view语句,所有zone语句必须出现在这个明确指定的视图中。

相关文章
|
8月前
|
Java
40SpringMVC - 视图解析器(ViewResolver)
40SpringMVC - 视图解析器(ViewResolver)
32 1
|
6月前
|
XML 存储 Java
SpringMVC中支持的那些视图解析技术
SpringMVC中支持的那些视图解析技术
74 0
|
1月前
|
Android开发
Android Studio入门之图像显示解析及实战(附源码 超详细必看)(包括图像视图、图像按钮、同时展示文本与图像)
Android Studio入门之图像显示解析及实战(附源码 超详细必看)(包括图像视图、图像按钮、同时展示文本与图像)
125 1
|
1月前
|
Linux 调度 数据库
|
1月前
|
域名解析 网络协议 Ubuntu
【域名解析DNS专栏】搭建私有DNS服务器:从BIND到CoreDNS的选择
【5月更文挑战第26天】本文对比了两种流行的DNS服务器软件BIND和CoreDNS。BIND以其稳定性及丰富功能著称,广泛兼容各类平台,适合复杂环境;CoreDNS则以其高性能、模块化设计和易用性脱颖而出。根据需求、资源和技术水平,用户可选择适合自己的DNS服务器。安装示例包括BIND在Ubuntu上的apt安装及基本配置,以及CoreDNS的snap安装和YAML配置。
|
1月前
|
缓存 前端开发 Java
视图映射掌握:解析Spring MVC视图解析器的全方位指南
视图映射掌握:解析Spring MVC视图解析器的全方位指南
29 1
|
8月前
|
XML 缓存 前端开发
Spring MVC视图解析器
Spring MVC视图解析器
56 1
|
1月前
|
网络协议 Linux 网络安全
Linux服务器DNS服务器配置实现bind的正向解释和反向解释
Linux服务器DNS服务器配置实现bind的正向解释和反向解释
34 0
|
10月前
|
前端开发 Java Spring
SpringMVC-视图解析器
SpringMVC-视图解析器
35 0
|
1月前
|
Java
SpringBoot之视图解析
SpringBoot之视图解析

相关产品

  • 云解析DNS
  • 推荐镜像

    更多