목차

소개

이 문서에서는 Cisco Catalyst 9800 WLC(Wireless LAN Controller)에서 AAA 캐시를 이해하고 구성하는 방법에 대해 설명합니다.

사전 요구 사항

요구 사항

다음 주제에 대한 지식을 보유하고 있으면 유용합니다.

- RADIUS 및 EAP 프로토콜을 포함한 AAA 인증 개념

- WLC(Wireless LAN Controller) 운영 및 컨피그레이션 워크플로

- 802.1X 인증 방법 및 인증서 관리

- 기본 PKI(Public Key Infrastructure) 및 인증서 서명 프로세스

사용되는 구성 요소

이 문서의 정보는 다음 소프트웨어 및 하드웨어 버전을 기반으로 합니다.

- Cisco Catalyst 9800 Series Wireless LAN Controller

- 소프트웨어 릴리스 17.18.1 이상(이 릴리스에서 AAA 캐시 기능 지원)

- AAA/RADIUS 서버로서의 Cisco ISE(Identity Services Engine)

- 802.1X, EAP-TLS, EAP-PEAP, MAB 및 iPSK를 지원하는 네트워크 액세스 디바이스

이 문서의 정보는 특정 랩 환경의 디바이스를 토대로 작성되었습니다. 이 문서에 사용된 모든 디바이스는 초기화된(기본) 컨피그레이션으로 시작되었습니다. 현재 네트워크가 작동 중인 경우 모든 명령의 잠재적인 영향을 미리 숙지하시기 바랍니다.

배경 정보

802.1X와 같은 인증 방법은 외부 인증 서버(예: RADIUS 서버)와의 통신에 따라 달라집니다. WLC(Wireless LAN Controller)가 서버에 연결할 수 없거나 서버를 사용할 수 없는 경우 무선 클라이언트가 SSID에 연결할 수 없으므로 서비스가 중단됩니다. WLC는 인증이 성공할 때까지 클라이언트 트래픽을 차단합니다.

17.18.1 릴리스부터 AAA 캐시 기능을 사용하면 캐시된 인증 항목을 사용하여 AAA 서버를 사용할 수 없게 되더라도 Catalyst 9800 WLC에서 무선 클라이언트를 인증할 수 있습니다. 이를 통해 AAA 서버 중단 시 서비스 중단을 크게 줄이고 원활한 클라이언트 연결을 유지할 수 있습니다.

AAA 캐시 메커니즘은 액세스 포인트가 로컬 모드 또는 FlexConnect(중앙 인증) 모드에서 작동할 때 지원됩니다.

Cisco Catalyst 9800 WLC의 AAA 캐시 기능:

- 초기 인증(AAA 서버에 연결할 수 있는 경우): WLC는 RADIUS를 사용하여 구성된 AAA 서버에 클라이언트 인증 요청을 전달합니다. 서버가 Access-Accept를 반환하면 WLC는 클라이언트 인증 세부사항을 AAA 캐시에 로컬로 저장합니다.

- 클라이언트 재연결(AAA 서버에 연결할 수 없는 경우): 클라이언트가 캐시된 항목이 만료되기 전에 다시 연결되면 WLC는 로컬 AAA 캐시를 참조합니다. 캐시된 유효한 데이터가 있는 경우 AAA 서버에 연결하지 않고도 네트워크 액세스가 허용됩니다.

- 장애 조치 지원: 네트워크 문제 또는 장애로 인해 AAA 서버에 연결할 수 없는 경우, WLC는 캐시된 데이터를 사용하여 클라이언트를 계속 인증하므로 이전에 인증된 사용자가 중단 없는 액세스를 유지할 수 있습니다.

- 캐시 수명 및 만료: AAA 캐시의 항목은 임시적이며 구성 가능합니다. 기본 캐시 기간은 24시간입니다. 타이머를 0으로 설정하면 엔트리가 만료되지 않습니다. 캐시 엔트리가 만료된 후 클라이언트가 다시 연결되면 WLC는 인증을 위해 AAA 서버에 연결하려고 시도합니다.

VK-WLC#show aaa cache group VK-SRV-GRP all

-----------------------------------------------------------------

IOSD AAA Auth Cache entries:

Entries in Profile dB VK-SRV-GRP for exact match:

No entries found in Profile dB

--------------------------------------------------------------------

