在动态 BIND 设置上添加静态 DNS 条目

Rau*_*fle 4 domain-name-system dhcp linux ip bind

我有一个 DNS (BIND9) 和 DHCP (ISC-DHCP-SERVER) 设置,其中 DHCP 服务器在主机获取 IP 地址时动态更新 DNS。我目前正在重新划分网络的一部分,该部分当前未由 DHCP 处理,客户端可以访问该子网中的服务器至关重要。为了避免中断客户端,我希望创建指向各种服务器的静态条目,以便客户端可以通过它们的 FQDN 而不是 IP 访问它们,一旦我更改了这些服务器所在的子网(并且服务器开始获取 DHCP 地址),客户端将获胜不必修改任何内容,因为 FQDN 将指向新地址。

由于 DNS 是针对区域动态更新的,因此我无法在区域文件中手动创建记录,因为它们只会被覆盖。我想知道的是如何在动态更新的区域中创建(永久直到删除)静态条目?就在子网更改之前,这些条目将被删除,然后由 DHCP 使用正确的地址动态重新添加。

And*_*w B 5

要直接回答您的问题,无法将动态区域内的记录标记为只读。(至少我知道)

两种解决方法:

  1. 如果您绝对确定 DNS 客户端不会覆盖您手动创建的记录,您可以使用rndc freeze写出日志文件并暂时禁用更新。然后,您可以修改区域,并使用 重新启用更新rndc thaw。问题是,您会丢失在冻结期间触发的所有动态 DNS 更改。您可能已经考虑过这种可能性并已将其驳回。
  2. 丑陋的解决方法:如果您声明了比动态区域更具体的其他区域(即“区域 foo.bar.com”比“bar.com”更具体),则每个区域都将优先于不太具体的区域。巨大的痛苦,因为它使您的配置变得混乱,并且除了单个记录之外,每个区域文件都需要SOANS记录A