ワイヤレス : Cisco 4400 ???? Wireless LAN Controller

WLC での DHCP

2015 年 11 月 26 日 - 機械翻訳について
その他のバージョン: PDFpdf | ライター翻訳版 (2011 年 10 月 21 日) | 英語版 (2015 年 8 月 22 日) | フィードバック


目次


概要

Cisco Unified Wireless ソリューションを使用しているお客様から、Wireless LAN Controller(WLC; ワイヤレス LAN コントローラ)でサポートされている DHCP の問題が報告されています。 これらの問題の一部は、ソフトウェアのバグまたはデバッグの問題です。 DHCP 実装の正しい知識がないために問題が発生することもあります。

このドキュメントでは、ワイヤレス コントローラでのさまざまな DHCP の動作を説明し、お客様の問題と TAC ケースを減らすために整合性のある正確な情報を提供します。

前提条件

要件

このドキュメントに関する特別な要件はありません。

使用するコンポーネント

このドキュメントは、特定のソフトウェアやハードウェアのバージョンに限定されるものではありません。

表記法

ドキュメント表記の詳細は、『シスコ テクニカル ティップスの表記法』を参照してください。

外部 DHCP サーバ

外部 DHCP サーバを使用する場合、WLC では DHCP 動作の次の 2 つのモードをサポートしています。

  • DHCP プロキシ モード

  • DHCP ブリッジ モード

DHCP プロキシ モードは DHCP ヘルパー機能として動作し、DHCP サーバとワイヤレス クライアント間の DHCP トランザクションのセキュリティと制御を強化します。 DHCP ブリッジ モードには、DHCP トランザクションでのコントローラの役割をワイヤレス クライアントに対して完全に透過的にするオプションがあります。

DHCP プロキシとブリッジ モードの比較

クライアント DHCP の処理 DHCP プロキシ モード DHCP ブリッジ モード
giaddr の変更 はい いいえ
siaddr の変更 はい いいえ
パケット コンテンツの変更 はい いいえ
冗長オファーは転送されない はい いいえ
オプション 82 のサポート はい いいえ
ユニキャストへのブロードキャスト はい いいえ
BOOTP のサポート いいえ サーバ
RFC 非準拠 プロキシとリレー エージェントは同じ概念ではありません。 RFC に完全に準拠するには、DHCP ブリッジ モードを推奨します。 いいえ

DHCP プロキシ モード

DHCP プロキシはすべてのネットワーク環境に最適であるとは限りません。 コントローラは、すべての DHCP トランザクションを変更およびリレーしてヘルパーとして機能し、特定のセキュリティ問題に対応します。

通常、コントローラの仮想 IP アドレスは、クライアントに対するすべての DHCP トランザクションの送信元 IP アドレスとして使用されます。 その結果、実際の DHCP サーバ IP アドレスが公表されることはありません。 この仮想 IP はコントローラ上で、DHCP トランザクションのデバッグ出力として表示されます。 ただし、仮想 IP アドレスを使用すると、特定のタイプのクライアントに問題が発生することがあります。

DHCP プロキシ モードは、同期モビリティ プロトコルと非同期モビリティ プロトコルの両方で同じように動作します。

外部 DHCP サーバから複数のオファーが着信すると、通常 DHCP プロキシは着信した最初のオファーを選択して、そのサーバの IP アドレスをクライアントのデータ構造に設定します。 その結果、試行後にトランザクションが失敗するまで、後続のトランザクションはすべて同じ DHCP サーバを通過します。 この時、プロキシはクライアントに異なる DHCP サーバを選択します。

DHCP プロキシはデフォルトでイネーブルです。 通信するすべてのコントローラには同じ DHCP プロキシ設定が必要です。

注: DHCP オプション 82 が正常に動作するには、DHCP プロキシがイネーブルになっている必要があります。

プロキシ パケットのフロー

dhcp-wlc-01.gif

プロキシ パケットのキャプチャ

コントローラが DHCP プロキシ モードの場合、コントローラは DHCP パケットを DHCP サーバに送信するだけでなく、実際に新しい DHCP パケットを作成して、DHCP サーバに転送します。 クライアントの DHCP パケットに存在するすべての DHCP オプションは、コントローラの DHCP パケットにコピーされます。 次のスクリーンショットには、DHCP Request パケットの例が示されています。

クライアント側

このスクリーンショットはクライアント側から撮ったパケットのキャプチャです。 ここには、DHCP Discover、DHCP Offer、DHCP Request、DHCP ACK が示されています。 DHCP Request が強調表示され、bootp プロトコルの詳細が展開されて、DHCP オプションが示されています。

dhcp-wlc-02.gif

サーバ側

