《DNS与BIND(第5版)》——第10章 高级功能10.1 地址匹配列表和ACL

简介:

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

第10章 高级功能

蚊子问道:“如果你叫它们的名字,它们却不答应,那要名字又有什么用呢?”

最新版本(本书英文版撰写时为和9.3.2)的BIND名称服务器,提供了许多新功能。其中最值得介绍的包括支持动态更新、异步区域变更通知(简称NOTIFY),以及增量区域传输。在其余部分中,与安全相关的功能也很重要:允许配置名称服务器可以响应谁的请求,给谁提供区域传输,以及允许谁进行动态更新。在企业内部网络中,虽然许多安全功能不是必需的,但是有些机制对于任何名称服务器的管理员而言,都是有所帮助的。

本章将介绍这些功能,并且对于如何在DNS基础设施中使用这些功能提出建议。(部分有关防火墙的内容,将在下一章进行介绍。)

10.1 地址匹配列表和ACL

在介绍新功能之前,最好先了解下地址匹配列表(address match lists)。在BIND 8和9中,几乎所有的安全功能,以及一些与安全完全无关的功能都会用到地址匹配列表。

地址匹配列表中的每一项指定一个或多个IP地址。列表中的元素可以是独立的IP地址、IP前缀(即网络地址,包含多个IP地址)或已命名的地址匹配列表(稍后会进一步说明)1。IP前缀的格式如下:


fafade0f4209f1b94b9620446aecb77932165586

例如,网络.0的网络掩码为255.0.0.0(8位连续的1)可以表示为15/8。依照惯例,15/8被看作网络号为15的A类网络。此外,如果一个网络包含的IP地址范围从192.168.1.192到192.168.1.255,则可以表示为192.168.1.192/26(网络地址为192.168.1.192,网络掩码为255.255.255.192,即26位连续的1)。下面就是包括上述两个网络的地址匹配列表:


<a href=https://yqfile.alicdn.com/044ad63d5eda967910a9a2c79a7d5593cc8fad38.png" >

一个已命名的地址匹配列表其实就是一个有名称的地址匹配列表。如果想在其他地址匹配列表中使用已命名的地址匹配列表,必须事先在named.conf中用acl语句进行定义。acl语句的语法很简单,如下所示:


d2271b19e196c501cef02ee9a641fce25114c26c

这条语句表示,从现在开始,name和address_match_list等效。虽然语句本身的名称——acl,会让人联想到“access control list”(访问控制列表),但是只要是在可以使用地址匹配列表的地方,都可以使用已命名的地址匹配列表,包括一些与访问控制无关的地方。

如果想在某些访问控制列表中使用一个或多个相同的项目时,最好先用acl语句将其关联到某个名称。然后就可以在地址匹配列表中引用其名称了。例如,用“HP-NET”表示15/8,用“internal”表示192.168.1.192/26:


<a href=https://yqfile.alicdn.com/7e5f35284401f5b7c808eaf67440442f5de78c06.png" >

现在就能在其他地址匹配列表中用名称来引用这些已命名的地址匹配列表了。这不仅可以减少输入量,简化对地址匹配列表的管理,还能让named.conf文件更具可读性。

本书谨慎地用引号将ACL名称括起来,以避免和BIND的保留字相冲突。如果确信ACL的名称不会和保留字发生冲突,那么也可以不使用引号。

下面是4个预定义的已命名地址匹配列表。

none

没有IP地址。

any

所有IP地址。

localhost

本地主机(运行名称服务器的主机)上的任意IP地址。

localnets

本地主机任一网络接口所在的网络(通过用网络掩码屏蔽掉每个网络接口IP地址中的主机位后得到)。

相关文章
|
1月前
|
监控 数据挖掘 BI
探索项目管理系统:解析五大功能,洞悉项目成功的关键
项目新手常忽视管理系统的价值,而高手已借助系统实现规划清晰。优秀的项目管理系统必备五大功能:项目WBS分解、图表报表、工时管理、团队协作和任务自动化。WBS能将复杂项目拆分成可管理任务,明确责任,评估时间和资源需求,便于跟踪进度。Zoho Projects作为示例,支持创建任务层级,利用甘特图和资源利用图监控进度和资源分配,工时管理则帮助控制项目时间和成本。同时,系统促进团队协作,如通过即时通讯和知识库增强团队凝聚力,而任务自动化则减少错误,提升效率。
38 1
|
11天前
|
Java API
深入探讨 Java 8 集合操作:全面解析 Stream API 的强大功能
深入探讨 Java 8 集合操作:全面解析 Stream API 的强大功能
17 2
|
18天前
|
NoSQL 定位技术 MongoDB
深入探索 MongoDB:高级索引解析与优化策略
深入探索 MongoDB:高级索引解析与优化策略
|
1月前
|
开发框架 前端开发 开发者
【Uniapp 专栏】Uniapp 的状态管理功能深度解析
【5月更文挑战第13天】Uniapp 的状态管理对于构建复杂跨平台应用至关重要,它包括全局变量、Vuex 风格管理。核心概念有 State、Actions 和 Mutations。通过状态定义、动作设计和突变管理,提高开发效率和代码可维护性。实际案例和与其他框架比较显示了 Uniapp 的优势。理解并有效利用状态管理,能提升应用质量和开发效率。
【Uniapp 专栏】Uniapp 的状态管理功能深度解析
|
11天前
|
安全 Java API
深入解析 Java 8 新特性:LocalDate 的强大功能与实用技巧
深入解析 Java 8 新特性:LocalDate 的强大功能与实用技巧
17 1
|
16天前
|
数据可视化 数据挖掘 数据处理
【源码解析】深入Pandas的心脏DataFrame 含十大功能、源码实现与编程知识点
【源码解析】深入Pandas的心脏DataFrame 含十大功能、源码实现与编程知识点
|
1月前
|
监控 Linux 数据处理
|
24天前
|
C++ 存储 Java
C++ 引用和指针:内存地址、创建方法及应用解析
'markdown'C++ 中的引用是现有变量的别名,用 `&` 创建。例如:`string &meal = food;`。指针通过 `&` 获取变量内存地址,用 `*` 创建。指针变量存储地址,如 `string *ptr = &food;`。引用不可为空且不可变,指针可为空且可变,适用于动态内存和复杂数据结构。两者在函数参数传递和效率提升方面各有优势。 ```
|
1天前
|
机器学习/深度学习 自然语言处理 Python
Softmax函数解析:从入门到高级
Softmax函数解析:从入门到高级
|
1月前
|
Android开发
Android高级开发面试题以及笞案整理,实战解析
Android高级开发面试题以及笞案整理,实战解析

相关产品

  • 云解析DNS
  • 推荐镜像

    更多