連載
» 2013年10月03日 18時00分 UPDATE

Windows Server 2012 ×「ちょっとだけ連携」でネットワーク管理を便利に(9):DHCPv6サーバの導入 (1/3)

デュアルスタック環境でのDNSによる名前解決についてポイントや注意点を確認した前回に続き、今回は、DHCPv6を使ったステートフル自動構成とステートレスDHCPv6について確認しましょう。

[山口希美(エディフィストラーニング株式会社),@IT]

 前回は、デュアルスタック環境でのDNSによる名前解決についてポイントや注意点を確認しました。今回は、DHCPv6を使ったステートフル自動構成とステートレスDHCPv6について確認しましょう。

 最初に、IPv6アドレスの割り当て方法について整理しておきます。IPv6アドレスの割り当て方法には、手動構成と自動構成があります。これらはさらに、表1の方法に分かれます。

kantan09_table01.png 表1 IPv6アドレスの割り当て方法

 前回は、(4)のステートレス自動構成によってWindowsのIPv6アドレスを設定しましたが、この方法ではDNSサーバのIPアドレスが設定できませんでした。このため、DNSサーバのIPアドレスだけは手動で設定しました。しかし、この方法は不便で実用的ではありません。

 このため、本稿ではDHCPを使った(3)のステートフル自動構成か、(5)のステートレスDHCPv6のいずれかの方法が利用できるような環境を構築し、問題を解決しましょう。

IPv6アドレスの自動構成

 最初に、表1で紹介したIPv6アドレスの自動割り当て方法の概要を、(1)〜(4)に分けて確認しましょう。

(1)ステートレス自動構成の動作

(2)ステートフル自動構成(DHCPv6)の動作

(3)DHCPv6リレーエージェント

(4)ルータ広告メッセージと、ステートレス/ステートフル自動構成の関係

(1)ステートレス自動構成の動作

 ステートレス自動構成は、DHCPv6サーバからアドレスをリースするのではなく、ICMPv6ルータ要請(Router Solicitation)メッセージとICMPv6ルータ広告(Router Advertisement)メッセージを使って、IPv6アドレスやデフォルトゲートウェイを自動構成する機能です。第7回で、設定方法も含めて詳しく解説をしています。

(2)ステートフル自動構成(DHCPv6)の動作

 DHCPv6サーバからクライアントにIPアドレスをリースすることを、ステートフル自動構成といいます。ステートレス自動構成とは異なり、DNSサーバやSIPサーバSNTPサーバなどの、サーバのIPアドレスをオプションとして配布することができます。また、現在どのクライアントにどのようなアドレスをリースしているかを、サーバ側で追跡することもできます。DHCPv4と同様に、必ずしも常に同じクライアントに同じアドレスがリースできるとは限りませんが、サーバ側で予約設定を行えば、特定のクライアントに常に同じIPv6アドレスをリースすることもできます。

 DHCPv6では、図1のような4つのメッセージの送受信によって、IPv6アドレスやDNSサーバのIPv6アドレスなどのオプション構成をDHCPクライアントに割り当てることができます。

kantan09_zuhan01.gif 図1 DHCPv6によるアドレス割り当て

(1)クライアントは、DHCPv6 SOLICITメッセージをUDPポート547宛てに送信し、IPv6アドレスなどのIP構成情報を要求します。送信元にはクライアントのリンクローカルアドレス、宛先にはff02::1:2という、全DHCPv6サーバとリレーエージェント宛てに予約されたマルチキャストアドレスが指定されます(DHCPv4のDISCOVERメッセージに相当)。

(2)(1)を受信したDHCPv6サーバが、DHCPv6 ADVERTISEメッセージをUDPポート547宛てに送信します。このとき、リース予定のIPv6アドレスや、DNSサーバのIPアドレスなどのDHCPオプションをクライアントに提示します(DHCPv4のOFFERメッセージに相当)。

(3)(2)を受信したクライアントはDHCPv6 REQUESTメッセージを送信して、サーバに(3)で提示されたIPv6構成情報をリースしてもらうよう要求します(DHCPv4のREQUESTメッセージに相当)。

(4)(3)を受信したDHCPv6サーバは、クライアントにDHCP REPLYメッセージを送信し、要求されたIPv6構成情報をクライアントにリースすることを応答します。クライアントはREPLYメッセージを受信すると、リースされたIP構成情報を利用できるようになります(DHCPv4のACKメッセージに相当)。

(3)DHCPv6リレーエージェント

 ステートフル自動構成(DHCPv6)の解説にもありますが、DHCPv6では、送信元や宛先にリンクローカルアドレスやリンクローカルマルチキャストアドレスを使用します。このため、DHCPv6サーバとクライアントが別サブネットにある場合、レイヤ3デバイスで通信が遮断されてしまうため、レイヤ3デバイスにDHCPv6リレーエージェント機能の設定を行う必要があります。このときのDHCPv6メッセージは、図2のように送受信されます。

kantan09_zuhan02.gif 図2 DHCPv6リレーエージェント機能の設定

(1)クライアントは、DHCPv6 SOLICITメッセージを送信します。

(2)リレー機能が有効化されたレイヤ3デバイスは、UDPポート547でDHCPv6メッセージをリッスンし、DHCPv6 RELAY-FORW(FORWARD)メッセージとして、(1)をDHCPサーバに中継します。

