본 제품에 대한 문서 세트는 편견 없는 언어를 사용하기 위해 노력합니다. 본 설명서 세트의 목적상, 편견 없는 언어는 나이, 장애, 성별, 인종 정체성, 민족 정체성, 성적 지향성, 사회 경제적 지위 및 교차성에 기초한 차별을 의미하지 않는 언어로 정의됩니다. 제품 소프트웨어의 사용자 인터페이스에서 하드코딩된 언어, RFP 설명서에 기초한 언어 또는 참조된 서드파티 제품에서 사용하는 언어로 인해 설명서에 예외가 있을 수 있습니다. 시스코에서 어떤 방식으로 포용적인 언어를 사용하고 있는지 자세히 알아보세요.
Cisco는 전 세계 사용자에게 다양한 언어로 지원 콘텐츠를 제공하기 위해 기계 번역 기술과 수작업 번역을 병행하여 이 문서를 번역했습니다. 아무리 품질이 높은 기계 번역이라도 전문 번역가의 번역 결과물만큼 정확하지는 않습니다. Cisco Systems, Inc.는 이 같은 번역에 대해 어떠한 책임도 지지 않으며 항상 원본 영문 문서(링크 제공됨)를 참조할 것을 권장합니다.
이 문서에서는 WLC(Wireless LAN Controller) 환경에서 웹 인증 문제를 해결하기 위한 팁을 제공합니다.
다음 주제에 대한 지식을 보유하고 있으면 유용합니다.
CAPWAP(Control and Provisioning of Wireless Access Point)에 대한 지식
기본 작업을 위해 LAP(Lightweight Access Point) 및 WLC를 구성하는 방법에 대한 지식
웹 인증에 대한 기본적인 지식 및 WLC에서 웹 인증을 구성하는 방법WLC에서 웹 인증을 구성하는 방법에 대한 자세한 내용은 Wireless LAN Controller Web Authentication Configuration Example을 참조하십시오.
이 문서의 정보는 펌웨어 버전 8.3.121을 실행하는 WLC 5500을 기반으로 합니다.
이 문서의 정보는 특정 랩 환경의 디바이스를 토대로 작성되었습니다.이 문서에 사용된 모든 디바이스는 초기화된(기본) 컨피그레이션으로 시작되었습니다.현재 네트워크가 작동 중인 경우, 모든 명령어의 잠재적인 영향을 미리 숙지하시기 바랍니다.
이 문서는 다음 하드웨어에서 사용할 수도 있습니다.
Cisco 5500 Series Wireless Controller
Cisco 2500 Series Wireless Controller
Cisco Airespace 3500 Series WLAN 컨트롤러
Cisco Airespace 4000 Series Wireless LAN Controller
Cisco Flex 7500 Series Wireless Controller
Cisco Wireless Services Module 2(WiSM2)
웹 인증은 컨트롤러가 특정 클라이언트의 DHCP 관련 패킷/DNS(Domain Name System) 관련 패킷을 제외하고, 클라이언트가 사전 인증 ACL(Access Control List)을 통해 허용되는 트래픽을 제외하고 유효한 사용자 이름 및 비밀번호를 올바르게 제공할 때까지 IP 트래픽을 허용하지 않도록 하는 레이어 3 보안 기능입니다. 웹 인증은 클라이언트가 인증 전에 IP 주소를 가져올 수 있도록 허용하는 유일한 보안 정책입니다.서 플리 컨 트 또는 클라이언트 유틸리티가 필요 없는 간단한 인증 방법입니다.웹 인증은 WLC에서 로컬로 또는 RADIUS 서버를 통해 수행할 수 있습니다.웹 인증은 일반적으로 게스트 액세스 네트워크를 구축하려는 고객이 사용합니다.
웹 인증은 컨트롤러가 클라이언트에서 첫 번째 TCP HTTP(포트 80) GET 패킷을 인터셉트할 때 시작됩니다.클라이언트의 웹 브라우저가 이 범위를 충족하려면 클라이언트가 먼저 IP 주소를 얻고 웹 브라우저의 URL-IP 주소 변환(DNS 확인)을 수행해야 합니다.이렇게 하면 웹 브라우저에서 HTTP GET을 전송할 IP 주소를 알 수 있습니다.
WLAN에 웹 인증이 구성된 경우 컨트롤러는 DHCP 및 DNS 트래픽을 제외하고 (인증 프로세스가 완료될 때까지) 클라이언트에서 모든 트래픽을 차단합니다.클라이언트가 첫 번째 HTTP GET을 TCP 포트 80으로 전송하면 컨트롤러는 처리를 위해 https://192.0.2.1/login.html(구성된 가상 IP인 경우)으로 클라이언트를 리디렉션합니다.이 프로세스는 로그인 웹 페이지를 표시합니다.
참고:웹 인증을 위해 외부 웹 서버를 사용하는 경우 WLC 플랫폼에는 외부 웹 서버에 대한 사전 인증 ACL이 필요합니다.
이 섹션에서는 웹 인증 리디렉션 프로세스에 대해 자세히 설명합니다.
웹 브라우저를 열고 URL(예: http://www.google.com)을 입력합니다.클라이언트는 대상에 대한 IP를 가져오기 위해 이 URL에 대한 DNS 요청을 보냅니다.WLC는 DNS 서버로 DNS 요청을 전달하고 DNS 서버는 목적지 www.google.com의 IP 주소를 포함하는 DNS 회신으로 응답하며, 이는 무선 클라이언트로 전달됩니다.
그런 다음 클라이언트는 대상 IP 주소로 TCP 연결을 열려고 시도합니다.TCP SYN 패킷은 www.google.com의 IP 주소로 전송됩니다.
WLC에는 클라이언트에 대해 구성된 규칙이 있으므로 www.google.com의 프록시 역할을 할 수 있습니다.TCP SYN-ACK 패킷을 소스(www.google.com)의 IP 주소로 클라이언트에 다시 전송합니다.클라이언트는 3방향 TCP 핸드셰이크를 완료하기 위해 TCP ACK 패킷을 다시 전송하고 TCP 연결이 완전히 설정됩니다.
클라이언트는 www.google.com으로 향하는 HTTP GET 패킷을 전송합니다.WLC는 이 패킷을 인터셉트하고 리디렉션 처리를 위해 전송합니다.HTTP 애플리케이션 게이트웨이는 HTML 본문을 준비하고 클라이언트가 요청한 HTTP GET에 대한 회신으로 다시 전송합니다.이 HTML을 사용하면 클라이언트가 WLC의 기본 웹 페이지 URL(예: http://<Virtual-Server-IP>/login.html)으로 이동합니다.
클라이언트는 IP 주소로 TCP 연결을 닫습니다(예: www.google.com).
이제 클라이언트가 http://<virtualip>/login.html으로 이동하려는 것이므로 WLC의 가상 IP 주소로 TCP 연결을 열려고 시도합니다.192.0.2.1(여기에서 가상 IP)용 TCP SYN 패킷을 WLC에 전송합니다.
WLC는 TCP SYN-ACK로 다시 응답하고 클라이언트는 핸드셰이크를 완료하기 위해 WLC에 TCP ACK를 다시 전송합니다.
클라이언트는 로그인 페이지를 요청하기 위해 /login.html으로 향하는 HTTP GET을 192.0.2.1.
이 요청은 WLC의 웹 서버까지 허용되며 서버는 기본 로그인 페이지로 다시 응답합니다.클라이언트는 사용자가 계속 이동하여 로그인할 수 있는 브라우저 창에 로그인 페이지를 받습니다.
이 예에서 클라이언트의 IP 주소는 192.168.68.94입니다. 클라이언트가 액세스하던 웹 서버에 대한 URL을 확인했습니다. 10.1.0.13. 보시다시피 클라이언트는 3방향 핸드셰이크를 수행하여 TCP 연결을 시작한 다음 패킷 96부터 시작하여 HTTP GET 패킷을 전송했습니다(00은 HTTP 패킷). 이는 사용자가 트리거한 것이 아니라 운영 체제 자동 포털 탐지 트리거였습니다(요청된 URL에서 추측 가능). 컨트롤러가 패킷을 인터셉트하고 코드 200으로 응답합니다. 코드 200 패킷에는 리디렉션 URL이 있습니다.
<HTML><HEAD>
<TITLE> Web Authentication Redirect</TITLE>
<META http-equiv="Cache-control" content="no-cache">
<META http-equiv="Pragma" content="no-cache">
<META http-equiv="Expires" content="-1">
<META http-equiv="refresh" content="1; URL=https://192.0.2.1/login.html?redirect=http://captive.apple.com/hotspot-detect.html">
</HEAD></HTML>
그런 다음 3방향 핸드셰이크를 통해 TCP 연결을 닫습니다.
그런 다음 클라이언트가 리디렉션 URL에 대한 HTTPS 연결을 시작합니다. 192.0.2.1은 컨트롤러의 가상 IP 주소입니다.클라이언트는 SSL 터널을 가져오기 위해 서버 인증서를 검증하거나 무시해야 합니다.이 경우 자체 서명 인증서이므로 클라이언트가 이를 무시했습니다.로그인 웹 페이지는 이 SSL 터널을 통해 전송됩니다.패킷 112가 트랜잭션을 시작합니다.
WLC의 가상 IP 주소에 대한 도메인 이름을 구성할 수 있습니다.가상 IP 주소에 대한 도메인 이름을 구성할 경우 이 도메인 이름은 클라이언트에서 HTTP GET 패킷에 대한 응답으로 컨트롤러에서 HTTP OK 패킷에 반환됩니다.그런 다음 이 도메인 이름에 대해 DNS 확인을 수행해야 합니다.DNS 확인에서 IP 주소를 가져오면 컨트롤러의 가상 인터페이스에 구성된 IP 주소인 해당 IP 주소로 TCP 세션을 열려고 시도합니다.
결국 웹 페이지가 터널을 통해 클라이언트로 전달되고 사용자는 SSL(Secure Sockets Layer) 터널을 통해 사용자 이름/비밀번호를 다시 전송합니다.
웹 인증은 다음 세 가지 방법 중 하나로 수행됩니다.
내부 웹 페이지를 사용합니다(기본값). 기본 웹 페이지 사용에 대한 자세한 내용은 기본 웹 인증 로그인 페이지 선택을 참조하십시오.
사용자 지정 로그인 페이지를 사용합니다.사용자 지정 로그인 페이지 사용 방법에 대한 자세한 내용은 사용자 지정 웹 인증 로그인 페이지 생성을 참조하십시오.
외부 웹 서버의 로그인 페이지를 사용합니다.외부 웹 서버에서 로그인 페이지를 사용하는 방법에 대한 자세한 내용은 외부 웹 서버에서 사용자 정의된 웹 인증 로그인 페이지 사용을 참조하십시오.
참고:
- 사용자 지정된 웹 인증 번들은 파일 이름에 최대 30자의 제한을 가집니다.번들에 포함된 파일 이름이 30자보다 크지 않은지 확인합니다.
- WLC 릴리스 7.0부터 WLAN에서 웹 인증이 활성화되고 CPU ACL 규칙도 있는 경우 클라이언트가 WebAuth_Reqd 상태에서 인증되지 않은 경우 클라이언트 기반 웹 인증 규칙이 항상 우선순위가 높습니다.클라이언트가 RUN 상태가 되면 CPU ACL 규칙이 적용됩니다.
- 따라서 WLC에서 CPU ACL이 활성화된 경우 다음 조건에서 가상 인터페이스 IP에 대한 허용 규칙(임의의 방향)이 필요합니다.
- CPU ACL에 양방향으로 모두 허용 규칙이 없는 경우
- allow ALL 규칙이 있지만 포트 443 또는 우선 순위가 높은 80에 대한 DENY 규칙이 있는 경우
- 가상 IP에 대한 허용 규칙은 TCP 프로토콜에 대해, secureweb이 비활성화된 경우 포트 80에 대해, secureweb이 활성화된 경우 포트 443이어야 합니다.이는 CPU ACL이 있을 때 성공 적 인 인증 후 가상 인터페이스 IP 주소에 대한 클라이언트 액세스를 허용하기 위해 필요 합니다.
웹 인증을 구성하고 기능이 예상대로 작동하지 않으면 다음 단계를 완료합니다.
Mac/Linux에서 터미널 창을 열고 "nslookup www.cisco.com"를 수행하고 IP 주소가 다시 나타나는지 확인합니다.
클라이언트가 DNS 확인을 받지 못할 경우 다음 중 하나를 수행할 수 있습니다.
이 URL을 입력하면 웹 페이지가 표시됩니까?대답이 "예"인 경우 DNS 문제일 가능성이 높습니다.인증서 문제일 수도 있습니다.컨트롤러는 기본적으로 자체 서명 인증서를 사용하며 대부분의 웹 브라우저는 사용에 대해 경고합니다.
Cisco 소프트웨어 다운로드에서 샘플 웹 인증 스크립트를 다운로드할 수 있습니다.예를 들어 5508 컨트롤러의 경우 Products > Wireless > Wireless LAN Controller > Standalone Controllers > Cisco 5500 Series Wireless LAN Controllers > Cisco 5508 Wireless LAN Controller > Software on Chassis > Wireless Lan Controller Web Authentication Bundle을 선택하고 webauth_bundle.zip 파일을 다운로드합니다.
사용자 인터넷 브라우저가 사용자 지정 로그인 페이지로 리디렉션될 때 다음 매개변수가 URL에 추가됩니다.
사용 가능한 상태 코드는 다음과 같습니다.
사용자 지정 웹 인증 창을 만드는 방법에 대한 자세한 내용은 Wireless LAN Controller 웹 인증 컨피그레이션 예의 사용자 지정 웹 인증 지침 섹션을 참조하십시오.
참고:크기가 큰 파일과 이름이 긴 파일은 추출 오류가 발생합니다.그림은 .jpg 형식으로 사용하는 것이 좋습니다.
참고:가상 인터페이스에 DNS 호스트 이름을 할당하려면 WLC GUI에서 Controller > Interfaces 메뉴로 이동합니다.
프로토콜 | 포트 |
---|---|
HTTP/HTTPS 트래픽 | TCP 포트 80/443 |
CAPWAP 데이터/제어 트래픽 | UDP 포트 5247/5246 |
LWAPP 데이터/제어 트래픽(rel 5.0 이전) | UDP 포트 12222/12223 |
EOIP 패킷 | IP 프로토콜 97 |
모빌리티 | UDP 포트 16666(비보안) UDP 포트 16667(보안 IPSEC 터널) |
netsh ras set tracing eapol enable netsh ras set tracing rastls enable
로그를 비활성화하려면 동일한 명령을 실행하지만 enable을 disable로 바꿉니다.XP의 경우 모든 로그는 C:\Windows\tracing에 있습니다.
debug client <mac_address in format xx:xx:xx:xx:xx:xx> debug dhcp message enable debug aaa all enable debug dot1x aaa enable debug mobility handoff enable
debug pm ssh-appgw enable debug pm ssh-tcp enable debug pm rules enable debug emweb server enable debug pm ssh-engine enable packet <client ip>