目录

简介

先决条件

要求

使用的组件

规则

外部 DHCP 服务器

DHCP 代理和桥接模式比较

DHCP 代理模式

代理数据包流

代理数据包捕获

代理配置示例

排除故障

警告

DHCP 桥接模式

DHCP 桥接操作 - 桥接数据包流

桥接数据包捕获 -客户端角度

桥接数据包捕获 -服务器角度

桥接配置示例

排除故障

警告

版本4.2 之前的 DHCP 桥接

内部 DHCP 服务器

内部DHCP 和桥接模式比较

内部DHCP 服务器 - 数据包流

内部DHCP 服务器配置示例

排除故障

清除WLC 的内部 DHCP 服务器上的 DHCP 租用

警告

最终用户接口

所需的 DHCP

L2 L3 漫游

相关信息

简介

使用 Cisco 统一无线解决方案的客户一直在报告无线局域网控制器 (WLC) 上提供的 DHCP 支持的问题。其中一些问题属于软件 Bug 或可调试性问题,另外一些问题是由于对 DHCP 实施缺乏正确了解引起的。

本文档描述无线控制器上的各种 DHCP 操作,为客户提供准确而一致的信息,努力减少相关客户问题和 TAC 案例。

先决条件

要求

本文档没有任何特定的要求。

使用的组件

本文档不限于特定的软件和硬件版本。

规则

有关文档规则的详细信息,请参阅 Cisco 技术提示规则

外部 DHCP 服务器

在使用外部 DHCP 服务器时,WLC 支持两种 DHCP 操作模式:

·        DHCP 代理模式

·        DHCP 桥接模式

DHCP 代理模式是一项 DHCP 帮助程序功能,用于实现更高的安全性,并对 DHCP 服务器和无线客户端之间的 DHCP 事务进行控制。DHCP桥接模式提供一个选项做控制器?在DHCP处理的s作用完全地透明对无线客户端。

DHCP 代理和桥接模式比较

                                                     
 

处理客户端 DHCP

 
 

DHCP 代理模式

 
 

DHCP 桥接模式

 
 

修改 giaddr

 
 

 
 

 
 

修改 siaddr

 
 

 
 

 
 

修改数据包内容

 
 

 
 

 
 

不转发冗余内容

 
 

 
 

 
 

选项 82 支持

 
 

 
 

 
 

广播到单播

 
 

 
 

 
 

BOOTP 支持

 
 

 
 

服务器

 
 

不符合 RFC

 
 

代理和中继代理不完全是同一个概念。推荐使用 DHCP 桥接模式,这样才能完全符合 RFC 标准。

 
 

 

DHCP 代理模式

DHCP 代理并不适用于所有网络环境。控制器将修改并转发所有 DHCP 事务,以提供帮助程序功能,并处理某些安全问题。

控制器?s虚拟IP地址通常使用作为所有DHCP处理源IP地址对客户端的。因此,不会公开真实的 DHCP 服务器 IP 地址。此虚拟 IP 在控制器上的 DHCP 事务的 debug 输出中显示。不过,在某些类型的客户端上使用虚拟 IP 地址可能会导致问题。

不管是对称移动协议还是非对称移动协议,DHCP 代理模式操作的行为都是相同的。

当多个数据包来自外部 DHCP 服务器时,DHCP 代理通常会选择第一个进入的数据包,并在客户端数据结构中设置服务器的 IP 地址。因此,以下所有事务都将通过同一个 DHCP 服务器,直到某个事务在重试后失效。这时,代理将为客户端选择其他 DHCP 服务器。

默认情况下会启用 DHCP 代理。所有将要进行通信的控制器必须采用相同的 DHCP 代理设置。

注意: 必须启用 DHCP 代理,以便 DHCP 选项 82 能够正常运行。

代理数据包流

dhcp-wlc-01.gif

代理数据包捕获

实际上,当控制器处于 DHCP 代理模式时,它不仅会将 DHCP 数据包传送至 DHCP 服务器,而且也会构建新的 DHCP 数据包并将其转发到 DHCP 服务器。客户端 DHCP 数据包中的所有 DHCP 选项将复制到控制器的 DHCP 数据包中。接下来的屏幕截图示例显示了 DHCP 请求数据包的这一过程。

客户端角度

此屏幕截图描述的是从客户端角度截取的数据包捕获过程。它显示了 DHCP 发现,DHCP 提供、DHCP 请求和 DHCP ACKDHCP 请求将突出显示,并且 bootp 协议详细信息将进一步显示 DHCP 选项。

dhcp-wlc-02.gif

服务器角度

