简介
本文档介绍如何在Catalyst 9800 WLC和ISE上配置CWA无线LAN。
先决条件
要求
Cisco建议您了解9800无线局域网控制器(WLC)的配置。
使用的组件
本文档中的信息基于以下软件和硬件版本:
- 9800 WLC Cisco IOS® XE直布罗陀v17.6.x
- 身份服务引擎(ISE)v3.0
本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您的网络处于活动状态,请确保您了解所有命令的潜在影响。
背景信息
此处显示了CWA流程,您可以在这里看到Apple设备的CWA流程示例:
配置
网络图
9800 WLC 上的 AAA 配置
步骤1:将ISE服务器添加到9800 WLC配置。
导航至 Configuration > Security > AAA > Servers/Groups > RADIUS > Servers > + Add
并输入如图所示的RADIUS服务器信息。
如果您计划将来使用中央 Web 身份验证(或任何一种需要 CoA 的安全措施),请确保已启用对 CoA 的支持。
注意:在版本17.4.X及更高版本上,确保在配置RADIUS服务器时也配置CoA服务器密钥。使用与共享密钥相同的密钥(在ISE上默认使用相同的密钥)。目的是为CoA配置不同于共享密钥的密钥(如果这是您的RADIUS服务器所配置的密钥)。在Cisco IOS XE 17.3中,Web UI仅使用与CoA密钥相同的共享密钥。
第二步:创建授权方法列表。
导航至 Configuration > Security > AAA > AAA Method List > Authorization > + Add
如图所示.
步骤3.(可选)创建记账方法列表,如图所示。
注意:由于Cisco Bug ID CSCvh03827,如果您决定对RADIUS服务器进行负载均衡(通过Cisco IOS XE CLI配置),则CWA不会工作。外部负载均衡器的使用效果良好。
步骤4.(可选)您可以定义AAA策略以将SSID名称作为Called-station-id属性发送,如果您要在稍后的ISE中使用此条件,此功能非常有用。
导航至 Configuration > Security > Wireless AAA Policy
并编辑默认AAA策略或创建新策略。
您可以选择 SSID
作为选项1。请注意,即使您仅选择SSID,被叫站ID仍然会将AP MAC地址附加到SSID名称。
WLAN 配置
步骤1:创建WLAN。
导航至 Configuration > Tags & Profiles > WLANs > + Add
并根据需要配置网络。
第二步:输入WLAN一般信息。
第三步:导航至 Security
选项卡并选择所需的安全方法。在本例中,只有“MAC Filtering”和AAA授权列表(您在第2步中创建的)。 AAA Configuration
部分)。
CLI:
#config t
(config)#wlan cwa-ssid 4 cwa-ssid
(config-wlan)#mac-filtering CWAauthz
(config-wlan)#no security ft adaptive
(config-wlan)#no security wpa
(config-wlan)#no security wpa wpa2
(config-wlan)#no security wpa wpa2 ciphers aes
(config-wlan)#no security wpa akm dot1x
(config-wlan)#no shutdown
策略配置文件配置
在策略配置文件中,您可以决定分配客户端到哪个VLAN,以及其他设置(如访问控制列表(ACL)、服务质量(QoS)、移动锚点、计时器等)。
您可以使用默认策略配置文件,也可以新建策略配置文件。
GUI:
步骤1:新建 Policy Profile
.
导航至 Configuration > Tags & Profiles > Policy
并配置 default-policy-profile
或创建一个新的。
确保已启用配置文件。
第二步:选择VLAN。
导航至 Access Policies
选项卡并从下拉列表中选择VLAN名称或手动键入VLAN-ID。请勿在策略配置文件中配置 ACL。
第三步: 配置策略配置文件以接受ISE覆盖(允许AAA覆盖)和授权更改(CoA)(NAC状态)。您也可以选择指定审计方法。
CLI:
# config
# wireless profile policy <policy-profile-name>
# aaa-override
# nac
# vlan <vlan-id_or_vlan-name>
# accounting-list <acct-list>
# no shutdown
策略标签配置
在策略标签中,您可以将 SSID 与策略配置文件相关联。您可以新建策略标签,也可以使用 default-policy 标签。
注:default-policy标记会自动将WLAN ID介于1到16之间的任何SSID映射到默认策略配置文件。不能修改或删除。如果您的WLAN的ID为17或更高,则不能使用default-policy标记。
GUI:
导航至 Configuration > Tags & Profiles > Tags > Policy
并根据需要添加一个新映像,如图所示。
将 WLAN 配置文件关联到所需的策略配置文件。
CLI:
# config t
# wireless tag policy <policy-tag-name>
# wlan <profile-name> policy <policy-profile-name>
策略标签分配
将策略标签分配给所需的 AP。
GUI:
要将标签分配给一个AP,请导航至 Configuration > Wireless > Access Points > AP Name > General Tags
,进行所需的分配,然后单击 Update & Apply to Device
.
注意:请注意,更改AP上的策略标记后,它将失去与9800 WLC的关联并在大约1分钟内重新加入。
要将相同的策略标记分配给多个AP,请导航至 Configuration > Wireless > Wireless Setup > Advanced > Start Now
.
选择要为其分配标记的AP,然后单击 + Tag APs
如图所示.
选择已完成的标签,然后单击 Save & Apply to Device
如图所示.
CLI:
# config t
# ap <ethernet-mac-addr>
# policy-tag <policy-tag-name>
# end
重定向 ACL 配置
步骤1:导航至 Configuration > Security > ACL > + Add
以创建新的ACL。
为ACL选择一个名称,然后将其设置为 IPv4 Extended
键入每个规则并将其添加为如图所示的序列。
您需要拒绝流向 ISE PSN 节点的流量以及 DNS,同时允许所有其余流量。此重定向ACL不是安全ACL,而是弃用ACL,它定义哪些流量进入CPU(在允许的情况下)进行进一步处理(如重定向)以及哪些流量停留在数据平面上(在拒绝时)并避免重定向。
ACL必须如下所示(在本例中用您的ISE IP地址替换10.48.39.28):
注:对于重定向ACL,请考虑 deny
作为拒绝重定向(而非拒绝流量)的操作和 permit
操作为permit redirection。WLC仅检查可重定向的流量(默认情况下为端口80和443)。
CLI:
ip access-list extended REDIRECT
deny ip any host <ISE-IP>
deny ip host<ISE-IP> any
deny udp any any eq domain
deny udp any eq domain any
permit tcp any any eq 80
注意:如果使用 permit ip any any
WLC还将HTTPS重定向而非侧重于端口80的许可,这通常是不理想的,因为它必须提供自己的证书,并始终会创建证书违规。这是前面声明的一个例外,该声明表示在CWA情况下您不需要在WLC上使用证书:如果您启用了HTTPS拦截,则您需要一个证书,但无论如何它都不被视为有效。
您可以通过操作改进ACL,仅拒绝访客端口8443访问ISE服务器。
为HTTP或HTTPS启用重定向
Web管理员门户配置与Web身份验证门户配置绑定,需要侦听端口80才能进行重定向。因此,必须启用HTTP才能使重定向正常工作。您可以选择全局启用它(使用命令) ip http server
)或者您可以为启用HTTP 仅Web身份验证模块(使用命令 webauth-http-enable
在参数映射下)。
如果要在尝试访问HTTPS URL时重定向,请添加命令 intercept-https-enable
在参数映射下,但请注意,这不是最佳配置,因为它会影响WLC CPU并生成证书错误:
parameter-map type webauth global
type webauth
intercept-https-enable
trustpoint xxxxx
您也可以通过GUI执行此操作,在参数映射(“Web Auth intercept HTTPS”)中选中选项“Web Auth intercept HTTPS”Configuration > Security > Web Auth
影响。
注意:默认情况下,浏览器使用HTTP网站启动重定向进程,如果需要HTTPS重定向,则必须选中Web Auth intercept HTTPS;但是,不建议使用此配置,因为它会增加CPU使用率。
ISE 配置
将 9800 WLC 添加到 ISE
步骤1: 打开ISE控制台并导航至Administration > Network Resources > Network Devices > Add
如图所示.
第二步:配置网络设备。
或者,它可以是指定的型号名称、软件版本和说明,并根据设备类型、位置或WLC分配网络设备组。
此处的IP地址对应于发送身份验证请求的WLC接口。默认情况下,它是管理接口,如图所示:
有关网络设备组的详细信息,请参阅ISE管理员指南章节:管理网络设备:ISE — 网络设备组。
在 ISE 上创建新用户
步骤1:导航至 Administration > Identity Management > Identities > Users > Add
如图所示.
第二步:输入相关信息.
在本示例中,此用户属于一个名为 ALL_ACCOUNTS
但可以根据需要进行调整,如图所示。
创建授权配置文件
策略配置文件是根据客户端的参数(如mac地址、凭证、使用的WLAN等)分配给客户端的结果。它可以分配特定设置,例如虚拟局域网(VLAN)、访问控制列表(ACL)、统一资源定位器(URL)重定向等。
请注意,在最新版本的 ISE 中,已存在 Cisco_Webauth 授权结果。您可以对其进行编辑以修改重定向 ACL 名称,从而与 WLC 上配置的名称相一致。
步骤1:导航至 Policy > Policy Elements > Results > Authorization > Authorization Profiles
.点击 add
以创建您自己的或编辑 Cisco_Webauth
默认结果。
第二步:输入重定向信息。确保ACL名称与9800 WLC上配置的名称相同。
配置身份验证规则
步骤1: 策略集定义身份验证和授权规则的集合。要创建一个,请导航至Policy > Policy Sets
,点击列表中第一个策略集的齿轮,然后选择Insert new row
or click the blue arrow on the right to choose the defaut Policy Set.
第二步:扩大采购 Authentication
策略。对于 MAB
规则(匹配有线或无线MAB),展开 Options
,然后选择 CONTINUE
选项,以防您看到“If User not found”。
第三步:点击 Save
以保存更改。
配置授权规则
授权规则负责确定将哪些权限(哪个授权配置文件)结果应用于客户端。
步骤1:在同一Policy set页面上,关闭 Authentication Policy
和扩展 Authorziation Policy
如图所示.
第二步:最近的ISE版本以预先创建的规则开始,称为 Wifi_Redirect_to_Guest_Login
基本上符合我们的需求。将左边的灰色符号转为 enable
.
第三步:该规则仅匹配Wireless_MAB并返回CWA重定向属性。现在,您可以选择添加一些扭曲,使其仅与特定SSID匹配。选择条件(Wireless_MAB(截至现在)以显示Conditions Studio。在右侧添加条件,然后选择 Radius
词典 Called-Station-ID
属性.使其与 SSID 名称匹配。使用 Use
屏幕底部如图所示。
第四步:现在,您需要使用优先级更高的第二条规则,该规则与 Guest Flow
条件,以便在用户在门户上进行身份验证后返回网络访问详细信息。您可以使用 Wifi Guest Access
默认情况下,也已在最新的ISE版本上预先创建的规则。然后,只需启用左侧带有绿色标记的规则, 您可以返回默认PermitAccess或配置更精确的访问列表限制。
第五步:保存规则。
点击 Save
在规则的最底层。
仅限 FlexConnect 本地交换无线接入点
如果有 FlexConnect 本地交换无线接入点和 WLAN,该如何操作?前述部分仍然适用。但是,您需要执行额外的步骤才能将重定向ACL提前推送到AP。
导航至 Configuration > Tags & Profiles > Flex
并选择您的Flex配置文件。然后,导航至 Policy ACL
选项卡。
点击 Add
如图所示.
选择您的重定向ACL名称并启用集中式Web身份验证。此复选框自动反转AP自身上的ACL(这是因为“deny”语句表示Cisco IOS XE中WLC上的“do not redirect to this IP”。但是,在AP上,“deny”语句的含义相反。因此,此复选框会在推送到AP时自动交换所有许可并拒绝它们。您可以通过 show ip access list
从AP CLI)。
注意:在Flexconnect本地交换方案中,ACL必须特别提及返回语句(在本地模式下不一定需要),因此请确保所有ACL规则涵盖两种流量方式(例如,传入和传出ISE)。
别忘了打 Save
然后 Update and apply to the device
.
证书
为了使客户端信任Web身份验证证书,不需要在WLC上安装任何证书,因为提供的唯一证书是ISE证书(必须受客户端信任)。
验证
您可以使用下列命令验证当前配置。
# 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 | nme | all }
# show wireless tag policy detailed <policy-tag-name>
# show wireless profile policy detailed <policy-profile-name>
以下是与本示例相对应的WLC配置的相关部分:
aaa new-model
!
aaa authorization network CWAauthz group radius
aaa accounting identity CWAacct start-stop group radius
!
aaa server radius dynamic-author
client <ISE-IP> server-key cisco123
!
aaa session-id common
!
!
radius server ISE-server
address ipv4 <ISE-IP> auth-port 1812 acct-port 1813
key cisco123
!
!
wireless aaa policy default-aaa-policy
wireless cts-sxp profile default-sxp-profile
wireless profile policy default-policy-profile
aaa-override
nac
vlan 1416
no shutdown
wireless tag policy cwa-policy-tag
wlan cwa-ssid policy default-policy-profile
wlan cwa-ssid 4 cwa-ssid
mac-filtering CWAauthz
no security ft adaptive
no security wpa
no security wpa wpa2
no security wpa wpa2 ciphers aes
no security wpa akm dot1x
no shutdown
ip http server (or "webauth-http-enable" under the parameter map)
ip http secure-server
故障排除
核对清单
- 确保客户端连接并获得有效的IP地址。
- 如果重定向不是自动重定向,请打开浏览器并尝试使用随机IP地址。例如,10.0.0.1。如果重定向有效,则可能存在DNS解析问题。验证您拥有通过DHCP提供的有效DNS服务器,并且该服务器可以解析主机名。
- 确保您拥有该命令
ip http server
配置为在HTTP上重定向才能正常工作。Web管理员门户配置与Web身份验证门户配置绑定,需要将其列在端口80上才能进行重定向。 您可以选择全局启用它(使用命令) ip http server
)或者您可以为启用HTTP 仅Web身份验证模块(使用命令 webauth-http-enable
在参数映射下)。
- 如果您在尝试访问HTTPS URL时未重定向且这是必需的,请验证您是否已拥有该命令
intercept-https-enable
在参数映射下:
parameter-map type webauth global
type webauth
intercept-https-enable
trustpoint xxxxx
您还可以通过GUI检查在参数映射中选中了“Web Auth intercept HTTPS”选项:
RADIUS的服务端口支持
Cisco Catalyst 9800系列无线控制器的服务端口称为 GigabitEthernet 0
端口。从版本17.6.1开始,此端口支持RADIUS(包括CoA)。
如果要将服务端口用于RADIUS,则需要以下配置:
aaa server radius dynamic-author
client 10.48.39.28 vrf Mgmt-intf server-key cisco123
interface GigabitEthernet0
vrf forwarding Mgmt-intf
ip address x.x.x.x x.x.x.x
!if using aaa group server:
aaa group server radius group-name
server name nicoISE
ip vrf forwarding Mgmt-intf
ip radius source-interface GigabitEthernet0
收集调试
WLC 9800 提供无间断跟踪功能。这可确保持续记录所有客户端连接相关的错误、警告和通知级别消息,并且您可以在发生事故或故障情况后查看其日志。
注意:您可以在日志中返回几小时到几天,但这取决于生成的日志量。
为了查看9800 WLC在默认情况下收集的跟踪,您可以通过SSH/Telnet连接到9800 WLC并执行这些步骤(确保您将会话记录到文本文件)。
步骤1:检查WLC当前时间,以便您可以在问题发生之前的时间跟踪日志。
# show clock
第二步:根据系统配置的指示,从WLC缓冲区或外部系统日志收集系统日志。这样可以快速查看系统的运行状况和错误(如果有)。
# show logging
第三步:验证是否启用了任何调试条件。
# show debugging
Cisco IOS XE Conditional Debug Configs:
Conditional Debug Global State: Stop
Cisco IOS XE Packet Tracing Configs:
Packet Infra debugs:
Ip Address Port
------------------------------------------------------|----------
注:如果看到列出了任何条件,则意味着遇到启用条件(MAC地址、IP地址等)的所有进程的跟踪将记录到调试级别。这会增加日志量。因此,建议在不主动调试时清除所有条件。
第四步:假设在步骤3中,未将所测试的mac地址列为条件,收集特定mac地址的始终在线通知级跟踪。
# show logging profile wireless filter { mac | ip } { <aaaa.bbbb.cccc> | <a.b.c.d> } to-file always-on-<FILENAME.txt>
您可以显示会话内容,也可以将文件复制到外部 TFTP 服务器。
# more bootflash:always-on-<FILENAME.txt>
or
# copy bootflash:always-on-<FILENAME.txt> tftp://a.b.c.d/path/always-on-<FILENAME.txt>
条件调试和无线电主动跟踪
如果永远在线(always-on)跟踪不能为您提供足够的信息来确定所调查问题的触发器,则可以启用条件调试并捕获无线活动(RA)跟踪,该跟踪为与指定条件(本例中为客户端MAC地址)交互的所有进程提供调试级别跟踪。要启用条件调试,请继续执行以下步骤。
第五步:确保未启用调试条件。
# clear platform condition all
第六步:为要监控的无线客户端MAC地址启用调试条件。
这些命令用于开始监控所提供的 MAC 地址,持续 30 分钟(1800 秒)。您可以选择延长监控时间,最多监控 2085978494 秒。
# debug wireless mac <aaaa.bbbb.cccc> {monitor-time <seconds>}
注:要一次监控多个客户端,请运行debug wireless mac
命令。
注意:您不会看到终端会话上的客户端活动的输出,因为所有内容都在内部缓冲,供以后查看。
步骤7'。重现要监控的问题或行为。
步骤 8如果在默认或配置的监控器时间开启之前重现问题,则停止调试。
# 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 跟踪文件的名称。
# dir bootflash: | inc ra_trace
将文件复制到外部服务器:
# copy bootflash: ra_trace_MAC_aaaabbbbcccc_HHMMSS.XXX_timezone_DayWeek_Month_Day_year.log tftp://a.b.c.d/ra-FILENAME.txt
显示内容:
# more bootflash: ra_trace_MAC_aaaabbbbcccc_HHMMSS.XXX_timezone_DayWeek_Month_Day_year.log
步骤 10如果根本原因仍不明显,请收集内部日志,这些日志是调试级别日志的更详细视图。您无需再次调试客户端,因为我们只需进一步详细查看已收集并内部存储的调试日志。
# 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
或直接在屏幕上显示输出。
将文件复制到外部服务器:
# copy bootflash:ra-internal-<FILENAME>.txt tftp://a.b.c.d/ra-internal-<FILENAME>.txt
显示内容:
# more bootflash:ra-internal-<FILENAME>.txt
步骤 11删除调试条件。
# clear platform condition all
注意:请确保在进行故障排除会话后始终删除调试条件。
Examples
如果身份验证结果并非您预期的结果,则导航到ISE非常重要 Operations > Live logs
页面并获取身份验证结果的详细信息。
系统会显示失败的原因(如果存在故障)以及ISE接收的所有Radius属性。
在下一个示例中,ISE 拒绝身份验证,原因在于没有匹配的授权规则。这是因为,您会看到Called-station-ID属性作为附加到AP mac地址的SSID名称发送,而授权与SSID名称完全匹配。通过将该规则更改为“contains”(包含)而不是“equal”(等于)来修复。
解决此问题后,WiFi客户端仍无法与SSID关联,而ISE声称授权成功,并返回正确的CWA属性。
您可以导航至 Troubleshooting > Radioactive trace
页面。
在大多数情况下,您可以依靠永远在线的日志,甚至可以从过去的连接尝试中获取日志,而无需再次重现问题。
添加客户端MAC地址并单击 Generate
如图所示.
在这种情况下,问题出在创建ACL名称时输入了拼写错误,但该名称与ISE返回的ACL名称不匹配,或者WLC抱怨没有像ISE请求的ACL:
2019/09/04 12:00:06.507 {wncd_x_R0-0}{1}: [client-auth] [24264]: (ERR): MAC: e836.171f.a162 client authz result: FAILURE
2019/09/04 12:00:06.516 {wncd_x_R0-0}{1}: [ewlc-infra-evq] [24264]: (ERR): SANET_AUTHZ_FAILURE - Redirect ACL Failure username E8-36-17-1F-A1-62, audit session id 7847300A0000012EFC24CD42,
2019/09/04 12:00:06.518 {wncd_x_R0-0}{1}: [errmsg] [24264]: (note): %SESSION_MGR-5-FAIL: Authorization failed or unapplied for client (e836.171f.a162) on Interface capwap_90000005 AuditSessionID 7847300A0000012EFC24CD42. Failure Reason: Redirect ACL Failure. Failed attribute name REDIRECT.