このスクリーンショットはサーバ側から撮ったパケットのキャプチャです。 前の例と同様、DHCP Discover、DHCP Offer、DHCP Request、DHCP ACK が示されています。 ただし、これらは DHCP プロキシの機能としてコントローラが作成したパケットです。 ここでも、DHCP Request が強調表示され、bootp プロトコルの詳細が展開されて、DHCP オプションが示されています。 これらが、クライアントの DHCP Request パケットと同じであることに注目してしてください。 また、WLC プロキシがパケットをリレーして、パケット アドレスを強調表示することにも注目してください。

dhcp-wlc-03.gif

プロキシの設定例

コントローラを DHCP プロキシとして使用するには、コントローラで DHCP プロキシ機能をイネーブルにする必要があります。 デフォルトでは、この機能はイネーブルです。 DHCP プロキシをイネーブルにするには、次の CLI コマンドを使用する必要があります。 また、4.2.x.x コードでは、このコマンドは CLI でのみ実行できます。

(Cisco Controller) >config dhcp proxy enable
(Cisco Controller) >show dhcp proxy

DHCP Proxy Behavior: enabled

DHCP プロキシを動作させるには、DHCP サービスが必要な各コントローラ インターフェイスにプライマリ DHCP サーバを設定する必要があります。 DHCP サーバは管理インターフェイス、AP マネージャ インターフェイス、ダイナミック インターフェイスで設定できます。 次の CLI コマンドを使用して、各インターフェイスに DHCP サーバを設定できます。

(Cisco Controller) >config interface dhcp ap-manager primary <primary-server>
(Cisco Controller) >config interface dhcp management primary <primary-server>
(Cisco Controller) >config interface dhcp dynamic-interface <interface-name> primary <primary-server>

DHCP ブリッジ機能はグローバル設定であるため、コントローラ内のすべての DHCP トランザクションに影響します。

トラブルシューティング

次に、debug dhcp packet enable コマンドの出力を示します。 デバッグには、コントローラが MAC アドレス 00:40:96:b4:8c:e1 のクライアントから DHCP Request を受信し、DHCP Request を DHCP サーバに送信し、DHCP サーバからの応答を受信し、DHCP Offer をクライアントに送信していることが示されています。

(Cisco Controller) >debug dhcp message enable

Thu Jun 25 21:48:55 2009: 00:40:96:b4:8c:e1 DHCP received op BOOTREQUEST (1) (len 312, port 29, encap 0xec03)
Thu Jun 25 21:48:55 2009: 00:40:96:b4:8c:e1 DHCP option len (including the magic cookie) 76
Thu Jun 25 21:48:55 2009: 00:40:96:b4:8c:e1 DHCP option: message type = DHCP REQUEST
Thu Jun 25 21:48:55 2009: 00:40:96:b4:8c:e1 DHCP option: 61 (len 7) - skipping
Thu Jun 25 21:48:55 2009: 00:40:96:b4:8c:e1 DHCP option: requested ip = 50.101.2.7
Thu Jun 25 21:48:55 2009: 00:40:96:b4:8c:e1 DHCP option: 12 (len 7) - skipping
Thu Jun 25 21:48:55 2009: 00:40:96:b4:8c:e1 DHCP option: 81 (len 11) - skipping
Thu Jun 25 21:48:55 2009: 00:40:96:b4:8c:e1 DHCP option: vendor class id = MSFT 5.0 (len 8)
Thu Jun 25 21:48:55 2009: 00:40:96:b4:8c:e1 DHCP option: 55 (len 11) - skipping
Thu Jun 25 21:48:55 2009: 00:40:96:b4:8c:e1 DHCP options end, len 76, actual 68
Thu Jun 25 21:48:55 2009: 00:40:96:b4:8c:e1 DHCP selecting relay 1 - control block settings:
                        dhcpServer: 0.0.0.0, dhcpNetmask: 0.0.0.0,
                        dhcpGateway: 0.0.0.0, dhcpRelay: 0.0.0.0  VLAN: 0
