简介
本文档介绍如何在Catalyst 9800无线LAN控制器上配置带有中央或本地身份验证的FlexConnect。
先决条件
要求
Cisco 建议您了解以下主题:
- Catalyst无线9800配置型号
- FlexConnect
- 802.1x
使用的组件
本文档中的信息基于以下软件和硬件版本:
- C9800-CL、Cisco IOS-XE® 17.3.4
本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您的网络处于活动状态,请确保您了解所有命令的潜在影响。
背景信息
FlexConnect是用于远程办公室部署的无线解决方案。它允许您通过广域网(WAN)链路从公司办公室远程配置接入点(AP),而无需在每个位置部署控制器。FlexConnect AP可以在本地交换客户端数据流量,并在与控制器的连接断开时执行本地客户端身份验证。在连接模式下,FlexConnect AP还可以执行本地身份验证。
配置
网络图

配置
9800 WLC上的AAA配置
步骤1.声明RADIUS服务器。从 GUI:导航到Configuration > Security > AAA > Servers / Groups > RADIUS > Servers > + Add并输入RADIUS服务器信息。

如果您计划在未来使用任何需要CoA的安全类型,请确保启用CoA支持。

注意:注意:Flex connect本地身份验证部署不支持RADIUS CoA。.
步骤2.将RADIUS服务器添加到RADIUS组。从GUI:导航到Configuration > Security > AAA > Servers / Groups > RADIUS > Server Groups > + Add。


步骤3.创建身份验证方法列表。从 GUI:导航到配置>安全> AAA > AAA方法列表>身份验证> + Add


从 CLI:
# config t
# aaa new-model
# radius server <radius-server-name>
# address ipv4 <radius-server-ip> auth-port 1812 acct-port 1813
# timeout 300
# retransmit 3
# key <shared-key>
# exit
# aaa group server radius <radius-grp-name>
# server name <radius-server-name>
# exit
# aaa server radius dynamic-author
# client <radius-server-ip> server-key <shared-key>
# aaa authentication dot1x <dot1x-list-name> group <radius-grp-name>
WLAN 配置
步骤1.从GUI:导航到配置>无线> WLAN,然后单击+添加以创建新的WLAN,然后输入WLAN信息。然后点击应用到设备。


步骤2.从GUI:导航到Security选项卡,以配置第2/第3层安全模式(只要加密方法已使用),并在使用802.1x的情况下配置Authentication List。然后点击更新并应用到设备。

策略配置文件配置
步骤1.从GUI中:导航到Configuration > Tags & Profiles > Policy,然后点击+Add以创建Policy Profile。

步骤2.添加名称并取消选中Central Switching框。通过此设置,控制器处理客户端身份验证,FlexConnect接入点在本地交换客户端数据包。

注意:如果禁用了中心交换,关联和交换必须始终成对。当使用Flexconnect AP时,在所有策略配置文件上,关联也必须禁用。
步骤3.从GUI:导航到访问策略选项卡,以分配无线客户端在默认情况下连接到此WLAN时可以分配到的VLAN。
您可以从下拉列表中选择一个VLAN名称,也可以手动键入VLAN ID。

步骤4.从GUI: 导航到高级选项卡,以配置WLAN超时、DHCP、WLAN Flex策略和AAA策略(如果它们正在使用中)。然后单击Update & Apply to Device。

策略标签配置
步骤1.从GUI中:导航到Configuration > Tags & Profiles > Tags > Policy > +Add。

步骤2.分配名称,并映射之前创建的策略配置文件和WLAN配置文件。

Flex配置文件配置
步骤1: 从 GUI:导航到配置>标签和配置文件> Flex,然后单击+Add以创建一个新配置。


注意:本征VLAN ID是指可分配此Flex配置文件的AP使用的VLAN,并且它必须与AP所连接的交换机端口上的本征VLAN ID配置相同。
步骤2.在VLAN选项卡下,添加所需的VLAN、通过策略配置文件默认分配给WLAN的VLAN或RADIUS服务器推送的VLAN。然后单击Update & Apply to Device。