SMD AAA Auth Cache Entries:

Total number of Cache entries is 0

WNCD AAA Auth Cache entries:

MAC ADDR:                          C4E9.0A00.B1B0

Profile Name:                      VK-CACHE

User Name:                         vk@wireless.com

Timeout:                           28800

Created Timestamp :                09/18/25 15:28:54 UTC

Server IP Address:                 10.106.37.159

AAA 캐시에 대해 지원되는 인증 유형은 다음과 같습니다.

- EAP-TLS

- MSCHAPv2를 사용하는 EAP-PEAP

- MAB(MAC Authentication Bypass), MAB+PSK 및 MAB+802.1x/iPSK

구성

1단계: WLC에 AAA 서버 추가

먼저 AAA(RADIUS) 서버를 Wireless LAN Controller에 추가합니다. 이는 GUI 또는 CLI를 통해 수행할 수 있습니다.

GUI 방법: Configuration(컨피그레이션) > Security(보안) > AAA로 이동하여 서버를 추가합니다.

CLI 방법:

radius server VK-ISE

address ipv4 10.106.37.159 auth-port 1812 acct-port 1813

key Cisco123

이 명령은 지정된 IP 주소, 인증 포트, 계정 관리 포트 및 공유 키를 사용하여 VK-ISE라는 RADIUS 서버 항목을 생성합니다.

2단계: AAA 캐시 프로필 생성(CLI에만 해당)

캐시 동작을 정의하기 위한 AAA 캐시 프로필을 생성합니다. 이 단계는 CLI 전용입니다.

aaa cache profile VK-CACHE all

이 명령은 VK-CACHE라는 캐시 프로파일을 만들고 지원되는 모든 인증 유형에 대해 캐싱을 활성화합니다.

3단계: 서버 그룹 생성 및 RADIUS 서버 및 캐시 프로필 매핑(CLI에만 해당)

RADIUS 서버 그룹을 만들고, AAA 서버를 연결하고, 캐시 만료를 구성하고, 권한 부여/인증 프로파일을 매핑합니다.

aaa group server radius VK-SRV-GRP

server name VK-ISE

cache expiry 8

cache authorization profile VK-CACHE

cache authentication profile VK-CACHE

deadtime 5

radius-server dead-criteria time 5 tries 5

이 명령 집합은 다음과 같습니다.

- VK-SRV-GRP라는 서버 그룹을 만듭니다.

- VK-ISE 서버를 연결합니다

- 캐시 만료를 8시간으로 설정

- 권한 부여 및 인증 프로파일을 모두 VK-CACHE에 매핑합니다.

- 연결할 수 없는 서버의 데드 타임을 5분으로 설정하고, 재시도 논리를 위한 데드 기준을 설정합니다.

4단계: 인증 및 권한 부여 방법 생성

서버 그룹 및 캐시의 사용을 지정하여 인증 및 권한 부여를 위한 방법 목록을 정의합니다.

aaa authentication dot1x default group VK-SRV-GRP cache VK-SRV-GRP

aaa authorization network default group VK-SRV-GRP cache VK-SRV-GRP

aaa local authentication default

authorization default

aaa authorization credential-download default cache VK-SRV-GRP

이 명령은 802.1X 인증 및 네트워크 권한 부여를 위한 기본 방법 목록을 설정하여 캐시 및 서버 그룹의 우선순위를 지정합니다.

RADIUS 서버를 시도하기 전에 WLC가 먼저 캐시를 확인하도록 하려면(사용자가 이미 캐시되어 있는 경우 빠른 인증을 위해) 다음을 사용합니다.

aaa authentication dot1x default cache VK-SRV-GRP group VK-SRV-GRP

aaa authorization network default cache VK-SRV-GRP group VK-SRV-GRP

이러한 방법 목록을 사용하면 WLC는 먼저 캐시를 참조하고 사용자가 캐시에 없는 경우에만 서버에 연결하여 캐시된 클라이언트를 더 빠르게 인증합니다.

5단계: TLS 인증 구성(인증서 설정)

EAP-TLS 인증의 경우 WLC 및 AAA 서버 모두 CA(Certificate Authority)에서 서명한 서버 인증서가 필요합니다.

Cisco ISE(AAA 서버)에서 다음을 수행합니다.