此屏幕画面从服务器采取的是数据包捕获?s前景。类似于前一示例,它显示了 DHCP 发现,DHCP 提供、DHCP 请求和 DHCP ACK。不过,这些都是控制器在充当 DHCP 代理时构建的数据包。同样,DHCP 请求将突出显示,并且 bootp 协议详细信息将进一步显示 DHCP 选项。请注意,它们与客户端 DHCP 请求数据包中的内容相同。另外请注意,WLC 代理将转发数据包并突出显示数据包地址。

dhcp-wlc-03.gif

代理配置示例

要将控制器用作 DHCP 代理,必须在控制器上启用 DHCP 代理功能。默认情况下会启用此功能。要启用 DHCP 代理,必须使用以下 CLI 命令。而且,在 4.2.x.x 代码中,此操作只能在 CLI 中完成。

(Cisco Controller) >config dhcp proxy enable(Cisco Controller) >show dhcp proxyDHCP Proxy Behavior: enabled

要运行 DHCP 代理,必须在需要 DHCP 服务的每个控制器接口上配置一个主 DHCP 服务器。可以在管理接口、AP 管理器接口和动态接口上配置 DHCP 服务器。以下 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 命令的输出。该 debug 显示,控制器从 MAC 地址为 00:40:96:b4:8c:e1 的客户端收到一个 DHCP 请求,向 DHCP 服务器传送了一个 DHCP 请求,从 DHCP 服务器收到一个回复,并向客户端发送了一个 DHCP 提供。

(Cisco Controller) >debug dhcp message enableThu 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) 76Thu Jun 25 21:48:55 2009: 00:40:96:b4:8c:e1 DHCP option: message type = DHCP REQUESTThu Jun 25 21:48:55 2009: 00:40:96:b4:8c:e1 DHCP option: 61 (len 7) - skippingThu Jun 25 21:48:55 2009: 00:40:96:b4:8c:e1 DHCP option: requested ip = 50.101.2.7Thu Jun 25 21:48:55 2009: 00:40:96:b4:8c:e1 DHCP option: 12 (len 7) - skippingThu Jun 25 21:48:55 2009: 00:40:96:b4:8c:e1 DHCP option: 81 (len 11) - skippingThu 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) - skippingThu Jun 25 21:48:55 2009: 00:40:96:b4:8c:e1 DHCP options end, len 76, actual 68Thu 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: 0Thu 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: 1Thu Jun 25 21:48:55 2009: 00:40:96:b4:8c:e1 DHCP   xid: 0xfc3c9979 (4231829881), secs: 0, flags: 0Thu Jun 25 21:48:55 2009: 00:40:96:b4:8c:e1 DHCP   chaddr: 00:40:96:b4:8c:e1Thu Jun 25 21:48:55 2009: 00:40:96:b4:8c:e1 DHCP   ciaddr: 0.0.0.0,  yiaddr: 0.0.0.0Thu Jun 25 21:48:55 2009: 00:40:96:b4:8c:e1 DHCP   siaddr: 0.0.0.0,  giaddr: 50.101.0.11Thu Jun 25 21:48:55 2009: 00:40:96:b4:8c:e1 DHCP   requested ip: 50.101.2.7Thu 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.1Thu 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: 101Thu Jun 25 21:48:55 2009: 00:40:96:b4:8c:e1 DHCP selected relay 2 - NONEThu 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) 80Thu Jun 25 21:48:55 2009: 00:40:96:b4:8c:e1 DHCP option: message type = DHCP ACKThu Jun 25 21:48:55 2009: 00:40:96:b4:8c:e1 DHCP option: 58 (len 4) - skippingThu Jun 25 21:48:55 2009: 00:40:96:b4:8c:e1 DHCP option: 59 (len 4) - skippingThu Jun 25 21:48:55 2009: 00:40:96:b4:8c:e1 DHCP option: lease time = 691200 secondsThu Jun 25 21:48:55 2009: 00:40:96:b4:8c:e1 DHCP option: server id = 11.0.0.11Thu Jun 25 21:48:55 2009: 00:40:96:b4:8c:e1 DHCP option: netmask = 255.255.0.0Thu Jun 25 21:48:55 2009: 00:40:96:b4:8c:e1 DHCP option: 15 (len 14) - skippingThu Jun 25 21:48:55 2009: 00:40:96:b4:8c:e1 DHCP option: gateway = 50.101.0.1Thu Jun 25 21:48:55 2009: 00:40:96:b4:8c:e1 DHCP option: DNS server, cnt = 1, first = 11.0.0.11Thu Jun 25 21:48:55 2009: 00:40:96:b4:8c:e1 DHCP option: WINS server, cnt = 1, first = 11.0.0.11Thu Jun 25 21:48:55 2009: 00:40:96:b4:8c:e1 DHCP options end, len 80, actual 72Thu 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 mobileThu 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: 0Thu Jun 25 21:48:55 2009: 00:40:96:b4:8c:e1 DHCP   xid: 0xfc3c9979 (4231829881), secs: 0, flags: 0Thu Jun 25 21:48:59 2009: 00:40:96:b4:8c:e1 DHCP   chaddr: 00:40:96:b4:8c:e1Thu Jun 25 21:48:59 2009: 00:40:96:b4:8c:e1 DHCP   ciaddr: 0.0.0.0,  yiaddr: 50.101.2.7Thu Jun 25 21:48:59 2009: 00:40:96:b4:8c:e1 DHCP  siaddr: 0.0.0.0,  giaddr: 0.0.0.0Thu 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 发现数据包之前,控制器上的客户端不会进入 RUN 状态(要使客户端传送流量,这是必需的)。禁用 DHCP 代理时,将由控制器转发 DHCP inform 数据包。