Thu Jun 25 21:48:55 2009: 00:40:96:b4:8c:e1 DHCP selected relay 1 - 11.0.0.11 (local address 50.101.0.11, gateway 50.101.0.1, VLAN 101, port 29)
Thu Jun 25 21:48:55 2009: 00:40:96:b4:8c:e1 DHCP transmitting DHCP REQUEST (3)
Thu Jun 25 21:48:55 2009: 00:40:96:b4:8c:e1 DHCP   op: BOOTREQUEST, htype: Ethernet, hlen: 6, hops: 1
Thu Jun 25 21:48:55 2009: 00:40:96:b4:8c:e1 DHCP   xid: 0xfc3c9979 (4231829881), secs: 0, flags: 0
Thu Jun 25 21:48:55 2009: 00:40:96:b4:8c:e1 DHCP   chaddr: 00:40:96:b4:8c:e1
Thu Jun 25 21:48:55 2009: 00:40:96:b4:8c:e1 DHCP   ciaddr: 0.0.0.0,  yiaddr: 0.0.0.0
Thu Jun 25 21:48:55 2009: 00:40:96:b4:8c:e1 DHCP   siaddr: 0.0.0.0,  giaddr: 50.101.0.11
Thu Jun 25 21:48:55 2009: 00:40:96:b4:8c:e1 DHCP   requested ip: 50.101.2.7
Thu Jun 25 21:48:55 2009: 00:40:96:b4:8c:e1 DHCP Forwarding DHCP packet (332 octets)           -- packet received on direct-connect port requires forwarding to external DHCP server. Next-hop is 50.101.0.1
Thu Jun 25 21:48:55 2009: 00:40:96:b4:8c:e1 DHCP sending REQUEST to 50.101.0.1 (len 350, port 29, vlan 101)
Thu Jun 25 21:48:55 2009: 00:40:96:b4:8c:e1 DHCP selecting relay 2 - control block settings:
                        dhcpServer: 0.0.0.0, dhcpNetmask: 0.0.0.0,
                        dhcpGateway: 0.0.0.0, dhcpRelay: 50.101.0.11  VLAN: 101
Thu Jun 25 21:48:55 2009: 00:40:96:b4:8c:e1 DHCP selected relay 2 - NONE
Thu Jun 25 21:48:55 2009: 00:40:96:b4:8c:e1 DHCP received op BOOTREPLY (2) (len 316, port 29, encap 0xec00)
Thu Jun 25 21:48:55 2009: 00:40:96:b4:8c:e1 DHCP option len (including the magic cookie) 80
Thu Jun 25 21:48:55 2009: 00:40:96:b4:8c:e1 DHCP option: message type = DHCP ACK
Thu Jun 25 21:48:55 2009: 00:40:96:b4:8c:e1 DHCP option: 58 (len 4) - skipping
Thu Jun 25 21:48:55 2009: 00:40:96:b4:8c:e1 DHCP option: 59 (len 4) - skipping
Thu Jun 25 21:48:55 2009: 00:40:96:b4:8c:e1 DHCP option: lease time = 691200 seconds
Thu Jun 25 21:48:55 2009: 00:40:96:b4:8c:e1 DHCP option: server id = 11.0.0.11
Thu Jun 25 21:48:55 2009: 00:40:96:b4:8c:e1 DHCP option: netmask = 255.255.0.0
Thu Jun 25 21:48:55 2009: 00:40:96:b4:8c:e1 DHCP option: 15 (len 14) - skipping
Thu Jun 25 21:48:55 2009: 00:40:96:b4:8c:e1 DHCP option: gateway = 50.101.0.1
Thu Jun 25 21:48:55 2009: 00:40:96:b4:8c:e1 DHCP option: DNS server, cnt = 1, first = 11.0.0.11
Thu Jun 25 21:48:55 2009: 00:40:96:b4:8c:e1 DHCP option: WINS server, cnt = 1, first = 11.0.0.11
Thu Jun 25 21:48:55 2009: 00:40:96:b4:8c:e1 DHCP options end, len 80, actual 72
Thu Jun 25 21:48:55 2009: 00:40:96:b4:8c:e1 DHCP setting server from ACK (server 11.0.0.11, yiaddr 50.101.2.7)
Thu Jun 25 21:48:55 2009: 00:40:96:b4:8c:e1 Assigning Address 50.101.2.7 to mobile
Thu Jun 25 21:48:55 2009: 00:40:96:b4:8c:e1 DHCP sending REPLY to STA (len 424, port 29, vlan 20)
Thu Jun 25 21:48:55 2009: 00:40:96:b4:8c:e1 DHCP transmitting DHCP ACK (5)
Thu Jun 25 21:48:55 2009: 00:40:96:b4:8c:e1 DHCP   op: BOOTREPLY, htype: Ethernet, hlen: 6, hops: 0
Thu Jun 25 21:48:55 2009: 00:40:96:b4:8c:e1 DHCP   xid: 0xfc3c9979 (4231829881), secs: 0, flags: 0
Thu Jun 25 21:48:59 2009: 00:40:96:b4:8c:e1 DHCP   chaddr: 00:40:96:b4:8c:e1
Thu Jun 25 21:48:59 2009: 00:40:96:b4:8c:e1 DHCP   ciaddr: 0.0.0.0,  yiaddr: 50.101.2.7
Thu Jun 25 21:48:59 2009: 00:40:96:b4:8c:e1 DHCP   siaddr: 0.0.0.0,  giaddr: 0.0.0.0
Thu Jun 25 21:48:59 2009: 00:40:96:b4:8c:e1 DHCP   server id: 1.1.1.1  rcvd server id: 11.0.0.11

