DHCPサーバーからDNSの動的更新を行う場合考慮しなくてはいけないポイントがあります。
まずは、DNSの動的更新とはどのような動作なのかを理解する必要があります。
以前はDNSのレコードは管理者が登録するものでした。しかし、昨今の環境ではクライアントの名前解決においてもDNSを使用することが一般的になることによって管理者がクライアントのレコードを登録するというのは難しくなってきました。またDHCPを使用している場合動的にIPアドレスが変更されるため尚更難しいということになります。
そこで考え出されたのがDNSの動的更新になります。
まず、クライアントの一般的な動作から考えます。
前提としてTCP/IPの詳細設定において「□この接続のアドレスをDNSに登録する」にチェックが入っていることになります。デフォルトではチェックが入っているので通常は気にしませんね。
ここで2つのパターンがあります。それは静的IPアドレスと動的IPアドレスの場合です。
静的IPアドレスの場合はクライアントが直接DNSサーバーにAレコードとPTRレコードの登録を行います。
動的IPアドレスの場合(DHCPからIPアドレスを取得した場合)
ここの動作はちょっと解説が必要になります。まず、前提としてDHCPのDNSタブの設定が絡んでくるんです。
デフォルトの状態では「以下の設定に基づいて、DNS動的更新を有効にする」にチェックが入っています。そして「DHCPクライアントから要求があったときのみDNSのAレコードおよびPTRレコードを動的に更新する」にチェックが入っています。
さて、ここでDHCPクライアントから要求~とありますがどういうことかというと、DHCP オプションであるクライアント FQDN オプション (オプション 81) を考慮する必要があるんです。
Windows Server 2003 で DNS 動的更新を構成する方法
以下参考リンクより抜粋~~
このオプションを使用すると、クライアントから FQDN を DHCPREQUEST パケットで DHCP サーバーに送信することができます。これで、クライアントは必要なサービス レベルを DHCP サーバーに通知できます。
FQDN オプションには、次の 6 つのフィールドがあります。
- Code
このオプションのコード (81) を指定します。 - Len
このオプションの長さ (4 以上) を指定します。 - Flags
サービスの種類を指定します。- 0
クライアントが “A” (ホスト) レコードを登録します。 - 1
クライアントが DHCP に “A” (ホスト) レコードを登録させます。 - 3
クライアントの要求にかかわらず、DHCP が “A” (ホスト) レコードを登録します。
- 0
- RCODE1
サーバーがクライアントに送信する応答コードを指定します。 - RCODE2
RCODE1 の追加記述を指定します。 - Domain Name
クライアントの FQDN を指定します。
クライアントがリソース レコードを DNS に登録するよう要求した場合、クライアントは、RFC (Request for Comments) 2136 に従って、動的 UPDATE 要求を生成します。すると、DHCP サーバーが PTR (ポインタ) レコードを登録します。
このオプション 81 が、Windows Server 2003、Microsoft Windows 2000、または Microsoft Windows XP を実行する DHCP が利用できるコンピュータなどの有効な DHCP クライアントによって発行されたものであるとします。この場合、Windows Server 2003 ベースの DHCP サーバーによってオプションが処理および解釈されて、サーバーがクライアントのために更新をどのように開始するかが判断されます。
ここまで~~
ここで重要なのはクライアントからのオプション81のデフォルトはFlagsが0ということです。通常この設定を変えることはありません。
では話は戻って、DHCPサーバーの設定は「DHCPクライアントから要求があったときのみDNSのAレコードおよびPTRレコードを動的に更新する」になっています。そしてクライアントはFlagsが0なのでクライアントが “A” (ホスト) レコードを登録します。
ということで、デフォルトの動作ではクライアントがAレコード、DHCPサーバーがPTRレコードを登録するということになります。
そして、DHCPサーバーの設定を「DNSのAおよびPTRレコードを常に動的に更新する」にチェックを入れると、DHCPサーバーがクライアントのA、PTRレコードを登録するという動作になります。
ここで冗長構成の動作を考えると問題になることがあります。
それは次回に・・・
コメント
> ここで重要なのはクライアントからのオプション81のデフォルトはFlagsが0ということです。通常この設定を変えることはありません。
「通常この設定を変えることはありません。」とありますが、変更することは可能なのですか?
色々WEBサイトを見てみたのですが、変更方法を記載する記述を見つけることが
できなかったので、不可能なのかと思ってたのですが、可能であるなら変更方法を教えて
いただくことは可能ですか?
`
> ここで重要なのはクライアントからのオプション81のデフォルトはFlagsが0ということです。通常この設定を変えることはありません。
「通常この設定を変えることはありません。」はサーバ設定についての記述ですね。
WindowsXP、WindowsVISTA、Windows7でリクエストパケットの
オプション81のFlagsを0x01にすることが可能なのか知りたかったので、
コメントさせていただきました。
[…] DHCPの冗長構成を考える~その2~ DHCPの冗長構成を考える~その3~ […]