·        所有将要进行通信的控制器必须采用相同的 DHCP 代理设置。

DHCP 桥接模式

桥接功能的DHCP设计做控制器?在DHCP处理的s作用完全地透明对客户端。除对以太网II转换的802.11外,从客户端的数据包桥接非限定从LWAPP通道到客户端?s VLAN (或在漫游案件)L3EoIP通道。同样地,除以太网II外于802.11转换,数据包对客户端桥接非限定从客户端?s VLAN (或在漫游案件)L3EoIP通道对LWAPP通道。此过程可以理解为先将客户端接入交换机端口,然后由该客户端执行传统的 DHCP 事务。

DHCP 桥接操作 - 桥接数据包流

dhcp-wlc-04.gif

桥接数据包捕获 - 客户端角度

dhcp-wlc-05.gif

在以上客户端数据包捕获的屏幕画面,捕获在代理模式是DHCP服务器的实时IP的客户端之间的主要区别在提供和Ack数据包被看到而不是控制器?s虚拟IP地址。

桥接数据包捕获 - 服务器角度

dhcp-wlc-06.gif

在以上有线数据包捕获屏幕截图中,您可以看到,数据包 40 是从测试客户端 00:40:96:b6:44:51 到有线网络的桥接 DHCP 请求广播。

桥接配置示例

要在控制器上启用 DHCP 桥接功能,您必须在控制器上禁用 DHCP 代理功能。在 4.2.x.x 代码中,此操作只能在 CLI 中使用以下命令完成:

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

如果 DHCP 服务器与客户端位于不同的第 2 层网络上,则需要使用 IP 帮助程序将广播转发到客户端网关处的 DHCP 服务器。以下是此配置的一个示例:

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

DHCP 桥接功能是一项全局设置,因此会影响控制器内的所有 DHCP 事务。您需要在有线基础架构中为控制器上的所有必需 VLAN 添加 IP 帮助程序语句。

排除故障

以下为使用 4.2.205.0 代码的控制器的 debug 输出示例。此处列出的 debug 已在控制器 CLI 上启用,并且已针对本文档提取出了输出的 DHCP 部分。

(Cisco Controller) >debug client 00:40:96:b6:44:51(Cisco Controller) >debug dhcp message enable00: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) 7200: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.000: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:5100: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 DS00: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 magiccookie) 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: 000: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.100:40:96:b6:44:51 Assigning Address 192.168.10.104 to mobile 00:40:96:b6:44:51 DHCP successfully bridged packet to STA00:40:96:b6:44:51 192.168.10.104 Added NPU entry of type 1

在此 DHCP debug 输出中,有一些表明控制器正使用 DHCP 桥接的重要指示:

??DS的成功DHCP桥接信息包? ?这意味着从客户端的原始DHCP信息包桥接,未改变对分布式系统(DS)DS 为有线基础架构。

??STA的成功DHCP桥接信息包? ?此消息表明DHCP信息包桥接,未改变到站点(STA)STA 为请求 DHCP 的客户端计算机。

此外,您还会看到在 debug 中列出的真实的服务器 IP,即 192.168.10.1。如果桥接DHCP的代理是在使用中的而不是DHCP,是否会看到控制器?为服务器IP列出的s虚拟IP地址。

警告

·        默认情况下会启用 DHCP 代理。

·        所有将要进行通信的控制器必须采用相同的 DHCP 代理设置。

·        要使 DHCP 选项 82 工作,必须启用 DHCP 代理。

版本 4.2 之前的 DHCP 桥接

4.2 代码版本之前,您可以在控制器上禁用 DHCP 代理。但实际上,这不会将 DHCP 数据包桥接到有线网络。什么发生,在4.2仍然是该控制器被代理的DHCP通信对DHCP服务器前,然而客户端是消息灵通的DHCP服务器的实际IP地址而不是发送控制器?s虚拟IP地址。

内部 DHCP 服务器

内部 DHCP 服务器最初是为无法使用外部 DHCP 服务器的分支机构引入的。它旨在为同一子网中 AP 数量小于 10 个的小型无线网络提供支持。内部服务器向管理接口上的无线客户端、直连 AP、设备模式 AP 提供 IP 地址,以及从 AP 转发的 DHCP 请求。它不是成熟的通用 DHCP 服务器。它仅支持有限的功能,并且无法在较大规模的部署中进行扩展。

