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

本文涉及的产品
全局流量管理 GTM,标准版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
云解析 DNS,旗舰版 1个月
简介:

本节书摘来自异步社区《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语句必须出现在这个明确指定的视图中。

相关文章
|
Java
40SpringMVC - 视图解析器(ViewResolver)
40SpringMVC - 视图解析器(ViewResolver)
66 1
|
XML 存储 Java
SpringMVC中支持的那些视图解析技术
SpringMVC中支持的那些视图解析技术
132 0
|
9月前
|
Android开发
Android Studio入门之图像显示解析及实战(附源码 超详细必看)(包括图像视图、图像按钮、同时展示文本与图像)
Android Studio入门之图像显示解析及实战(附源码 超详细必看)(包括图像视图、图像按钮、同时展示文本与图像)
331 1
|
5月前
|
网络协议 网络安全
基于bind软件部署DNS服务器
关于如何使用bind软件部署DNS服务器的教程,包括DNS服务器的类型、基于bind软件的部署步骤、验证DNS服务器可用性的指导,以及如何进行DNS正向解析的实现。
187 2
|
4月前
|
前端开发 JavaScript Java
【SpringBoot系列】视图解析器的搭建与开发
【SpringBoot系列】视图解析器的搭建与开发
66 0
|
6月前
|
应用服务中间件 Java Maven
掌控视图的力量!深入解析 JSF 视图管理,揭秘视图生命周期的秘密,让你的应用更高效!
【8月更文挑战第31天】JavaServer Faces (JSF) 是一种强大的框架,用于管理 Web 应用程序的视图。本文通过具体案例介绍 JSF 视图管理的基础知识,包括创建、管理和销毁视图的过程。首先,在 Eclipse 中创建一个新 JSF 项目,并配置 Maven 依赖。接着,在 `WEB-INF` 目录下配置 `web.xml` 文件,设置 JSF servlet。
81 0
|
6月前
|
SQL 存储 BI
什么是视图?详细解析与应用指南
【8月更文挑战第31天】
1065 0
|
6月前
|
JavaScript 前端开发
bind原理深度解析
【8月更文挑战第1天】bind原理深度解析
63 0
|
XML 缓存 前端开发
Spring MVC视图解析器
Spring MVC视图解析器
124 1
|
8月前
|
SQL 算法 安全
心得经验总结:深入解析MySQL视图VIEW
心得经验总结:深入解析MySQL视图VIEW
70 0

相关产品

  • 云解析DNS
  • 推荐镜像

    更多