注意:对于Policy Profile,当您选择分配给SSID的默认VLAN时。如果在该步骤中使用VLAN名称,请确保在Flex Profile配置中使用相同的VLAN名称,否则,客户端无法连接到WLAN。
注意:要配置带AAA覆盖的flexConnect的ACL,请仅在“policy ACL”上配置它,如果ACL已分配到特定VLAN,请在添加VLAN时添加ACL,然后添加“policy ACL”上的ACL。
站点标签配置
步骤1.从GUI:导航到Configuration > Tags & Profiles > Tags > Site,然后点击+Add以创建新的站点标签。取消选中Enable Local Site框以允许AP在本地交换客户端数据流量,并添加之前创建的Flex配置文件。


注意:当启用本地站点被禁用时,获取此站点标记分配的AP可配置为FlexConnect模式。
步骤2.从GUI:导航到Configuration > Wireless > Access Points > AP name,将Site Tag和Policy Tag添加到关联的AP。这会导致AP重新启动其CAPWAP隧道并返回到9800 WLC。


AP重新加入后,请注意AP现在处于FlexConnect模式。

使用外部RADIUS服务器的本地身份验证
步骤1.将AP作为网络设备添加到RADIUS服务器。有关示例,请参阅如何使用身份服务引擎(ISE)作为RADIUS服务器
步骤2.创建WLAN。
配置可以与之前配置的配置相同。

步骤3.策略配置文件配置。
您可以创建新配置或使用之前配置的。此时,取消选中Central Switching、Central Authentication、Central DHCP和Central Association Enable框。

步骤4.策略标记配置。
关联已配置的WLAN和已创建的策略配置文件。
步骤5. Flex配置文件配置。
创建Flex配置文件,导航到本地身份验证选项卡,配置Radius服务器组并选中RADIUS框。

步骤6.站点标记配置。
配置在步骤5中配置的Flex配置文件,并取消选中Enable Local Site框。

验证
从 GUI:导航到Monitoring > Wireless > Clients 并确认Policy Manager State和FlexConnect参数。
集中身份验证:

本地 认证:

您可以使用以下命令验证当前配置:
从 CLI:
# show wlan { summary | id | name | all }
# show run wlan
# show run aaa
# show aaa servers
# show ap config general
# show ap name <ap-name> config general
# show ap tag summary
# show ap name <AP-name> tag detail
# show wlan { summary | id | name | all }
# show wireless tag policy detailed <policy-tag-name>
# show wireless profile policy detailed <policy-profile-name>
故障排除
WLC 9800提供无间断跟踪功能。这可确保持续记录所有客户端连接相关的错误、警告和通知级别消息,并且您可以在发生事故或故障情况后查看其日志。
注意:根据生成的日志量,您可以返回几小时到几天。
为了查看9800 WLC在默认情况下收集的跟踪,您可以通过SSH/Telnet连接到9800 WLC并完成以下步骤(确保您将会话记录到文本文件)。
步骤1.检查控制器当前时间,以便您可以在问题发生之前的时间跟踪日志。
从 CLI:
# show clock
步骤2.根据系统配置的指示,从控制器缓冲区或外部系统日志收集系统日志。这样可以快速查看系统运行状况和错误(如果有)。
从 CLI:
# show logging
第 3 步: 验证是否已启用调试条件。
从 CLI:
# show debugging
IOSXE Conditional Debug Configs:
Conditional Debug Global State: Stop
IOSXE Packet Tracing Configs:
Packet Infra debugs:
Ip Address Port
------------------------------------------------------|----------
注意:如果发现列出了任何条件,则意味着遇到启用条件(mac地址、ip地址等)的所有进程的跟踪将记录到调试级别。 这会增加日志量。因此,建议在非主动调试时清除所有条件
步骤4.如果您假设在步骤3中未将所测试的mac地址列为条件,请收集特定mac地址的始终在线通知级别跟踪。
从 CLI:
# show logging profile wireless filter { mac | ip } { <aaaa.bbbb.cccc> | <a.b.c.d> } to-file always-on-<FILENAME.txt>
您可以显示会话内容,也可以将文件复制到外部 TFTP 服务器。
从 CLI:
# more bootflash:always-on-<FILENAME.txt>
or
# copy bootflash:always-on-<FILENAME.txt> tftp://a.b.c.d/path/always-on-<FILENAME.txt>
条件调试和无线电活动跟踪
如果永远在线跟踪不能为您提供足够的信息来确定所调查问题的触发器,则可以启用条件调试并捕获无线活动(RA)跟踪,该跟踪可以为与指定条件(本例中为客户端MAC地址)交互的所有进程提供调试级别跟踪。 要启用条件调试,请完成以下步骤。
第 5 步: 确保未启用调试条件。
从 CLI:
# clear platform condition all
第 6 步: 为要监控的无线客户端 MAC 地址启用调试条件。
此命令开始监控提供的mac地址达30分钟(1800秒)。 您可以选择延长监控时间,最多监控 2085978494 秒。
从 CLI:
# debug wireless mac <aaaa.bbbb.cccc> {monitor-time <seconds>}
注:要一次监控多个客户端,请对每个mac地址运行debug wireless mac <aaaa.bbbb.cccc>命令。
注意:您不会在终端会话上看到客户端活动的输出,因为所有内容都在内部缓冲,供以后查看。
第 7 步: 重现要监控的问题或行为。
第 8 步: 如果在默认或配置的监控时间结束之前,问题再次出现,请停止调试。
从 CLI:
# no debug wireless mac <aaaa.bbbb.cccc>
监控时间结束或无线网络调试停止后,9800 WLC 会生成一个本地文件,其名称为:
ra_trace_MAC_aaaabbbbcccc_HHMMSS.XXX_timezone_DayWeek_Month_Day_year.log
步骤9.收集mac地址活动的文件。您可以将ra trace .log复制到外部服务器,也可以直接在屏幕上显示输出。
检查RA跟踪文件的名称
从 CLI:
# dir bootflash: | inc ra_trace
将文件复制到外部服务器:
从 CLI:
# copy bootflash:ra_trace_MAC_aaaabbbbcccc_HHMMSS.XXX_timezone_DayWeek_Month_Day_year.log tftp://a.b.c.d/ra-FILENAME.txt
显示内容:
从 CLI:
# more bootflash:ra_trace_MAC_aaaabbbbcccc_HHMMSS.XXX_timezone_DayWeek_Month_Day_year.log
第 10 步: 如果根本原因仍然不明显,请收集内部日志,这是更为详细的调试级别日志。您无需再次调试客户端,因为您详细查看了已收集并内部存储的调试日志。
从 CLI:
# show logging profile wireless internal filter { mac | ip } { <aaaa.bbbb.cccc> | <a.b.c.d> } to-file ra-internal-<FILENAME>.txt
注意:此命令输出会返回所有进程全部日志记录级别的跟踪信息,因此数量非常庞大。在解析跟踪信息时如需帮助,请联系 Cisco TAC。
您可以将 ra-internal-FILENAME.txt 复制到外部服务器,也可以直接在屏幕上显示输出。
将文件复制到外部服务器:
从 CLI:
# copy bootflash:ra-internal-<FILENAME>.txt tftp://a.b.c.d/ra-internal-<FILENAME>.txt
显示内容:
从 CLI:
# more bootflash:ra-internal-<FILENAME>.txt
第 11 步: 删除调试条件。
从 CLI:
# clear platform condition all
注意:务必确保在故障排除会话结束后删除调试条件。