内部 DHCP 和桥接模式比较

控制器上的两种主要 DHCP 模式为 DHCP 代理或 DHCP 桥接。使用桥接控制器的DHCP操作更多类似有自治AP的一DHCP上一步?s.a DHCP信息包通过客户端关联进入AP对与VLAN连接的SSID。然后,DHCP 数据包会离开该 VLAN。如果IP辅助在该VLAN定义?s3层网关,数据包转发对该DHCP服务器通过处理的单播。然后,DHCP 服务器将响应直接返回到已转发该 DHCP 数据包的第 3 层接口。使用DHCP代理,它是同一个想法,但是所有转发完成直接地在控制器而不是VLAN s3层接口。例如, DHCP请求进来到WLAN自客户端, WLAN然后DHCP服务器在VLAN定义的任一使用?s接口*or*将使用WLANDHCP覆盖功能转发单播DHCP信息包到与被填好的DHCP信息包GIADDR字段的DHCP服务器是VLAN接口?s IP地址。

内部 DHCP 服务器 - 数据包流

dhcp-wlc-07.gif

内部 DHCP 服务器配置示例

要运行内部 DHCP 服务器,您必须在控制器上启用 DHCP 代理。可以通过以下 GUI 启用 DHCP 代理:

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

dhcp-wlc-08.gif

也可通过 CLI 启用 DHCP 代理:

Config dhcp proxy enableSave 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

debug client <MAC ADDRESS OF CLIENT>

debug 客户端是一个宏,它会为您启用这些 debug,同时将 debug 输出仅集中于您输入的客户端 MAC 地址:

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

debug dhcp packet enable 命令是一个主要用于解决 DHCP 问题的命令,该命令由 debug client 命令自动启用。

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 54800: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.254dhcpd: Received 340 byte dhcp packet from 0xfe64a8c0 192.168.100.254:6800: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 54800: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 租用

使用无线局域网控制器版本 7.0.98,您可以发出此命令以清除 WLC 内部 DHCP 服务器上的 DHCP 租用:

config dhcp clear-lease <all/IP Address>

示例如下:

config dhcp clear-lease all

警告

·        要运行内部 DHCP 服务器,必须启用 DHCP 代理。

·        使用受 CPU ACL 影响的内部 DHCP 服务器时,请在端口 1067 上使用 DHCP

·        内部 DHCP 服务器通过 127.0.0.1 udp 端口 67 侦听控制器环回接口。

最终用户接口

·        config dhcp proxy disable 命令意指使用 DHCP 桥接功能。这是一个全局命令(不是基于 WLAN 的命令)。

·        为便于客户在使用现有部署时体验一致的行为,默认情况下将仍然启用 DHCP 代理。

·        禁用 DHCP 代理时,本地 WLAN 将无法使用内部 DHCP 服务器。桥接操作不同于将数据包重定向到内部服务器所需的操作。实际桥接含义桥接,除802.11外对以太网II转换, DHCP信息包通过非限定从LWAPP通道到客户端?s VLAN (和反过来也是一样地)

·        当代理启用时,在WLAN必须配置DHCP服务器?s接口(或在WLAN)为了能将启用的WLAN。禁用代理时,将不需要配置服务器,因为将不会使用这些服务器。

·        用户尝试启用 DHCP 代理时,应在内部确保所有 WLAN(或关联的接口)均已配置 DHCP 服务器。否则,启用操作会失败。

所需的 DHCP

以前的 WLAN 配置有一个选项,要求用户在进入 RUN 状态(在此状态下,客户端将能够通过控制器传送流量)之前传送 DHCP。此选项要求客户端执行整个或半个 DHCP 请求。控制器在客户端查找的主要事件是 DHCP 请求及 DHCP 服务器返回的 ACK。只要客户端执行这些步骤,客户端将通过所需的 DHCP 步骤并进入 RUN 状态。

dhcp-wlc-13.gif

L2 L3 漫游

L2 -漫游?如果客户端有一有效DHCP租用并且执行L2漫游在同一L2网络的两个区别控制器之间,客户端不应该需要再DHCP,并且应该完全移动客户端条目向从原始控制器的新的控制器。然后,如果客户端需要再次进行 DHCP 操作,当前控制器上的 DHCP 桥接或代理进程将再次透明地桥接数据包。

L3 ?漫游?在L3中请漫游客户端移动2个区别控制器之间用不同的L3网络的方案。在这种情况下,客户端将锚定到原始控制器并在新的外来控制器的客户端表中列出。在停住的方案期间客户端?当客户端数据在外国和锚点控制器之间的一个EoIP通道内被建立隧道s DHCP由锚点控制器处理。