警告

  • DHCP プロキシがイネーブルになっているコントローラおよびファイアウォールと DHCP サーバの両方として機能するデバイス間には、相互運用性の問題がある可能性があります。 この問題の主な原因は、一般にファイアウォールとして使用されるデバイスのファイアウォール コンポーネントがプロキシ要求に応答しないためです。 この問題を回避するには、コントローラで DHCP プロキシをディセーブルにします。

  • クライアントがコントローラで DHCP REQ 状態にある場合、そのコントローラは DHCP inform パケットをドロップします。 DHCP discover パケットをクライアントから受信するまで、クライアントはコントローラで RUN 状態になりません。この状態は、クライアントがトラフィックを通過させるために必要です。 DHCP プロキシがディセーブルになると、DHCP inform パケットはコントローラから転送されます。

  • 通信するすべてのコントローラには同じ DHCP プロキシ設定が必要です。

DHCP ブリッジ モード

DHCP ブリッジ機能は、DHCP トランザクションでのコントローラの役割をクライアントに対して完全に透過的にするように設定されています。 802.11 からイーサネット II への変換を除き、クライアントからのパケットは、LWAPP トンネルからクライアントの VLAN(または L3 ローミングでは EoIP トンネル)に、変更されずにブリッジされます。 同様に、イーサネット II から 802.11 への変換を除き、クライアントへのパケットは、クライアントの VLAN(または L3 ローミングでは EoIP トンネル)から LWAPP トンネルに、変更されずにブリッジされます。 これは、クライアントをスイッチポートに書き込み、そのクライアントが従来の DHCP トランザクションを実行することと同様であると見なすことができます。

DHCP ブリッジの動作:ブリッジ パケット フロー

dhcp-wlc-04.gif

ブリッジ パケットのキャプチャ:クライアント側

dhcp-wlc-05.gif

上記のクライアント側のパケット キャプチャのスクリーンショットにおいて、プロキシ モードでのクライアント キャプチャとの主な相違点は、コントローラの仮想 IP アドレスの代わりに、DHCP サーバの実際の IP が Offer パケットおよび Ack パケットに示されている点です。

ブリッジ パケットのキャプチャ:サーバ側

dhcp-wlc-06.gif

上記の有線パケット キャプチャのスクリーンショットでは、パケット 40 がテスト クライアント 00:40:96:b6:44:51 から有線ネットワークへの DHCP Request ブロードキャストであることが示されています。

ブリッジの設定例

DHCP ブリッジ機能をコントローラでイネーブルにするには、コントローラで DHCP プロキシ機能をディセーブルにする必要があります。 4.2.x.x コードでこの機能をディセーブルにするには、CLI で次のコマンドを使用する必要があります。

(Cisco Controller) >config dhcp proxy disable
(Cisco Controller) >show dhcp proxy
DHCP Proxy Behaviour: disabled

DHCP サーバがクライアントと同じレイヤ 2 ネットワークに存在しない場合は、ip helper を使用して、クライアント ゲートウェイの DHCP サーバにブロードキャストを転送する必要があります。 次に、この設定の例を示します。

Switch#conf t
Switch(config)#interface vlan <client vlan #>
Switch(config-if)#ip helper-address <dhcp server IP>

DHCP ブリッジ機能はグローバル設定であるため、コントローラ内のすべての DHCP トランザクションに影響します。 コントローラ上にある必要なすべての VLAN の有線インフラストラクチャに ip helper ステートメントを追加する必要があります。

トラブルシューティング

次に、4.2.205.0 コードにあるコントローラからのデバッグ出力の例を示します。 ここに一覧で表示されているデバッグはコントローラ CLI でイネーブルにされ、このドキュメント用に出力の DHCP の部分が抜粋されています。

(Cisco Controller) >debug client 00:40:96:b6:44:51
(Cisco Controller) >debug dhcp message enable

