web-dev-qa-db-ja.com

動的BINDセットアップに静的DNSエントリを追加する

DNS(BIND9)とDHCP(ISC-DHCP-SERVER)のセットアップがあり、ホストがIPアドレスを取得するとDHCPサーバーがDNSを動的に更新します。現在、DHCPで処理されていないネットワークの一部を再サブネット化しています。クライアントが、このサブネット内のサーバーにアクセスできることが重要です。クライアントへの中断を回避するために、さまざまなサーバーを指す静的エントリを作成して、クライアントがIPではなくFQDNを介してそれらにアクセスできるようにします。サブネットを変更すると、これらのサーバーが存在します(サーバーがDHCPアドレスを取得し始めます)。 FQDNが新しいアドレスを指すため、何かを変更する必要があります。

DNSはゾーンに対して動的に更新されるため、ゾーンファイルにレコードを手動で作成することはできません。これは、レコードが上書きされるだけだからです。私が疑問に思っているのは、動的に更新されたゾーンで静的エントリを(削除されるまで永続的に)作成するにはどうすればよいですか?サブネットが変更される直前に、これらのエントリは削除され、DHCPによって適切なアドレスで動的に再追加されます。

4
Rauffle

質問に直接答えるために、動的ゾーン内で読み取り専用のレコードにフラグを立てる方法はありません。 (少なくとも私は知っています)

2つの回避策:

  1. DNSクライアントが手動で作成したレコードを上書きしないことが確実な場合は、rndc freezeを使用してジャーナルファイルを書き出し、更新を一時的に無効にすることができます。その後、ゾーンを変更し、rndc thawを使用して更新を再度有効にすることができます。問題は、フリーズ中に発生するすべてのダイナミックDNS変更が失われることです。あなたはおそらくこの可能性を考慮し、すでにそれを却下しました。
  2. 醜い回避策:動的ゾーンよりも具体的な追加のゾーンを宣言すると(つまり、「zonefoo.bar.com」は「bar.com」よりも具体的です)、それぞれがあまり具体的でないゾーンよりも優先されます。設定が煩雑になるため、非常に苦痛になります。各ゾーンファイルには、単一のSOAレコードに加えてNSレコードとAレコードが必要になります。
4
Andrew B