- Certificates(인증서) > Certificate Management(인증서 관리) > Certificate Signing Requests(인증서 서명 요청)를 통해 CSR(Certificate Signing Request)을 생성합니다.

- CSR 콘텐츠를 복사하고 CA에서 서명 받기

- 서명된 인증서 다운로드(.cer 또는 .pem 형식)

- 서명된 인증서 파일을 찾아 "Submit(제출)"을 클릭하여 ISE에서 인증서를 바인딩합니다.

- 서명된 인증서가 EAP 인증을 위해 시스템 인증서에 반영되는지 확인합니다

Cisco Catalyst 9800 WLC의 경우:

- WLC에서 CSR 생성

- ISE에 사용된 것과 동일한 CA에서 서명한 CSR 가져오기

- 서명된 인증서를 WLC에 업로드합니다

6단계: 로컬 EAP 프로파일 생성 및 신뢰 지점 매핑

로컬 EAP 프로필을 생성하고 EAP-TLS 인증을 위한 신뢰 지점을 매핑합니다.

eap profile VK-EAP

method tls

pki-trustpoint newcert

이 명령은 EAP-TLS를 사용하여 VK-EAP라는 EAP 프로파일을 생성하고 신뢰 지점을 newcert라는 인증서에 매핑합니다.

GUI 방법: Configuration(컨피그레이션) > Security(보안) > Local EAP(로컬 EAP)로 이동하고 EAP 프로필을 생성합니다.

7단계: SSID에 방법 목록 및 EAP 프로파일 적용

생성된 인증 및 EAP 프로파일을 사용하도록 SSID를 구성합니다.

wlan vk802.1x 2 vk802.1x

local-auth VK-EAP

radio policy dot11 24ghz

radio policy dot11 5ghz

no security ft adaptive

security dot1x authentication-list default

no shutdown

이 컨피그레이션:

- WLAN ID 2로 SSID vk802.1x를 생성합니다.

- VK-EAP 프로파일을 사용하여 로컬 인증을 활성화합니다.

- 2.4GHz 및 5GHz 대역 모두에 무선 정책 적용

- 기본 방법 목록을 사용하여 802.1X 인증을 적용합니다.

- SSID를 표시합니다(종료 없음).

8단계: 무선 클라이언트의 사용자 인증서 배포

무선 클라이언트에 인증에 필요한 사용자 인증서가 있는지 확인합니다. 랩 환경의 경우 AD(Active Directory) 도메인에 가입한 디바이스는 MMC(Microsoft Management Console)를 통해 인증서를 받을 수 있습니다. 환경에 따라 인증서를 배포하는 다른 방법이 있습니다.

다음을 확인합니다.

CLI 명령을 사용하여 9800 WLC에서 AAA 캐시 항목을 확인할 수 있습니다. Catalyst 9800 WLC의 경우 캐시 항목은 "SMD AAA Auth Cache entries"가 아니라 "WNCD AAA Auth Cache entries" 아래에 나열됩니다.

show aaa cache group <Server Group> all

이 명령은 WLC에 저장된 현재 AAA 캐시 항목을 표시합니다. 출력 예:

WNCD AAA Auth Cache entries

---------------------------

Client MAC: 00:11:22:33:44:55

SSID: vk802.1x

User: user@domain.com

Cache Expiry: 8h

Auth Method: EAP-TLS

...

AAA 서버를 사용할 수 없을 때 클라이언트가 다시 연결하고 AAA 캐시를 통해 인증될 수 있는지 확인합니다.

참고: PEAP 인증의 경우, 현재 설계에서는 Radius 서버에 의한 인증 중에 각 사용자에 대한 사용자 이름 및 자격 증명 해시가 포함된 Cisco AV 쌍을 반환해야 합니다.

cisco av 쌍 = AS 사용자 이름 = testuser

cisco-av-pair = AS-Credential-Hash=F2E787D376CBF6D6DD3600132E9C215D

모든 사용자는 RADIUS에서 AV 쌍 특성으로 구성해야 합니다.