00:40:96:b6:44:51 DHCP received op BOOTREQUEST (1) (len 308, port 1, encap 0xec03) 
00:40:96:b6:44:51 DHCP option len (including the magic cookie) 72 
00:40:96:b6:44:51 DHCP option: message type = DHCP DISCOVER 
00:40:96:b6:44:51 DHCP option: 116 (len 1) - skipping 
00:40:96:b6:44:51 DHCP option: 61 (len 7) - skipping 
00:40:96:b6:44:51 DHCP option: 12 (len 12) - skipping 
00:40:96:b6:44:51 DHCP option: vendor class id = MSFT 5.0 (len 8)
00:40:96:b6:44:51 DHCP option: 55 (len 11) - skipping 
00:40:96:b6:44:51 DHCP options end, len 72, actual 64 
00:40:96:b6:44:51 DHCP processing DHCP DISCOVER (1) 
00:40:96:b6:44:51 DHCP   op: BOOTREQUEST, htype: Ethernet, hlen: 6, hops: 0 
00:40:96:b6:44:51 DHCP   xid: 0x224dfab6 (575535798), secs: 0, flags: 0 
00:40:96:b6:44:51 DHCP   chaddr: 00:40:96:b6:44:51 
00:40:96:b6:44:51 DHCP   ciaddr: 0.0.0.0,  yiaddr: 0.0.0.0 
00:40:96:b6:44:51 DHCP   siaddr: 0.0.0.0,  giaddr: 0.0.0.0 
00:40:96:b6:44:51 DHCP successfully bridged packet to DS 
00:40:96:b6:44:51 DHCP received op BOOTREPLY (2) (len 308, port 1, encap 0xec00) 
00:40:96:b6:44:51 DHCP option len (including the magic cookie) 72
00:40:96:b6:44:51 DHCP option: message type = DHCP OFFER 
00:40:96:b6:44:51 DHCP option: server id = 192.168.10.1 
00:40:96:b6:44:51 DHCP option: lease time = 84263 seconds 
00:40:96:b6:44:51 DHCP option: 58 (len 4) - skipping 
00:40:96:b6:44:51 DHCP option: 59 (len 4) - skipping 
00:40:96:b6:44:51 DHCP option: netmask = 255.255.255.0
00:40:96:b6:44:51 DHCP option: gateway = 192.168.10.1 
00:40:96:b6:44:51 DHCP options end, len 72, actual 64 
00:40:96:b6:44:51 DHCP processing DHCP OFFER (2) 
00:40:96:b6:44:51 DHCP   op: BOOTREPLY, htype: Ethernet, hlen: 6, hops: 0 
00:40:96:b6:44:51 DHCP   xid: 0x224dfab6 (575535798), secs: 0, flags: 0 
00:40:96:b6:44:51 DHCP   chaddr: 00:40:96:b6:44:51 
00:40:96:b6:44:51 DHCP   ciaddr: 0.0.0.0,  yiaddr: 192.168.10.104 
00:40:96:b6:44:51 DHCP   siaddr: 0.0.0.0,  giaddr: 0.0.0.0 
00:40:96:b6:44:51 DHCP   server id: 192.168.10.1  rcvd server id: 192.168.10.1 
00:40:96:b6:44:51 DHCP successfully bridged packet to STA 
00:40:96:b6:44:51 DHCP received op BOOTREQUEST (1) (len 328, port 1, encap 0xec03) 
00:40:96:b6:44:51 DHCP option len (including the magic cookie) 92 
00:40:96:b6:44:51 DHCP option: message type = DHCP REQUEST 
00:40:96:b6:44:51 DHCP option: 61 (len 7) - skipping 
00:40:96:b6:44:51 DHCP option: requested ip = 192.168.10.104 
00:40:96:b6:44:51 DHCP option: server id = 192.168.10.1 
00:40:96:b6:44:51 DHCP option: 12 (len 12) - skipping 
00:40:96:b6:44:51 DHCP option: 81 (len 16) - skipping 
00:40:96:b6:44:51 DHCP option: vendor class id = MSFT 5.0 (len 8) 
00:40:96:b6:44:51 DHCP option: 55 (len 11) - skipping 
00:40:96:b6:44:51 DHCP options end, len 92, actual 84 
00:40:96:b6:44:51 DHCP processing DHCP REQUEST (3) 
00:40:96:b6:44:51 DHCP   op: BOOTREQUEST, htype: Ethernet, hlen: 6, hops: 0 
00:40:96:b6:44:51 DHCP   xid: 0x224dfab6 (575535798), secs: 0, flags: 0 
00:40:96:b6:44:51 DHCP   chaddr: 00:40:96:b6:44:51
00:40:96:b6:44:51 DHCP   ciaddr: 0.0.0.0,  yiaddr: 0.0.0.0 
00:40:96:b6:44:51 DHCP   siaddr: 0.0.0.0,  giaddr: 0.0.0.0 
00:40:96:b6:44:51 DHCP   requested ip: 192.168.10.104 
00:40:96:b6:44:51 DHCP   server id: 192.168.10.1  rcvd server id: 192.168.10.1 
00:40:96:b6:44:51 DHCP successfully bridged packet to DS
00:40:96:b6:44:51 DHCP received op BOOTREPLY (2) (len 308, port 1, encap 0xec00) 
00:40:96:b6:44:51 DHCP option len (including the magic
cookie) 72 00:40:96:b6:44:51 DHCP option: message type = DHCP ACK 
00:40:96:b6:44:51 DHCP option: server id = 192.168.10.1 
00:40:96:b6:44:51 DHCP option: lease time = 86400 seconds 
00:40:96:b6:44:51 DHCP option: 58 (len 4) - skipping 
00:40:96:b6:44:51 DHCP option: 59 (len 4) - skipping 
00:40:96:b6:44:51 DHCP option: netmask = 255.255.255.0 
00:40:96:b6:44:51 DHCP option: gateway = 192.168.10.1 
00:40:96:b6:44:51 DHCP options end, len 72, actual 64 
00:40:96:b6:44:51 DHCP processing DHCP ACK (5) 
00:40:96:b6:44:51 DHCP   op: BOOTREPLY, htype: Ethernet, hlen: 6, hops: 0
00:40:96:b6:44:51 DHCP   xid: 0x224dfab6 (575535798), secs: 0, flags: 0 
00:40:96:b6:44:51 DHCP   chaddr: 00:40:96:b6:44:51 
00:40:96:b6:44:51 DHCP   ciaddr: 0.0.0.0,  yiaddr: 192.168.10.104 
00:40:96:b6:44:51 DHCP   siaddr: 0.0.0.0,  giaddr: 0.0.0.0 
00:40:96:b6:44:51 DHCP   server id: 192.168.10.1  rcvd server id: 192.168.10.1
00:40:96:b6:44:51 Assigning Address 192.168.10.104 to mobile  
00:40:96:b6:44:51 DHCP successfully bridged packet to STA
00:40:96:b6:44:51 192.168.10.104 Added NPU entry of type 1

