关于 BIND DNS 的一切:谁、如何以及为什么
2023-06-08 08:00:00
·
飞浪
·
·巴克斯顿
BIND:简史BIND(伯克利互联网名称域)是一个软件工具集合,其中包括世界上使用最广泛的DNS(域名系统)服务器软件。这个功能齐全的DNS服务和工具旨在100%符合标准,旨在作为DNS软件的参考
BIND:简史
BIND(伯克利互联网名称域)是一个软件工具集合,其中包括世界上使用最广泛的 DNS(域名系统)服务器软件。这个功能齐全的 DNS 服务和工具旨在 100% 符合标准,旨在作为 DNS 软件的参考架构。BIND最初于 20 世纪 80 年代在加州大学伯克利分校编写,是一个免费的开源软件包。最新的主要版本 BIND 9 最初于 2000 年发布,由互联网系统联盟定期维护。对于小型或简单的网络,BIND 本身非常适合提供所有与 DNS 相关的服务功能。使用 BIND,您可以运行缓存 DNS 服务器、权威服务器,甚至同时运行两者。
谁使用 BIND?
BIND 是互联网上最常用的 DNS 服务器软件。通常,日常管理 BIND DNS 服务器的人是熟悉 Linux/UNIX 的网络管理员或系统管理员。虽然 BIND 也可以在 Windows 主机上运行,但这样做仍然需要对在系统上运行开源服务有深入的了解。许多管理员更喜欢使用 BIND 而不是Microsoft DNS等,因为它是严格遵循 IETF 标准 (RFC) 的开源软件。使用 BIND,您可以构建自己的自定义工具来满足特定的 DNS 使用案例和操作要求。但请注意,BIND 仅管理 DNS,而不管理与其密切相关的 DHCP 和 IP 地址管理对应服务。
为什么 BIND 值得了解?
了解如何配置 BIND DNS 服务器有很多好处。网络和开发团队经常使用它,因此了解如何配置和使用 BIND 将成为这两种工作中必备的技能。BIND 还为您提供对 DNS 服务器的精细控制。有了它,您可以非常快速地开始了解提供核心网络服务的内部工作原理。最后,如果您碰巧遇到不使用 BIND 或正在停止使用 BIND 的网络,那么通过使用 BIND 获得的基本技能将对您大有裨益。BIND 软件包中除 DNS 服务器本身之外的大多数其他工具都可以与其他 DNS 服务器一起使用,因为它们使用标准 DNS 消息传递协议。
BIND 的功能和特性
这不是一个详尽的列表,但它应该可以让您了解 BIND DNS 可以做什么(特别是对于那些已经对 DNS 有所了解的人)。
- 权威DNS:作为主服务器或辅助服务器发布该服务器权威控制下的DNS区域和记录。
- 拆分 DNS:发布 DNS 命名空间的多个视图,例如向内部用户和整个互联网提供不同的数据集。虽然每个视图通常被视为单独的虚拟服务器,但近年来,BIND 增加了一些功能,使视图之间共享数据变得更加容易。
- 递归 DNS(缓存解析器):代表客户端系统(包括移动设备、桌面工作站和其他服务器)从其他 DNS 服务器获取数据。
- 动态更新(DDNS):使用特定类型的 DNS 消息(在 RFC 2136 中定义)在主服务器中添加或删除记录。
- 高效的数据复制:及时高效地将数据从主服务器复制到辅助服务器,包括从主服务器到辅助服务器的更改通知和从辅助服务器到主服务器的增量区域传输请求。
- DNS 安全扩展 (DNSSEC):以加密方式签署权威数据,并以加密方式验证缓存服务器上收到的数据。BIND 支持最新版本的 DNSSEC 标准,包括椭圆曲线加密。
- 事务签名 (TSIG) 和密钥 (TKEY):使用预共享密钥或动态协商密钥对消息进行加密签名,并验证此类签名。BIND 支持最新的标准签名算法,包括 Microsoft Active Directory 使用的算法。
- DDOS 缓解:通过多种不同的特殊响应功能来管理 DDOS 攻击的影响。
- IPv6:通过发布名称的 IPv6 地址以及直接参与 IPv6 网络来支持 IPv6
使用 BIND 的好处
- BIND 是可定制的。如果您可以使用 Perl、Python、BASH 或 Powershell 编写代码,则可以为自己和您的网络构建所需的任何自定义工具。
- BIND 是免费的。与商业 DNS 解决方案(如 BlueCat、Microsoft 或 Infoblox)不同,BIND 无需任何费用即可开始使用。大多数 Linux/UNIX 发行版在其存储库中都预装了 BIND 包。
- BIND 拥有庞大的支持社区。BIND 的使用和故障排除知识库和社区非常庞大且遍布全球。
- BIND 是一款非常棒的入门工具。您在职业生涯中遇到的大多数商业 DNS 实现都是基于 BIND 的。掌握配置 BIND 服务器所需的基础知识将大有裨益。
为什么有 BIND 的替代品?
除了单独使用 BIND 之外,还有两种替代方案:竞争性开源软件包和商业 DNS 产品。开源竞争对手的存在主要是为了为整个 DNS 生态系统提供多样性。他们的开发人员对优先考虑的内容做出不同的选择,例如原始缓存 DNS 性能或 DNSSEC 性能,或者他们使用与标准区域传输格式不同的数据复制机制。另一方面,大型或更复杂的网络往往需要更完整的 DNS、DHCP 和 IPAM 解决方案才能可靠运行。从大范围来看,必须将 IPAM 解决方案强行拼接到 BIND DNS 服务器上会产生不可接受的大量不必要的风险和工作。大规模BIND 的问题在于,它加剧了大型组织已经存在的问题:网络复杂性。保持网络运行(并且快速运行)所需的所有移动部件都很难同步更新和移动。BIND 并没有让这一切变得更容易,而且在这种情况下,它往往是一个对手。例如,当您开始使用 BIND 时,您可能会非常喜欢它,例如您可以立即调整每个小细节,但当网络由数十或数百个不同的人员和团队同时管理时,它就变成了一个主要的风险因素。为自助服务或基于 API 的自动化提供有意义的切入点以及合理的基于角色的访问控制需要付出很多努力,而这些努力最好还是花在推动业务的技术需求上。需要澄清的是,管理少数 BIND 服务器相对容易。通过手动配置或自行开发的工具管理大量服务器需要人力资源和技术知识,而这些最好花在推动业务的技术需求上。当您只有几个服务器时,创建新的区域文件或添加新的 DNS 服务器很简单。否则,网络管理将变得复杂而繁重。
使用 BIND 的缺点
BIND DNS 服务器的扩展性很好。但是,如上所述,大规模管理 BIND 需要额外的工具,无论是市售的、开源的还是自行开发的。此外:
- BIND 仅提供 DNS 服务和工具。这意味着,与 BIND 同步管理密切相关的服务(如 DHCP 和 IPAM)需要更广泛的管理平台。这可以防止数据出现分歧和冲突,从而避免中断。
- BIND 本身无法实现全网络可见性。就 DNS 流量而言,每个 DNS 服务器都是一个孤岛,BIND 无法提供整个网络 DNS 流量的任何高级视图。
- BIND 很容易被破坏。其配置选项的广泛性和复杂性使得很容易犯下语法错误,从而导致网络瘫痪。BIND 版本之间偶尔出现的配置语法差异进一步加剧了这种情况。
BIND 的替代方案:案例研究
对于选择投资的组织来说,除了单独管理 BIND 之外,一种替代方案是采用统一的 DNS、DHCP 和 IPAM 解决方案。为什么?因为统一这三种服务,以便以通用且一致的方式进行管理,是解决过度扩展的BIND 网络所面临的许多问题的开始。这并不意味着失去 BIND 软件包的功能;许多此类统一解决方案都包括底层的 BIND 名称服务器,为您提供所需的所有功能和灵活性,同时封装管理并降低运营风险。例如,如果 IP 地址与 DNS 记录在同一个系统中进行管理,则 IP 冲突/中断的风险会降低。事实上,您可以按照自己喜欢的方式自动执行 DNS、DHCP 和 IPAM 之间的配置工作流。这不仅可以保护网络免受日常错误的影响,还可以显著加快 IT 运营速度。技术领导者的统一目标是走向全面的数字化转型。通过这种转变,组织可以减少对专家或深奥专家的依赖(他们不可避免地会休假、换工作或离开他们的职位)。这也减少了对聪明能干的人进行手动重复工作的需要。BIND 的替代方案降低了灾难性打字错误的风险,简化了 IT 运营,并支持需要机器速度网络更改的数字化转型计划。总之,为精通技术的人提供了比逐个配置服务器更刺激的项目。
结束语
学习 BIND。它真的对你有好处。学习它可以构建公司的网络。对于那些大规模管理 DNS 及其相关服务的人来说,体验一下 DNS 及其相关服务的复杂性。利用你的新知识改善网络。 准备好深入了解 BIND 提供的一切了吗?磨练你的技能,今天就试试这门课程吧!
关于作者:
他是一名网络核心服务架构师,专攻 DNS(包括 DNSSEC)、DHCP 和 IP 地址管理 (DDI)。具备高级 Perl 脚本编写能力,包括处理 SOAP API。在 Linux、Mac OS X 和 Windows 环境中拥有丰富的经验。他尤其热衷于解决有趣的问题/难题,喜欢与学生交流,根据他们的需求量身定制培训体验,并帮助他们将材料应用于实际问题。
免责声明:本内容来源于第三方作者授权、网友推荐或互联网整理,旨在为广大用户提供学习与参考之用。所有文本和图片版权归原创网站或作者本人所有,其观点并不代表本站立场。如有任何版权侵犯或转载不当之情况,请与我们取得联系,我们将尽快进行相关处理与修改。感谢您的理解与支持!
请先 登录后发表评论 ~