소개
이 문서에서는 Cisco Catalyst 9800 Series Wireless Controller에서 802.1X 보안을 사용하여 WLAN을 설정하는 방법에 대해 설명합니다.
사전 요구 사항
요구 사항
다음 주제에 대한 지식을 보유하고 있으면 유용합니다.
사용되는 구성 요소
이 문서의 정보는 다음 소프트웨어 및 하드웨어 버전을 기반으로 합니다.
- Catalyst 9800 Wireless Controller Series(Catalyst 9800-CL)
- Cisco IOS® XE Gibraltar 17.3.x
- Cisco ISE 3.0
이 문서의 정보는 특정 랩 환경의 디바이스를 토대로 작성되었습니다. 이 문서에 사용된 모든 디바이스는 초기화된(기본) 컨피그레이션으로 시작되었습니다. 현재 네트워크가 작동 중인 경우 모든 명령의 잠재적인 영향을 미리 숙지하시기 바랍니다.
구성
네트워크 다이어그램
WLC 컨피그레이션
9800 WLC의 AAA 컨피그레이션
GUI:
1단계. RADIUS 서버를 선언합니다. RADIUS 서버 정보 Configuration > Security > AAA > Servers / Groups > RADIUS > Servers > + Add 로 이동하여 입력합니다.
향후 중앙 웹 인증(또는 CoA[Change of Authorization]가 필요한 보안)을 사용하려는 경우 CoA 지원이 활성화되었는지 확인합니다.
2단계. RADIUS 그룹에 RADIUS 서버를 추가합니다. Give Configuration > Security > AAA > Servers / Groups > RADIUS > Server Groups > + Add. a name to your group(그룹에 이름 지정)으로 이동하여 앞서 만든 서버를 Assigned Servers.
3단계. 인증 방법 목록을 만듭니다. 탐색 Configuration > Security > AAA > AAA Method List > Authentication > + 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>
AAA Dead-Server Detection에 대한 참고 사항
RADIUS 서버를 구성한 후 "ALIVE"로 간주되는지 확인할 수 있습니다.
#show aaa servers | s WNCD Platform State from WNCD (1) : current UP Platform State from WNCD (2) : current UP Platform State from WNCD (3) : current UP Platform State from WNCD (4) : current UP ...
특히 여러 RADIUS dead criteria, 서버를 사용하는 deadtime 경우 WLC에서 뿐만 아니라 을 구성할 수 있습니다.
#radius-server dead-criteria time 5 tries 3 #radius-server deadtime 5
참고: dead criteria 는 RADIUS 서버를 Dead로 표시하는 데 사용되는 기준입니다. 1. 컨트롤러가 RADIUS 서버에서 유효한 패킷을 마지막으로 수신한 시간부터 서버가 Dead로 표시된 시간까지 경과해야 하는 시간을 나타내는 시간 제한(초)입니다. 2 . RADIUS 서버가 dead로 표시되기 전에 컨트롤러에서 발생해야 하는 연속 시간 초과 횟수를 나타내는 카운터.
참고: deadtime 는 dead-criteria에서 서버를 dead로 표시한 후 서버가 dead 상태로 유지되는 시간(분)을 지정합니다. 데드타임이 만료되면 컨트롤러는 서버를 UP(ALIVE)로 표시하고 등록된 클라이언트에 상태 변경 사항을 알립니다. 상태가 UP로 표시된 후에도 서버에 계속 연결할 수 없고 dead 기준이 충족되면 dead 시간 간격 동안 서버가 다시 dead로 표시됩니다.
WLAN 프로파일 컨피그레이션
GUI:
1단계. WLAN을 생성합니다. Configuration(컨피그레이션) > Wireless(무선) > WLANs(WLANs) > + Add(추가)로 이동하여 필요에 따라 네트워크를 구성합니다.
2단계. WLAN 정보를 입력합니다
3단계. Security(보안) 탭
으로 이동하여 필요한 보안 방법을 선택합니다. 이 경우 WPA2 + 802.1x.
4단계. 탭의 Security > AAA 9800 WLC의 AAA Configuration(AAA 컨피그레이션) 섹션에서 3단계에 생성된 인증 방법을 선택합니다.
CLI:
# config t # wlan <profile-name> <wlan-id> <ssid-name> # security dot1x authentication-list <dot1x-list-name> # no shutdown
정책 프로파일 구성
정책 프로필 내에서 클라이언트를 할당할 VLAN을 결정할 수 있습니다. ACL(Access Controls List), QoS(Quality of Service), Mobility Anchor, Timers 등과 같은 다른 설정을 지정할 수 있습니다.
기본 정책 프로필을 사용하거나 새 프로필을 생성할 수 있습니다.
GUI:
Configuration(컨피그레이션) > Tags & Profiles(태그 및 프로필) > Policy Profile(정책 프로필)로 이동하여 기본 정책 프로필을 구성하거나 새 프로필을 만듭니다.
프로파일이 활성화되어야 합니다.
또한 액세스 포인트(AP)가 로컬 모드인 경우 정책 프로필에 중앙 스위칭 및 중앙 인증이 활성화되어 있는지 확인합니다.
Access Policies(액세스 정책) 탭에서 클라이언트를 할당해야 하는 VLAN을 선택합니다.
ISE가 Access-Accept(액세스 수락)에서 VLAN 할당과 같은 특성을 반환하도록 하려는 경우 다음 탭에서 AAA 재정의를 Advanced 활성화하십시오.
CLI:
# config # wireless profile policy <policy-profile-name>
# aaa-override # central switching # description "<description>" # vlan <vlanID-or-VLAN_name> # no shutdown
정책 태그 구성
정책 태그는 SSID를 정책 프로파일과 연결하는 데 사용됩니다. 새 정책 태그를 생성하거나 default-policy 태그를 사용할 수 있습니다.
참고: default-policy-tag는 WLAN ID가 1~16인 SSID를 default-policy-profile에 자동으로 매핑합니다. 수정하거나 삭제할 수 없습니다. ID가 17 이상인 WLAN이 있는 경우 default-policy-tag를 사용할 수 없습니다.
GUI:
필요한 경우 Configugation > 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와의 연결이 끊어지고 잠시 후 다시 조인됩니다.
동일한 정책 태그를 여러 AP에 할당하려면 Configuration > Wireless Setup > Advanced > Start Now > Apply.
태그를 할당할 AP를 선택하고 + Tag APs
정책, 사이트 및 RF에 해당하는 태그를 선택하고 Apply to Device(디바이스에 Save 적용 및 적용)를 클릭합니다.
CLI:
# config t # ap <ethernet-mac-addr> # policy-tag <policy-tag-name> # end
ISE 구성
ISE에서 WLC 선언
1단계. ISE 콘솔을 열고 이미지에 표시된 Administration > Network Resources > Network Devices > Add 대로 로 이동합니다.
2단계. 네트워크 디바이스를 구성합니다.
선택적으로, 지정된 모델 이름, 소프트웨어 버전, 설명이 될 수 있으며 디바이스 유형, 위치 또는 WLC에 따라 네트워크 디바이스 그룹을 할당할 수 있습니다.
여기서 IP 주소는 인증 요청을 전송하는 WLC 인터페이스에 해당합니다. 기본적으로 이 인터페이스는 이미지에 표시된 관리 인터페이스입니다.
자세한 내용 Network Device Groups 은 Cisco Identity Services Engine 관리자 가이드의 네트워크 장치 관리 장, : 네트워크 장치 그룹을 검토 합니다
ISE에서 새 사용자 생성
1단계. 이미지 Administration > Identity Management > Identities > Users > Add 에 표시된 대로 탐색합니다.
2단계. 사용자에 대한 정보를 입력합니다. 이 예에서 이 사용자는 ALL_ACCOUNTS라는 그룹에 속하지만 이미지에 표시된 것과 같이 필요에 따라 조정할 수 있습니다:
권한 부여 프로파일 생성
은 조건이 일치할 때 반환되는 특성 집합으로 Authorization Profile 구성됩니다. 권한 부여 프로파일은 클라이언트가 네트워크에 대한 액세스 권한, 푸시 ACL(Access Control List), VLAN 재정의 또는 기타 매개변수를 갖는지 여부를 결정합니다. 이 예에 표시된 권한 부여 프로파일은 클라이언트에 대한 액세스 승인을 전송하고 클라이언트를 VLAN 1416에 할당합니다.
1단계. 로 Policy > Policy Elements > Results > Authorization > Authorization Profiles 이동하여 버튼을 Add 클릭합니다.
2단계. 이미지에 표시된 대로 값을 입력합니다. 여기서는 예를 들어 VLAN과 같은 AAA 재정의 특성을 반환할 수 있습니다. WLC 9800은 VLAN ID 또는 Name을 사용하는 터널 특성 64, 65, 81을 허용하며 이 특성의 사용도 AirSpace-Interface-Name 허용합니다.
정책 집합 생성
정책 집합은 인증 및 권한 부여 규칙의 모음을 정의합니다. 하나를 생성하려면 로 이동하여 Policy > Policy Sets목록에서 첫 번째 Policy Set(정책 설정)의 기어를 클릭하고 이 이미지 Insert new row above 에 표시된 대로 선택합니다.
이 정책 집합에 대한 이름 및 조건을 구성합니다. 이 예에서 조건은 WLC에서 오는 트래픽과 매칭하도록 지정합니다.
Radius:NAS-IP-Address EQUALS X.X.X.X // X.X.X.X is the WLC IP address
에서 Default Network Access 이(가) 선택되었는지 확인합니다 Allowed Protocols / Server Sequence.
인증 정책 생성
인증 및 권한 부여 정책을 구성하려면 정책 집합 컨피그레이션을 입력해야 합니다. Policy Set 줄 오른쪽에 있는 파란색 화살표를 클릭하면 이 작업을 수행할 수 있습니다.
인증 정책은 사용자의 자격 증명이 정확한지 확인하는 데 사용됩니다(사용자가 실제로 누구인지 확인). 에서 Authenticaton Policy, 인증 정책을 생성하고 이 이미지에 표시된 대로 구성합니다. 이 예에서 사용되는 정책의 조건은 다음과 같습니다.
RADIUS:Called-Station-ID ENDS_WITH <SSID> // <SSID> is the SSID of your WLAN
또한 이 인증 정책의 Use 탭 아래에서 내부 사용자를 선택합니다.
권한 부여 정책 생성
같은 페이지에서 로 Authorization Policy 이동하여
새 페이지를 만듭니다. 이 권한 부여 정책의 조건은 다음과 같습니다.
RADIUS:Called-Station-ID ENDS_WITH <SSID> // <SSID> is the SSID of your WLAN
이 정책의 Result > Profiles 탭에서 이전에 생성한 Authorization Profile 정책을 선택합니다. 이렇게 하면 사용자가 인증된 경우 ISE가 올바른 특성을 WLC에 전송합니다.
이 시점에서 WLC 및 ISE에 대한 모든 컨피그레이션이 완료되었으므로 이제 클라이언트에 연결을 시도할 수 있습니다.
ISE 허용 프로토콜 정책에 대한 자세한 내용은 Cisco Identity Services Engine 관리자 가이드의 인증 정책 관리 장을 확인 하십시오 인증 정책 관리
ISE ID 소스에 대한 자세한 내용은 Cisco Identity Services Engine 관리자 설명서의 사용자 및 외부 ID 소스 관리 장을 확인 하십시오. ID 소스
다음을 확인합니다.
다음 명령을 사용하여 현재 컨피그레이션을 확인할 수 있습니다.
# show run wlan // WLAN configuration # show run aaa // AAA configuration (server, server group, methods) # show aaa servers // Configured AAA servers # show ap config general // AP's configurations # show ap name <ap-name> config general // Detailed configuration of specific AP
# show ap tag summary // Tag information for AP'S
# show wlan { summary | id | name | all } // WLAN details
# show wireless tag policy detailed <policy-tag name> // Detailed information on given policy tag
# show wireless profile policy detailed <policy-profile name>// Detailed information on given policy profile
문제 해결
참고: 외부 로드 밸런서의 사용도 좋습니다. 그러나 calling-station-id RADIUS 특성을 사용하여 로드 밸런서가 클라이언트 단위로 작동하는지 확인합니다. UDP 소스 포트에 의존하는 것은 9800의 RADIUS 요청 밸런싱에 대해 지원되는 메커니즘이 아닙니다.
WLC에서 문제 해결
WLC 9800은 ALWAYS-ON 추적 기능을 제공합니다. 이렇게 하면 모든 클라이언트 연결 관련 오류, 경고 및 알림 수준 메시지가 지속적으로 로깅되며, 사고 또는 장애 발생 후 상황에 대한 로그를 볼 수 있습니다.
생성된 로그의 양에 따라 다르지만 일반적으로 몇 시간에서 며칠로 돌아갈 수 있습니다.
9800 WLC가 기본적으로 수집한 추적을 보려면 SSH/텔넷을 통해 9800 WLC에 연결하고 다음 단계를 수행할 수 있습니다(세션을 텍스트 파일에 로깅해야 함).
1단계. WLC 현재 시간을 확인하여 문제가 발생한 시간까지의 로그를 추적할 수 있습니다.
# show clock
2단계. 시스템 컨피그레이션에 따라 WLC 버퍼 또는 외부 syslog에서 syslog를 수집합니다. 이렇게 하면 시스템 상태 및 오류(있는 경우)를 빠르게 확인할 수 있습니다.
# show logging
3단계. 디버그 조건이 활성화되었는지 확인합니다.
# show debugging IOSXE Conditional Debug Configs: Conditional Debug Global State: Stop IOSXE Packet Tracing Configs: Packet Infra debugs: Ip Address Port ------------------------------------------------------|----------
참고: 조건을 나열하면, 활성화된 조건(mac 주소, ip 주소 등)이 발생하는 모든 프로세스의 디버그 레벨에 추적이 로깅됨을 의미합니다. 이렇게 하면 로그의 볼륨이 증가합니다. 따라서 능동적으로 디버깅하지 않을 때는 모든 조건을 지우는 것이 좋습니다.
4단계. 테스트 중인 mac 주소가 3단계의 조건으로 나열되지 않았다고 가정하고, 특정 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(Radio Active) 추적을 캡처할 수 있습니다. 그러면 지정된 조건(이 경우 클라이언트 mac 주소)과 상호 작용하는 모든 프로세스에 대해 디버그 레벨 추적을 제공합니다. GUI 또는 CLI를 통해 이를 수행할 수 있습니다.
CLI:
조건부 디버깅을 활성화하려면 다음 단계를 수행합니다.
5단계. 활성화된 디버그 조건이 없는지 확인합니다.
# clear platform condition all
6단계. 모니터링할 무선 클라이언트 mac 주소에 대한 디버그 조건을 활성화합니다.
이 명령은 제공된 mac 주소를 30분(1800초) 동안 모니터링하기 시작합니다. 선택적으로 이 시간을 최대 2085978494초까지 늘릴 수 있습니다.
# debug wireless mac <aaaa.bbbb.cccc> {monitor-time <seconds>}
참고: 한 번에 둘 이상의 클라이언트를 모니터링하려면 mac 주소당 debug wireless mac <aaaa.bbb.cccc> 명령을 실행합니다.
참고: 모든 것이 나중에 볼 수 있도록 내부적으로 버퍼링되므로 터미널 세션에서 클라이언트 활동의 출력이 표시되지 않습니다.
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
참고: 트러블슈팅 세션 후에는 항상 디버그 조건을 제거하십시오.
GUI:
1단계. 로 Troubleshooting > Radioactive Trace > + Add 이동하여 문제를 해결할 클라이언트의 MAC/IP 주소를 지정합니다.
2단계. 시작을 클릭합니다.
3단계. 문제를 재현합니다.
4단계. Stop(중지)을 클릭합니다.
5단계. 단추를 Generate 클릭하고 로그를 가져올 시간 간격을 선택한 다음 Apply to Device. In this example, the logs for the last 10 minutes are requested.
6단계. 컴퓨터에서 Radioactive Trace(방사능 추적)를 다운로드하고 다운로드 버튼을 클릭하여 검사합니다.
ISE에서 트러블슈팅
클라이언트 인증에 문제가 있는 경우 ISE 서버의 로그를 확인할 수 있습니다. 로 Operations > RADIUS > Live Logs 이동하면 인증 요청 목록과 매칭된 정책 집합, 각 요청에 대한 결과 등이 표시됩니다. 그림과 같이 각 선의 Details 탭 아래에서 돋보기를 클릭하면 자세한 내용을 확인할 수 있습니다.