この DHCP デバッグ出力には、コントローラで DHCP ブリッジが使用されていることを示すいくつかの点があります。

“「DHCP successfully bridged packet to DS」:クライアントから送信された元の DHCP パケットは変更されずに Distribution System(DS; 配信システム)にブリッジされたことを示します。 DS は有線のインフラストラクチャです。

“「DHCP successfully bridged packet to STA」:このメッセージは、DHCP パケットは変更されずに Station(STA; ステーション)にブリッジされたことを示します。 STA は DHCP を要求しているクライアント マシンです。

また、デバッグには実際のサーバ IP が表示されています。これは 192.168.10.1 です。 DHCP ブリッジの代わりに DHCP プロキシが使用されている場合、サーバ IP にはコントローラの仮想 IP アドレスが表示されます。

警告

  • デフォルトでは、DHCP プロキシはイネーブルです。

  • 通信するすべてのコントローラには同じ DHCP プロキシ設定が必要です。

  • DHCP オプション 82 が動作するには、DHCP プロキシがイネーブルになっている必要があります。

リリース 4.2 よりも前の DHCP ブリッジ

4.2 コード リリースよりも前では、コントローラ上の DHCP プロキシをディセーブルにできました。 ただし、DHCP プロキシをディセーブルにしても、実際には DHCP パケットを有線ネットワークにブリッジできませんでした。 4.2 よりも前では、引き続きコントローラで DHCP 通信が DHCP サーバにプロキシされていましたが、コントローラの仮想 IP アドレスを送信するのではなく、クライアント自体には DHCP サーバの実際の IP アドレスが通知されていました。

内部 DHCP サーバ

内部 DHCP サーバは、外部 DHCP サーバを使用できないブランチ オフィス用に当初から導入されていました。 内部 DHCP サーバは、同じサブネットにある AP が 10 個未満の小さいワイヤレス ネットワークをサポートするように設計されています。 内部サーバは、ワイヤレス クライアント、直接接続 AP、管理インターフェイスのアプライアンス モード AP、および AP から中継される DHCP 要求に対し、IP アドレスを提供します。 内部サーバは、本格的な汎用 DHCP サーバではありません。 内部サーバは制限された機能のみをサポートし、大規模な実装では拡張できません。

内部 DHCP とブリッジ モードの比較

コントローラの主要な 2 つの DHCP モードは、DHCP プロキシまたは DHCP ブリッジのいずれかです。 DHCP ブリッジを使用すると、コントローラは自律型 AP による DHCP Back のように機能します。 DHCP パケットは、VLAN にリンクされている SSID へのクライアント関連付けから AP に送信されます。 次に、DHCP パケットはその VLAN から送信されます。 IP ヘルパーがその VLAN のレイヤ 3 ゲートウェイに定義されている場合、パケットはダイレクト ユニキャストを介して DHCP サーバに転送されます。 次に、DHCP サーバは、その DHCP パケットを転送したレイヤ 3 インターフェイスに直接応答を返します。 DHCP プロキシでも概念は同じですが、すべての転送は VLAN レイヤ 3 インターフェイスではなく、コントローラで直接行われます。 たとえば、DHCP Request がクライアントから WLAN に送信されると、WLAN は VLAN のインターフェイスに定義されている DHCP サーバを使用するか、または WLAN の DHCP 上書き機能を使用して、ユニキャスト DHCP パケットを DHCP サーバに転送します。DHCP パケットの GIADDR フィールドには VLAN インターフェイスの IP アドレスを入力されてます。