비밀번호 또는 AS-Credential-Hash는 NT-hash 형식(https://codebeautify.org/ntlm-hash-generator)이어야 합니다.

문제 해결

AAA 캐시 및 인증 문제를 트러블슈팅하려면 여러 단계를 수행해야 합니다.

1단계: AAA 캐시 항목 확인

show aaa cache group <Server Group> all

필요한 클라이언트 항목이 캐시에 있는지 확인합니다.

2단계: 인증서 설치 및 신뢰 지점 검증

show crypto pki trustpoints

show crypto pki certificates

인증서가 올바르게 설치되고 EAP-TLS 인증을 위한 적절한 신뢰 지점에 매핑되어 있는지 확인합니다.

3단계: 인증 방법 목록 확인

show running-config | include aaa authentication

show running-config | include aaa authorization

메서드 목록이 올바른 서버 그룹 및 캐시 프로필을 참조하는지 확인합니다.

5단계: RA 내부 추적 확인

2025/09/18 13:02:37.069850424 {wncd_x_R0-0}{2}: [radius] [16292]: (ERR): RADIUS/DECODE: No response from radius-server; parse response; FAIL

2025/09/18 13:02:37.069850966 {wncd_x_R0-0}{2}: [radius] [16292]: (ERR): RADIUS/DECODE: Case error(no response/ bad packet/ op decode);parse response; FAIL

2025/09/18 13:02:37.069853220 {wncd_x_R0-0}{2}: [aaa-sg-ref] [16292]: (debug): AAA/SG: Server group wrapper ref count for public group VK-SRV-GRP decreased to 6

2025/09/18 13:02:37.069853836 {wncd_x_R0-0}{2}: [aaa-sg-ref] [16292]: (debug): AAA/SG: Server group ref count for public group VK-SRV-GRP decreased to 6

2025/09/18 13:02:37.069855784 {wncd_x_R0-0}{2}: [aaa-sg-cache] [16292]: (debug): AAA/AUTHEN/CACHE: Don't cache responses with errors

2025/09/18 13:02:37.069856826 {wncd_x_R0-0}{2}: [aaa-svr] [16292]: (debug): AAA SRV(00000000): protocol reply FAIL for Authentication

2025/09/18 13:02:37.069860954 {wncd_x_R0-0}{2}: [aaa-authen] [16292]: (debug): MAC address in AAA request is c4-e9-0a-00-b1-b0

2025/09/18 13:02:37.069864992 {wncd_x_R0-0}{2}: [aaa-svr] [16292]: (debug): AAA SRV(00000000): Authen method=CACHE VK-SRV-GRP

2025/09/18 13:02:37.069868198 {wncd_x_R0-0}{2}: [ewlc-infra-evmgr] [16292]: (debug): Add message event handle: 0x5ed36139f348

2025/09/18 13:02:37.069875634 {wncd_x_R0-0}{2}: [ewlc-infra-evmgr] [16292]: (debug): Evmgr message event cb handler invoked, handle: 0x5ed36139f348

2025/09/18 13:02:37.069876688 {wncd_x_R0-0}{2}: [wncd_0] [16292]: (debug): Sanet eventQ: AAA_CACHE_EVENT, message:0

2025/09/18 13:02:37.069887794 {wncd_x_R0-0}{2}: [aaa-prof] [16292]: (debug): AAA/PROFILE/DB: Find - Found entry for user vk@wireless.com:C4E90A00B1B0:

2025/09/18 13:02:37.069955264 {wncd_x_R0-0}{2}: [aaa-sg-cache] [16292]: (debug): AAA/AUTHEN/CACHE(00000000): Secure authen type 8 cannot be authenticated directly from cacheWe may need local eap >>>> this indiates that cache/local auth is being used

2025/09/18 13:02:37.070019998 {wncd_x_R0-0}{2}: [wncd_0] [16292]: (debug): AAA Local EAP(1419) Sending the Rxd EAP packet(id 0) to EAP subsys

2025/09/18 13:02:37.070022944 {wncd_x_R0-0}{2}: [ewlc-infra-evmgr] [16292]: (debug): Add message event handle: 0x5ed36123b0c8

2025/09/18 13:02:37.070025886 {wncd_x_R0-0}{2}: [aaa-sg-cache] [16292]: (debug): AAA/AUTHEN/CACHE(00000000): PASS for username vk@wireless.com

2025/09/18 13:02:37.070028162 {wncd_x_R0-0}{2}: [ewlc-infra-evmgr] [16292]: (debug): Evmgr message event cb handler invoked, handle: 0x5ed36123b0c8

참조:

17.18 소프트웨어 컨피그레이션 가이드