本文档提供了一个配置示例,该示例说明如何使用命令行界面 (CLI) 在 Cisco Aironet 接入点 (AP) 上配置 VLAN。
尝试进行此配置之前,请确保满足以下要求:
了解 Aironet AP 的基本配置
了解用 Aironet Desktop Utility 配置 Aironet 802.11a/b/g 客户端适配器
基本了解 Cisco Catalyst 交换机和 Cisco 路由器的配置
本文档中的信息基于以下软件和硬件版本:
运行 Cisco IOS® 软件 12.4(3g)JA1 版的 Aironet 1240AG 系列 AP
Aironet 802.11a/b/g 客户端适配器
运行固件 2.5 版的 Aironet Desktop Utility
运行 Cisco IOS 软件 12.1(19)EA1 版的 Catalyst 2950 交换机
运行 Cisco IOS 软件 12.4(11)T 版的 2800 ISR 路由器
本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您使用的是真实网络,请确保您已经了解所有命令的潜在影响。
有关文档约定的更多信息,请参考 Cisco 技术提示约定。
本文档使用此网络设置。
Aironet 1200系列AP有三个VLAN:VLAN 2、VLAN 20和VLAN 30。本文档中的设置使用VLAN 2作为本征VLAN,使用VLAN 20作为管理(管理)部门,使用VLAN 20作为访客用户。管理部门所属的无线用户必须连接到 AP,并且应能连接到有线网络上(VLAN 20 上)的管理部门用户。 无线访客用户必须能够连接到VLAN 30中有线网段上的Web服务器。Catalyst 2950交换机将AP连接到有线网络。一台2800 ISR路由器连接到同一台交换机,并充当属于VLAN 20和VLAN 30的无线客户端的DHCP服务器。路由器需要从各自的子网为客户端分配IP地址。必须配置 AP、Catalyst 交换机和路由器才能实施此设置。
以下是用于文档中设备的 IP 地址的列表。所有 IP 地址都使用 /24 子网掩码
AP 网桥组虚拟接口 (BVI) IP 地址 (VLAN 2) — 172.16.1.20
连接到 VLAN 20 的无线客户端 (SSID Admin) 从子网 172.16.2.0 中路由器的 DHCP 服务器获得 IP 地址
连接到 VLAN 30 的无线客户端 (SSID Guest) 从子网 172.16.3.0 中路由器的 DHCP 服务器获得 IP 地址
VLAN 20 上有线网络的管理员用户 — 172.16.2.60(静态 IP)
VLAN 30 中的 Web 服务器 — 172.16.3.60(静态 IP)
路由器在 VLAN 2 中的子接口 — 172.16.1.1
路由器在 VLAN 20 中的子接口 — 172.16.2.1
路由器在 VLAN 30 中的子接口 — 172.16.3.1
本部分提供有关如何配置本文档所述功能的信息。
注意:使用命令查找工具(仅限注册客户)可查找有关本文档中使用的命令的详细信息。
要配置无线接入点,以连接特定的 VLAN,您必须配置服务集标识符 (SSID),以识别该 VLAN。VLAN ID 或名称都标识 VLAN。因此,如果在 AP 上配置 SSID 以标识特定的 VLAN ID 或名称,则可以建立与 VLAN 的连接。建立连接之后,将把使用特定 SSID 连接到 AP 的无线客户端分配给该 VLAN。由于在一个 AP 上最多可以配置 16 个 SSID,因此在一个 AP 上可以创建 16 个 VLAN。要在 AP 上配置 VLAN 并建立连接,必须完成以下这些步骤:
接入点自身和其他基础架构设备(如接入点所连接到的交换机)的 VLAN 称为本地 VLAN。接入点的本地 VLAN 通常与接入点上配置的其他 VLAN 不同。被分配了本地 VLAN 子网中 IP 地址的是 BVI 接口(使用它管理接入点)。发送到接入点自身和由其发送的流量(例如管理流量)占据本机 VLAN,并且对这些流量不作标记。在 IEEE 802.1Q (dot1q) 中继端口上收到的所有未标记流量以该端口配置的本地 VLAN 的方式被转发。如果数据包的 VLAN ID 与发送端口的本地 VLAN ID 相同,则交换机发送无标记的数据包。否则,交换机发送含标记的数据包。
要配置 AP 上的本地 VLAN,请在 AP 上以全局配置模式发出以下这些命令:
AccessPoint<config>#interface fastethernet 0.2 AccessPoint<config-subif>#encapsulation dot1q 2 native !--- Configure the encapsulation as dot1q and assign VLAN 2 as the native VLAN !--- on the Fast Ethernet interface. AccessPoint<config-subif>#exit AccessPoint<config>#interface dot11radio 0.2 AccessPoint<config-subif>#encapsulation dot1q 2 native !--- Configure the encapsulation as dot1q and assign VLAN 2 as the native VLAN !--- on the radio interface. AccessPoint<config-subif>#end
此处,需要配置两个 VLAN,一个用于来宾用户,另一个用于管理部门用户。还需要将 SSID 与特定 VLAN 关联。该示例将进行如下配置:
用于管理部门的 VLAN 20,并使用 SSID Admin
用于来宾用户的 VLAN 30,并使用 SSID Guest
要配置这些 VLAN,请以全局配置模式输入以下这些命令:
AccessPoint#configure terminal !--- Enter global configuration mode. AccessPoint(config)#interface dot11radio 0 !--- Enter radio interface configuration mode. AccessPoint(config-if)#ssid Admin !--- Configure the SSID "Admin". AccessPoint(config-if-ssid)#vlan 20 !--- Assign VLAN 20 to the SSID. AccessPoint(config-if-ssid)#authentication open !--- Configure open authentication for the SSID. AccessPoint(config-if-ssid)#end
AccessPoint(config) interface fastethernet 0.20 !--- Enter subinterface mode on the Fast Ethernet interface. AccessPoint(config-subif) encapsulation dot1Q 20 !--- Set the encapsulation as dot1q for VLAN 20. AccessPoint(config-subif) bridge-group 20 !--- Assign the subinterface to bridge group 20. AccessPoint(config-subif) exit
AccessPoint(config) interface dot11radio 0.20 !--- Enter subinterface mode on the radio interface. AccessPoint(config-subif) encapsulation dot1Q 20 !--- Set the encapsulation as dot1q for VLAN 20. AccessPoint(config-subif) bridge-group 20 !--- Assign the subinterface to bridge group 20. AccessPoint(config-subif) exit
重复相同过程,为管理员用户配置 VLAN 30:
AccessPoint#configure terminal AccessPoint(config)#interface dot11radio 0 AccessPoint(config-if)#ssid Guest AccessPoint(config-if-ssid)#vlan 30 AccessPoint(config-if-ssid)#authentication open AccessPoint(config-if-ssid)#end
AccessPoint(config) interface fastethernet 0.30 AccessPoint(config-subif) encapsulation dot1Q 30 AccessPoint(config-subif) bridge-group 30 AccessPoint(config-subif) exit
AccessPoint(config) interface dot11radio 0.30 AccessPoint(config-subif) encapsulation dot1Q 30 AccessPoint(config-subif) bridge-group 30 AccessPoint(config-subif) exit
注意:本文档对SSID Admin和Guest使用开放式身份验证。身份验证类型与为 AP 配置的 SSID 关联。有关如何在 AP 上配置不同身份验证类型的信息,请参阅配置身份验证类型。
下一步是配置将 AP 和路由器连接到有线网络的交换机端口。应将连接到 AP 和路由器的交换机端口配置为中继端口,因为此端口运送来自无线网络上所有 VLAN 的流量。在本例中,VLAN是VLAN 20、VLAN 30和本征VLAN 2。配置连接到AP和路由器的交换机端口时,请确保您配置的本征VLAN与AP和路由器上的本征VLAN匹配。否则会丢弃帧。要在交换机上配置中继端口,请从交换机上的 CLI 发出以下这些命令:
注:本文档使用Catalyst 2950交换机。交换机端口上的配置可能有所不同,具体取决于所使用的交换机型号。如图所示,interface fastethernet 0/5 连接到路由器,interface fastethernet 0/10 连接到接入点。
Switch#configure terminal Switch<config>#interface fastethernet 0/5 !--- Enter the interface mode for Fast Ethernet 0/5. Switch<config-if>#switchport mode trunk !--- Configure the switch port mode to trunk mode. Switch<config-if>#switchport trunk encapsulation dot1q !--- Configure the encapsulation on the switch port to dot1q. Switch<config-if>#switchport trunk native vlan 2 !--- Configure the native VLAN as VLAN 2. Switch<config-if>#switchport trunk allowed vlan add 2,20,30 !--- Configure the list of VLANs that are allowed on the trunk port. Switch<config-if>#switchport nonegotiate Switch#configure terminal Switch<config>#interface fastethernet 0/10 !--- Enter the interface mode for Fast Ethernet 0/10 Switch<config-if>#switchport mode trunk !--- Configure the switch port mode to trunk mode. Switch<config-if>#switchport trunk encapsulation dot1q !--- Configure the encapsulation on the switch port to dot1q. Switch<config-if>#switchport trunk native vlan 2 !--- Configure the native VLAN as VLAN 2. Switch<config-if>#switchport trunk allowed vlan add 2,20,30 !--- Configure the list of VLANs that are allowed on the trunk port. Switch<config-if>#switchport nonegotiate
注意:基于Cisco IOS软件的Aironet无线设备不支持动态中继协议(DTP)。 因此,交换机不得尝试协商 DTP。
路由器配置为VLAN 20和VLAN 30中无线客户端的DHCP服务器。路由器有三个子接口,每个子接口分别用于VLAN 2、20和30,以便它可以为各自VLAN的子网中的客户端分配IP地址并执行VLAN间路由。
Router#configure terminal Router<config>#interface fastethernet 0/0.2 !--- Configures a Sub-interface .2 on fastethernet 0/0 Router<config-subif>#encapsulation dot1q 2 native !--- configures the encapsulation as dot1q and assigns VLAN 2 to the sub-interface This command also makes VLAN 2 as the Native VLAN. Here number 2 is the VLAN-id. Router<config-subif>#ip address 172.16.1.1 255.255.255.0 !--- Assign ip address from Native VLAN 2 subnet - 172.16.1.0 /24 to the sub-interface Router<config-subif>#exit Router<config>#interface fastethernet 0/0.20 !--- Configures a Sub-interface .20 on fastethernet 0/0 Router<config-subif>#encapsulation dot1q 20 !--- configures the encapsulation as dot1q and assigns VLAN 20 to the sub-interface Here number 20 is the VLAN-id. Router<config-subif>#ip address 172.16.2.1 255.255.255.0 !--- Assign ip address from VLAN 20 subnet - 172.16.2.0 /24 to the sub-interface Router<config-subif>#exit Router<config>#interface fastethernet 0/0.30 !--- Configures a Sub-interface .30 on fastethernet 0/0 Router<config-subif>#encapsulation dot1q 30 !--- configures the encapsulation as dot1q and assigns VLAN 30 to the sub-interface Here number 30 is the VLAN-id. Router<config-subif>#ip address 172.16.3.1 255.255.255.0 !--- Assign ip address from VLAN 30 subnet - 172.16.3.0 /24 Router<config-subif>#exit DHCP Configuration starts here Router<config>#ip dhcp excluded-address 172.16.2.1 Router<config>#ip dhcp excluded-address 172.16.3.1 !--- excluded-address command is used to exclude the specified ip addresses from the DHCP pool. In this case router's sub-interface addresses are excluded. Router<config>#ip dhcp pool pool1 !--- Creates a DHCP pool with a name pool1 and enters the DHCP config mode router<dhcp-config>#network 172.16.2.0 /24 !--- From this pool Clients are assigned ip addresses from 172.16.2.0 /24 Subnet i.e. from 172.16.2.2 - 172.16.2.254 router<dhcp-config>#default-router 172.16.2.1 !--- Default-gateway assigned to the client from this pool is 172.16.2.1 . Default-router is nothing but default-gateway Router<config>#ip dhcp pool pool2 !--- Creates a DHCP pool with a name pool2 and enters the DHCP config mode router<dhcp-config>#network 172.16.3.0 /24 !--- From this pool Clients are assigned ip addresses from 172.16.3.0 /24 Subnet i.e. from 172.16.3.2 - 172.16.3.254 router<dhcp-config>#default-router 172.16.3.1 !--- Default-gateway assigned to the client from this pool is 172.16.3.1 .
使用本部分可确认配置能否正常运行。
可以检查配置是否按预期工作。配置了SSID Admin的无线客户端(管理员用户)必须连接到VLAN 20。同一用户应该能够连接到有线网络上的管理员用户,该用户也位于同一VLAN中。要进行验证,请激活管理员用户的无线客户端配置文件。
注意:本文档不说明如何配置无线客户端以设置配置文件。有关如何配置无线客户端适配器的信息,请参阅配置客户端适配器。
本示例窗口表示无线客户端与 AP 关联:
在 AP 上使用 show dot11 associations 命令也能确认客户端连接到 VLAN 10:
注意:输出解释器工具(仅注册客户)(OIT)支持某些show命令。使用 OIT 可查看对 show 命令输出的分析。
AccessPoint#show dot11 associations 802.11 Client Stations on Dot11Radio0: SSID [Admin] : MAC Address IP address Device Name Parent State 0040.96ac.e657 172.16.2.50 CB21AG/PI21AG Admin User self Assoc
可以在 AP 上发出 show vlans 命令以显示在 AP 上配置的 VLAN。示例如下:
AccessPoint#show vlans Virtual LAN ID: 2 (IEEE 802.1Q Encapsulation) vLAN Trunk Interfaces: Dot11Radio0.2 FastEthernet0.2 This is configured as native Vlan for the following interface(s) : Dot11Radio0 FastEthernet0 Protocols Configured: Address: Received: Transmitted: Bridging Bridge Group 1 1380 712 Other 0 63 0 packets, 0 bytes input 733 packets, 50641 bytes output Bridging Bridge Group 1 1380 712 Other 0 63 1381 packets, 98016 bytes input 42 packets, 12517 bytes output Virtual LAN ID: 20 (IEEE 802.1Q Encapsulation) vLAN Trunk Interfaces: Dot11Radio0.20 FastEthernet0.20 Protocols Configured: Address: Received: Transmitted: Bridging Bridge Group 20 798 622 Other 0 19 247 packets, 25608 bytes input 495 packets, 43585 bytes output Bridging Bridge Group 20 798 622 Other 0 19 552 packets, 37536 bytes input 148 packets, 21660 bytes output Virtual LAN ID: 30 (IEEE 802.1Q Encapsulation) vLAN Trunk Interfaces: Dot11Radio0.30 FastEthernet0.30 Protocols Configured: Address: Received: Transmitted: Bridging Bridge Group 30 693 609 Other 0 19 106 packets, 13373 bytes input 517 packets, 48029 bytes output Bridging Bridge Group 30 693 609 Other 0 19 605 packets, 47531 bytes input 112 packets, 15749 bytes output
现在可以检查无线管理员用户是否能连接到为相同 VLAN 配置的有线端上的管理员用户。在无线客户端上发出 ping 命令。示例如下:
D:\>ping 172.16.2.60 Pinging 172.16.2.60 with 32 bytes of data: Reply from 172.16.2.60: bytes=32 time<10ms TTL=255 Reply from 172.16.2.60: bytes=32 time<10ms TTL=255 Reply from 172.16.2.60: bytes=32 time<10ms TTL=255 Reply from 172.16.2.60: bytes=32 time<10ms TTL=255 Ping statistics for 172.16.2.60: Packets: Sent = 4, Received = 4, Lost = 0 (0% loss), Approximate round trip times in milli-seconds: Minimum = 0ms, Maximum = 0ms, Average = 0ms
同样,您可以检查访客用户是否连接到VLAN 30。您可以在访客无线客户端上发出ping命令,以测试与有线端Web服务器的连接。示例如下:
D:\>ping 172.16.3.60 Pinging 172.16.3.60 with 32 bytes of data: Reply from 172.16.3.60: bytes=32 time<10ms TTL=255 Reply from 172.16.3.60: bytes=32 time<10ms TTL=255 Reply from 172.16.3.60: bytes=32 time<10ms TTL=255 Reply from 172.16.3.60: bytes=32 time<10ms TTL=255 Ping statistics for 172.16.3.60: Packets: Sent = 4, Received = 4, Lost = 0 (0% loss), Approximate round trip times in milli-seconds: Minimum = 0ms, Maximum = 0ms, Average = 0ms
使用本部分可排除配置故障。
按照以下这些说明排除配置的故障:
检查交换机端口上配置并连接到 AP 的本地 VLAN 是否与 AP 的本地 VLAN 相匹配。
如果在本地 VLAN 中有不匹配的情况,则无法通过交换机进行连接。
请确保被配置为中继的交换机端口上允许无线端上配置的所有 VLAN。
默认情况下,允许所有 VLAN 通过中继端口。
检查是否在除本地 VLAN 以外的所有 VLAN 上都配置了 bridge-group 命令。
不需要在设置为本地 VLAN 的子接口上配置网桥组。此网桥组自动移至本地子接口以维持到 BVI 1(它代表无线和以太网接口)的链路。
注意:配置bridge-group命令时,这些命令会自动启用:
bridge-group 10 subscriber-loop-control bridge-group 10 block-unknown-source no bridge-group 10 source-learning no bridge-group 10 unicast-flooding bridge-group 10 spanning-disabled
这些是标准的默认设置,并且您不应更改这些设置,除非让您这样做。如果删除这些命令,则 WLAN 可能会无法发挥预期作用。
还可以使用以下这些命令排除 AP 上的配置故障:
注意:输出解释器工具(仅注册客户)(OIT)支持某些show命令。使用 OIT 可查看对 show 命令输出的分析。
show vlans
show vlans dot1q
show dot11 associations
在 Catalyst 2950 交换机上,可以使用以下这些命令排除配置故障:
show vlans
show interface fastethernet x/x switchport
show interface fastethernet x/x trunk
在路由器上,发出以下这些命令排除配置故障。
debug ip dhcp server packet
show ip interface brief
以下是向 SSID Admin 中的客户端成功分配 IP 地址后的输出。
Router#debug ip dhcp server packet *Nov 23 18:02:06.637: DHCPD: DHCPREQUEST received from client 0040.96ac.e657. !--- Router receives the DHCP Request from the client *Nov 23 18:02:06.637: DHCPD: No default domain to append - abort update *Nov 23 18:02:06.637: DHCPD: Sending DHCPACK to client 0040.96ac.e657 (172.16.2.50). !--- Router acknowledges the client's request *Nov 23 18:02:06.637: DHCPD: creating ARP entry (172.16.2.2, 0040.96ac.e657). *Nov 23 18:02:06.637: DHCPD: unicasting BOOTREPLY to client 0040.96ac.e657 (172.16.2.50). !--- Router assigns ip address to the client from the VLAN 10 subnet