内部 DHCP サーバ:パケット フロー

dhcp-wlc-07.gif

内部 DHCP サーバの設定例

内部 DHCP サーバが動作するには、コントローラで DHCP プロキシをイネーブルにする必要があります。 これは、次のセクションにある GUI から行うことができます。

Controller->Advanced->DHCP  
(Note: Setting the DHCP proxy via the GUI is not available in all versions)

/image/gif/paws/110865/dhcp-wlc-08.gif

または、次のように CLI からも行うことができます。

Config dhcp proxy enable
Save config

内部 DHCP サーバをイネーブルにするには、次の手順を実行します。

  1. IP アドレスを生成するために使用する範囲を定義します([Controller] -> [Internal DHCP Server] -> [DHCP Scope]) [New] をクリックします。

    dhcp-wlc-09.gif

  2. いずれかの DHCP 上書きが、コントローラの管理インターフェイス IP アドレスにポイントするように設定します。

    dhcp-wlc-10.gif

    または、使用する内部 DHCP サーバのインターフェイスとして、コントローラ インターフェイス設定の DHCP オプションを使用することもできます。

    dhcp-wlc-11.gif

  3. DHCP プロキシがイネーブルであることを確認します。

    dhcp-wlc-12.gif

トラブルシューティング

通常、内部 DHCP サーバのデバッグは、IP アドレスの取得に問題があるクライアントを見つける作業です。 次のデバッグを実行する必要があります。

debug client <MAC ADDRESS OF CLIENT>

debug client は、入力したクライアント MAC アドレスのみでデバッグをイネーブルにするマクロです。

debug dhcp packet enable
debug dot11 mobile enable
debug dot11 state enable
debug dot1x events enable
debug pem events enable
debug pem state enable
debug cckm client debug enable

DHCP が発行する主なコマンドは、debug client コマンドによって自動的にイネーブルになる debug dhcp packet enable コマンドです。

00:1b:77:2b:cf:75 dhcpd: received DISCOVER 
00:1b:77:2b:cf:75 dhcpd: Sending DHCP packet (giaddr:192.168.100.254)to 127.0.0.1:67  from 127.0.0.1:1067 
00:1b:77:2b:cf:75 sendto (548 bytes) returned 548
00:1b:77:2b:cf:75 DHCP option len (including the magic cookie) 312 
00:1b:77:2b:cf:75 DHCP option: message type = DHCP OFFER 
00:1b:77:2b:cf:75 DHCP option: server id = 192.168.100.254 
00:1b:77:2b:cf:75 DHCP option: lease time = 86400 seconds 
00:1b:77:2b:cf:75 DHCP option: gateway = 192.168.100.1 
00:1b:77:2b:cf:75 DHCP option: 15 (len 13) - skipping 
00:1b:77:2b:cf:75 DHCP option: netmask = 255.255.255.0 
00:1b:77:2b:cf:75 DHCP options end, len 312, actual 64 
00:1b:77:2b:cf:75 DHCP option len (including the magic cookie) 81 
00:1b:77:2b:cf:75 DHCP option: message type = DHCP REQUEST 
00:1b:77:2b:cf:75 DHCP option: 61 (len 7) - skipping 
00:1b:77:2b:cf:75 DHCP option: requested ip = 192.168.100.100 
00:1b:77:2b:cf:75 DHCP option: server id = 1.1.1.1 
00:1b:77:2b:cf:75 DHCP option: 12 (len 14) - skipping 
00:1b:77:2b:cf:75 DHCP option: vendor class id = MSFT 5.0 (len 8) 
00:1b:77:2b:cf:75 DHCP option: 55 (len 11) - skipping 
00:1b:77:2b:cf:75 DHCP option: 43 (len 3) - skipping 
00:1b:77:2b:cf:75 DHCP options end, len 81, actual 73 
00:1b:77:2b:cf:75 DHCP Forwarding packet locally (340 octets) from 192.168.100.254 to 192.168.100.254
dhcpd: Received 340 byte dhcp packet from 0xfe64a8c0 192.168.100.254:68
00:1b:77:2b:cf:75 dhcpd: packet 192.168.100.254 -> 192.168.100.254 using scope "User Scope" 
00:1b:77:2b:cf:75 dhcpd: received REQUEST 
00:1b:77:2b:cf:75 Checking node 192.168.100.100  Allocated 1246985143, Expires 1247071543 (now: 1246985143) 
00:1b:77:2b:cf:75 dhcpd: server_id = c0a864fe 
00:1b:77:2b:cf:75 dhcpd: server_id = c0a864fe adding option 0x35 adding option 0x36 adding option 0x33 adding option 0x03 adding option 0x0f adding option 0x01 
00:1b:77:2b:cf:75 dhcpd: Sending DHCP packet (giaddr:192.168.100.254)to 127.0.0.1:67  from 127.0.0.1:1067 
00:1b:77:2b:cf:75 sendto (548 bytes) returned 548
00:1b:77:2b:cf:75 DHCP option len (including the magic cookie) 312 
00:1b:77:2b:cf:75 DHCP option: message type = DHCP ACK 
00:1b:77:2b:cf:75 DHCP option: server id = 192.168.100.254 
00:1b:77:2b:cf:75 DHCP option: lease time = 86400 seconds 
00:1b:77:2b:cf:75 DHCP option: gateway = 192.168.100.1 
00:1b:77:2b:cf:75 DHCP option: 15 (len 13) - skipping 
00:1b:77:2b:cf:75 DHCP option: netmask = 255.255.255.0 
00:1b:77:2b:cf:75 DHCP options end, len 312, actual 64 

