簡介
本檔案介紹如何在Catalyst 9800 WLC和ISE上設定CWA無線LAN。
必要條件
需求
思科建議您瞭解9800無線LAN控制器(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金鑰相同的共用金鑰。
步驟 2.建立授權方法清單。
導航至 Configuration > Security > AAA > AAA Method List > Authorization > + Add
如下圖所示。
步驟3.(可選)建立會計方法清單,如下圖所示。
註意:如果您由於思科錯誤ID CSCvh03827,決定從Cisco IOS XE CLI配置對radius伺服器進行負載平衡,則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
並根據需要配置網路。
步驟 2.輸入WLAN一般資訊。
步驟 3.導航至 Security
頁籤並選擇所需的安全方法。在本例中,只有「MAC Filtering」和AAA authorization list(您在第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
或者建立一個新的。
確認設定檔已啟用。
步驟 2.選擇VLAN。
導航至 Access Policies
頁籤並從下拉選單中選擇VLAN名稱或手動鍵入VLAN-ID。請勿在原則設定檔中設定 ACL。
步驟 3. 配置策略配置檔案以接受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-tag。
註:預設策略標籤會自動將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上的原則標籤後,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,僅拒絕到ISE伺服器的訪客埠8443。
為HTTP或HTTPS啟用重定向
Web管理員門戶配置與Web身份驗證門戶配置繫結,它需要在埠80上偵聽才能進行重定向。因此,必須啟用HTTP,重定向才能正常工作。您可以選擇全域性啟用它(使用命令) ip http server
)或者您可以為 僅限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」選項(Configuration > Security > Web Auth
)。
注意:預設情況下,瀏覽器使用HTTP網站來啟動重定向進程,如果需要HTTPS重定向,則必須檢查Web Auth攔截HTTPS;但是,不建議使用此配置,因為它會增加CPU使用率。
ISE 組態
將 9800 WLC 新增至 ISE
步驟 1. 開啟ISE控制檯並導航至Administration > Network Resources > Network Devices > Add
如下圖所示。
步驟 2.配置網路裝置。
或者,它可以是指定的型號名稱、軟體版本和說明,並根據裝置型別、位置或WLC分配網路裝置組。
這裡的IP位址對應傳送驗證要求的WLC介面。預設情況下為管理介面,如下圖所示:
有關網路裝置組的詳細資訊,請參閱ISE管理員指南章節:管理網路裝置:ISE — 網路裝置組。
在 ISE 上建立新使用者
步驟 1.導航至 Administration > Identity Management > Identities > Users > Add
如下圖所示。
步驟 2.輸入資訊。
在此示例中,此使用者屬於名為 ALL_ACCOUNTS
但是可以根據需要進行調整,如下圖所示。
建立授權設定檔
策略配置檔案是根據客戶端的引數(如mac地址、憑證、使用的WLAN等)分配給客戶端的結果。它可以分配特定設定,例如虛擬區域網(VLAN)、訪問控制清單(ACL)、統一資源定位器(URL)重定向等。
請注意,在最近的 ISE 版本中,Cisco_Webauth 授權結果已存在。此處,您可編輯該項目以修改重新導向 ACL 名稱,使其符合您在 WLC 上設定的名稱。
步驟 1.導航至 Policy > Policy Elements > Results > Authorization > Authorization Profiles
.按一下 add
以便建立您自己的或編輯 Cisco_Webauth
預設結果。
步驟 2.輸入重新導向資訊。請確保ACL名稱與9800 WLC上設定的名稱相同。
設定驗證規則
步驟 1. 策略集定義身份驗證和授權規則的集合。要建立一個,請導航至Policy > Policy Sets
,按一下清單中第一個策略集的齒輪,然後選擇Insert new row
or click the blue arrow on the right to choose the defaut Policy Set.
步驟 2.拓展 Authentication
政策。對於 MAB
規則(匹配有線或無線MAB),展開 Options
,然後選擇 CONTINUE
選項,以防您看到「If User not found」。
步驟 3.按一下 Save
以儲存更改。
設定授權規則
授權規則為負責決定哪個權限(哪個授權設定檔)結果套用至用戶端的項目。
步驟 1.在同一策略集頁面上,關閉 Authentication Policy
並展開 Authorziation Policy
如下圖所示。
步驟 2.最近的ISE版本以預先建立的規則開頭,稱為 Wifi_Redirect_to_Guest_Login
基本上符合我們的需求。將左邊的灰色符號轉為 enable
.
步驟 3.該規則僅匹配Wireless_MAB並返回CWA重定向屬性。現在,您可以選擇新增一些扭曲,使其僅與特定SSID匹配。選擇條件(Wireless_MAB as of now)以顯示Conditions Studio。在右側新增條件並選擇 Radius
詞典 Called-Station-ID
屬性。使其符合您的 SSID 名稱。使用 Use
位於螢幕底部,如下圖所示。
步驟 4.現在,您需要使用優先順序較高的第二條規則,該規則與 Guest Flow
條件以在使用者已在入口上進行驗證後傳回網路存取詳細資訊。您可以使用 Wifi Guest Access
預設情況下在最新的ISE版本上預先建立的規則。接著,您僅須藉由左側顯示的綠色標示啟用規則。 您可以返回預設PermitAccess或配置更精確的訪問清單限制。
步驟 5.儲存規則。
按一下 Save
在規則的最底層。
僅限 FlexConnect 本機交換存取點
假設您擁有 Flexconnect 本機交換存取點和 WLAN 會如何?先前的章節仍然有效。但是,您需要執行額外的步驟,才能將重新導向ACL預先推送到AP。
導航至 Configuration > Tags & Profiles > Flex
並選擇您的Flex配置檔案。然後,導航至 Policy ACL
頁籤。
按一下 Add
如下圖所示。
選擇重新導向ACL名稱並啟用中央Web驗證。此覈取方塊會自動反向AP本身上的ACL(這是因為「deny」語句表示Cisco IOS XE中WLC上的「不重定向到此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
)或者您可以為 僅限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
步驟 2.根據系統配置的指示,從WLC緩衝區或外部系統日誌收集系統日誌。這樣可以快速檢視系統的運行狀況和錯誤(如果有)。
# show logging
步驟 3.驗證是否已啟用任何調試條件。
# 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地址等)的所有進程的跟蹤將記錄到調試級別。這將增加日誌量。因此,建議在不主動進行調試時清除所有條件。
步驟 4.假設在步驟3中,未將所測試的mac地址列為條件,收集特定mac地址的always-on通知級別跟蹤。
# 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地址)互動的所有進程提供調試級別跟蹤。若要啟用條件調試,請繼續執行以下步驟。
步驟 5.確保未啟用調試條件。
# clear platform condition all
步驟 6.為要監控的無線客戶端mac地址啟用調試條件。
以下命令會開始監控提供的 MAC 位址 30 分鐘(1800 秒)。您可選擇將此時間增加至 2085978494 秒。
# debug wireless mac <aaaa.bbbb.cccc> {monitor-time <seconds>}
注意:為了一次監控多個客戶端,請運行調試無線mac
命令獲取每個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
注意:請確保在故障排除會話後始終刪除調試條件。
範例
如果驗證結果不是您預期的結果,則導航到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這樣的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.