Cisco のWLC(ワイヤレスLANコントロール)を使い無線環境を構築したのですが、なぜか特定VLANのDHCPサーバからだけ無線接続時にIPアドレスの割り振られない現象が起きました。
もちろん有線ではDHCPサーバからIPアドレスを取得します。WLC配下のLightweight APからのみIPアドレスが取得できないということで対処してみました。
ネットワークイメージ
VLAN10,20とも有線LANでは問題ありません。何故かVLAN20のみ無線接続時のDHCPのアドレス取得で発生します。
問題個所の切り分け
直接L2スイッチに自律型のAironetのアクセスポイントを仮設置してみたところ、問題なくIPアドレスを取得してくれました。L3,L2スイッチの設定は間違いないようです。
この時点で「WLCが怪しい」と思いVLAN10, 20のInterface設定、WLANs(SSID)設定を比較しましたが、GUIでは設定に違いが無く。
とは言え切り分け結果からすると、WLCを経由した端末側からのDHCPを要求するパケット(DHCP Offer or Request)がVLAN20のDHCPサーバまで届いていないことが想像されます。
WLCの外部DHCサーバの仕組み
先ほどのCiscoの参考URLを見ていると、WLCの外部DHCPを使った仕組みには
・DHCPプロキシ モード
・DHCPブリッジ モード
の2通りの方法があることがわかりました。
デフォルトで「DHCPプロキシ」が有効になっているようです。
DHCPプロキシ モード
DHCPプロキシモードについて、Ciscoのサイトには下記の注意が書かれています。
DHCPブリッジ モード
対してDHCPブリッジは特に問題になることがないようです。有線LANのDHCPと同じ仕組みのようです。
WLCを「DHCP ブリッジ モード」に変更する
ここまでの情報を整理すると、外部のDHCPサーバで問題が出る場合は、「DHCPブリッジ モード」に変更するのが「吉」のようです。
DHCPブリッジモードへの変更手順
WLCにコマンドで設定します。というか、コマンドでしか設定できません。(GUIでも行けました。)
ConsoleケーブルかSSHで接続して操作します。
WLCでコマンド設定する場合
(Cisco Controller) >config dhcp proxy disable
(Cisco Controller) >show dhcp proxy
DHCP Proxy Behaviour: disabled
「DHCP Proxy Behaviour:disable]がDHCPブリッジモードに切り替わったことを意味します。
WLCでGUI設定する場合
[CONTROLLER]-[Advanced]-[DHCP]の「Enable DHCP Proxy」のチェックをオフにします。
L3スイッチの実行コマンド
WLCを接続しているスイッチのVLANインターフェースにDHCPリレーをコマンド(ip helper-address)で設定します。
Switch#conf t
Switch(config)#interface vlan <#VLAN ID>
Switch(config-if)#ip helper-address <DHCPサーバ IPアドレス>
まとめ
WLCの外部DHCPのモードをDHCPブリッジモードに変更することで、
最初からIPアドレスの自動配布がOKだったVLAN10、ダメだったVLAN20とも問題なく動作するようになりました。
なぜVLAN20だけダメなのかハッキリした理由は不明ですが(管理者が他社なのでこれ以上は追及できず)、WLCのDHCP関連でうまくいかない場合はモード変更をコマンドで試してみましょう。
本番環境で試すのは怖いですが失敗したらこう言ってやりましょう。
コメント