WLC の内部 DHCP サーバでの DHCP リースのクリア

ワイヤレス LAN コントローラ バージョン 7.0.98 では、次のコマンドを発行して、WLC の内部 DHCP サーバにある DHCP リースをクリアできます。

config dhcp clear-lease <all/IP Address>

次に例を示します。

config dhcp clear-lease all

警告

  • 内部 DHCP サーバが機能するには、DHCP プロキシをイネーブルにする必要があります。

  • 内部 DHCP サーバを使用するときに、ポート 1067 に対して DHCP を使用すると、CPU ACL の影響を受けます。

  • 内部 DHCP サーバは、127.0.0.1 UDP ポート 67 を介して、コントローラ ループバック インターフェイスでリッスンします。

エンド ユーザ インターフェイス

  • config dhcp proxy disable コマンドは、DHCP ブリッジ機能を使用します。 これはグローバル コマンドです(WLAN ごとのコマンドではありません)。

  • 既存の実装で動作の一貫性を保つために、デフォルトでは DHCP プロキシはイネーブルのままです。

  • DHCP プロキシをディセーブルにすると、ローカル WLAN は内部 DHCP サーバを使用できません。 ブリッジ動作は、パケットを内部サーバにリダイレクトするために必要な動作と同じにはなりません。 ブリッジは単にブリッジするだけとなり、DHCP パケットは LWAPP トンネルからクライアントの VLAN に(またクライアントの VLAN から LWAPP トンネルに)、変更されずに渡されます。ただし、802.11 からイーサネット II への変換は除きます。

  • プロキシをイネーブルにする場合、WLAN をイネーブルにするには、DHCP サーバを WLAN のインターフェイス(または WLAN 自体)で設定する必要があります。 プロキシがディセーブルのときには、サーバは使用されないため、サーバを設定する必要はありません。

  • ユーザが DHCP プロキシをイネーブルにしようとすると、すべての WLAN(または関連付けられているインターフェイス)に DHCP サーバが設定されていることを内部で確認します。 設定されていないと、イネーブル動作は失敗します。

DHCP 要求

WLAN の高度な設定には、RUN 状態(クライアントがコントローラからトラフィックを通過させることができる状態)になる前に、DHCP の送信をユーザに要求するオプションがあります。 このオプションでは、DHCP Request の全部または半分をクライアントに要求します。 クライアントからコントローラに提示される主要なものは、DHCP Request と DHCP サーバから戻される ACK です。 クライアントでこれらの手順が行われる限り、クライアントは DHCP が要求する手順を通過し、RUN 状態に移行します。

dhcp-wlc-13.gif

L2 と L3 のローミング

L2 - Roam:クライアントに有効な DHCP リースがあり、同じ L2 ネットワークにある 2 つの異なるコントローラ間で L2 ローミングを実行する場合、クライアントで re-dhcp を実行する必要はなく、クライアント エントリはすべて元のコントローラから新しいコントローラに移行します。 次に、クライアントに DHCP が必要な場合、現在のコントローラ上の DHCP ブリッジまたはプロキシ プロトコルは、再度パケットを透過的にブリッジします。

L3 – Roam:L3 ローミングの場合、クライアントは異なる L3 ネットワークにある 2 つの異なるコントローラ間を移動します。 この場合、クライアントは元のコントローラにアンカーされ、新しい外部コントローラのクライアント テーブルに表示されます。 アンカーされている間、クライアント データは外部コントローラとアンカー コントローラ間の EoIP トンネル内でトンネルされるため、クライアントの DHCP はアンカー コントローラで処理されます。

関連するシスコ サポート コミュニティ ディスカッション

シスコ サポート コミュニティは、どなたでも投稿や回答ができる情報交換スペースです。


関連情報


Document ID: 110865