(3)DHCPサーバはDHCPv6 RELAY-REPLメッセージとしてADVERTISEを返信します。

(4)レイヤ3デバイスは、(3)をDHCPv6 ADVERTISEメッセージとしてクライアントに送信します。

(5)クライアントは、(4)に対してDHCPv6 REQUESTメッセージを送信します。

(6)レイヤ3デバイスは、DHCPv6 RELAY-FORWメッセージとして、(5)をDHCPサーバに中継します。

(7)DHCPサーバはDHCPv6 RELAY-REPLメッセージとしてREPLYを返信します。

(8)レイヤ3デバイスは、(7)をDHCPv6 REPLYメッセージとしてクライアントに送信します。

(4)ルータ広告メッセージと、ステートレス/ステートフル自動構成の関係

 最後に、ルータ広告メッセージとDHCPv6の関係について確認しましょう。

 IPv6でアドレスを自動構成する場合、クライアントはルータ広告メッセージ内の「M(Managed address configuration)」と「O(Other configuration)」フラグの値に従います。シスコのISRルータやCatalystレイヤ3スイッチでIPv6を有効にし、IPv6アドレスを割り当てると、自動的にルータ広告メッセージが送信されるようになります。このときのデフォルト値はM=0、O=0です(図3)。

 このため、レイヤ3デバイスが送信するルータ広告メッセージのMフラグとOフラグの値を、必要に応じて調整する必要があります。

kantan09_zuhan03.jpg 図3 ルータ広告メッセージのMフラグとOフラグ(WireShark)

 ルータ広告メッセージ内のMフラグとOフラグの組み合わせには、以下の意味があります(表2)。

M O 意味
0 0 ルータ広告メッセージで通知された情報を使って、IPv6アドレスやデフォルトゲートウェイを構成します。この方法をステートレス自動構成といいます。
1 1 DHCPv6を使って、IPv6アドレスやDNSサーバのIPアドレスなどのDHCPオプション情報を構成します。この方法をステートフル自動構成といいます。
0 1 IPv6アドレスはステートレスで構成し、DHCPオプションをDHCPv6サーバから取得します。この方法をステートレスDHCPv6といいます。
1 0 DHCPv6サーバからアドレスを取得しますが、DHCPオプションは取得しません。この方法はDHCPを使う意味がないためあまり使われていません。
表2 MフラグとOフラグの組み合わせが示す意味


 DHCPv6サーバのない環境では、デフォルトのM=0/O=0で構いませんが、DHCPv6サーバを構築した場合は、M=1/O=1にしてDHCPv6サーバからすべての情報を取得させるか、M=0/O=1にしてアドレスやデフォルトゲートウェイはステートレスで構成し、DNSサーバのIPv6アドレスはDHCPv6サーバから取得させるように、レイヤ3デバイスを設定する必要があります。

 本稿では、図4の環境を想定し、クライアント側サブネットをステートフル自動構成、サーバ側サブネットを手動またはステートレスDHCPv6のいずれかでIPv6アドレスを構成できるようにしていきます。

kantan09_zuhan04.gif 図4 今回想定する環境

 図4のネットワークの物理トポロジは、以下を想定しています。

 また、図1の環境は、第6回第7回で構築しています。


 現在の主要なデバイスのIPアドレス構成は次の通りです。

デバイス IPアドレス
ルータまたはレイヤ3スイッチのクライアントコンピューター側インターフェイス <v4>10.1.1.254/24
<v6>fdf4:1b39:8777:1::1/64
レイヤ2スイッチL2SW1 <v4>10.1.1.200/24
<v6>fdf4:1b39:8777:1::2/64
ルータまたはレイヤ3スイッチのサーバ側インターフェイス <v4>10.1.2.254/24
<v6>fdf4:1b39:8777:2::1/64
レイヤ2スイッチL2SW2 <v4>10.1.2.200/24
<v6>fdf4:1b39:8777:2::2/64
サーバ dc001 <v4>10.1.2.100/24
<v6>fdf4:1b39:8777:2::100/64
サーバ server001 <v4>10.1.2.101/24
<v6>fdf4:1b39:8777:2::101/64
※本稿でこのIPv6アドレスに変更します

 次ページからは、図4の構成に以下の追加設定をします。

対象 設定内容
DHCPv6 サーバ server001をDHCPv6サーバにします。
クライアント側サブネット IPアドレスも含むすべてのIP構成情報をDHCPv6サーバから取得します(ステートフル自動構成)。
サーバ側サブネット サーバ側サブネットは、IPv6アドレスの手動構成を行うコンピュータと、自動構成を行うコンピュータが混在すると仮定します。自動構成では、IPv6アドレスとデフォルトゲートウェイはステートレス自動構成を行い、DNSサーバのIPv6アドレスはDHCPv6サーバから取得します(ステートレスDHCPv6)。
レイヤ3デバイス(レイヤ3スイッチかルータ) DHCPv6リレーエージェントの設定
ルータ広告メッセージのMおよびOフラグの調整
       1|2|3 次のページへ

Copyright© 2017 ITmedia, Inc. All Rights Reserved.

@IT Special

- PR -

TechTargetジャパン

この記事に関連するホワイトペーパー

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。