이 문서에서는 WLC(무선 LAN 컨트롤러)의 ACL(액세스 제어 목록)에 대한 정보를 제공합니다. 이 문서에서는 현재 제한 사항 및 규칙에 대해 설명하고 관련 예를 제공합니다.이 문서는 Wireless LAN Controller 컨피그레이션 예에서 ACL을 대체하는 것이 아니라 추가 정보를 제공하기 위한 것입니다.
참고: 레이어 2 ACL 또는 레이어 3 ACL 규칙의 추가 유연성을 위해 컨트롤러에 연결된 첫 번째 hop 라우터에서 ACL을 구성하는 것이 좋습니다.
가장 일반적인 오류는 프로토콜 필드가 IP 패킷을 허용하거나 거부할 목적으로 ACL 행에서 IP(protocol=4)로 설정된 경우에 발생합니다.이 필드는 TCP, UDP(User Datagram Protocol) 및 ICMP(Internet Control Message Protocol)와 같은 IP 패킷 내에서 캡슐화된 내용을 실제로 선택하므로 IP-in-IP 패킷을 차단하거나 허용하는 것으로 변환됩니다.모바일 IP 패킷을 차단하려는 경우가 아니면 ACL 행에서 IP를 선택하지 않아야 합니다.Cisco 버그 ID CSCsh22975(등록된 고객만 해당)는 IP를 IP-in-IP로 변경합니다.
이 구성을 시도하기 전에 다음 요구 사항을 충족해야 합니다.
기본 작업을 위해 WLC 및 LAP(Lightweight Access Point)를 구성하는 방법에 대한 지식
LWAPP(Lightweight Access Point Protocol) 및 무선 보안 방법에 대한 기본 지식
이 문서는 특정 소프트웨어 및 하드웨어 버전으로 한정되지 않습니다.
문서 규칙에 대한 자세한 내용은 Cisco 기술 팁 표기 규칙을 참고하십시오.
ACL은 하나 이상의 ACL 행으로 구성되며 그 뒤에 ACL의 끝에 암시적 "deny any"가 옵니다.각 라인에는 다음 필드가 있습니다.
시퀀스 번호
방향
소스 IP 주소 및 마스크
대상 IP 주소 및 마스크
프로토콜
소스 포트
대상 포트
DSCP
작업
이 문서에서는 다음 각 필드에 대해 설명합니다.
Sequence Number(시퀀스 번호) - ACL 행이 패킷에 대해 처리되는 순서를 나타냅니다.패킷은 첫 번째 ACL 라인과 일치할 때까지 ACL에 대해 처리됩니다.또한 ACL이 생성된 후에도 ACL의 모든 위치에 ACL 행을 삽입할 수 있습니다.예를 들어, 시퀀스 번호가 1인 ACL 라인이 있는 경우 새 ACL 라인에 시퀀스 번호 1을 입력하여 새 ACL 라인을 앞에 삽입할 수 있습니다.그러면 ACL에서 현재 줄이 자동으로 아래로 이동합니다.
Direction(방향) - ACL 회선을 적용할 방향을 컨트롤러에 지정합니다.3가지 방법이 있습니다.Inbound(인바운드), Outbound(아웃바운드) 및 Any(모두).이러한 지침은 무선 클라이언트가 아닌 WLC에 대한 위치에서 가져옵니다.
Inbound(인바운드) - 무선 클라이언트에서 제공된 IP 패킷이 ACL 라인과 일치하는지 확인하기 위해 검사를 받습니다.
Outbound(아웃바운드) - 무선 클라이언트로 향하는 IP 패킷이 ACL 라인과 일치하는지 검사됩니다.
Any(모두) - 무선 클라이언트에서 소싱되고 무선 클라이언트로 향하는 IP 패킷이 ACL 라인과 일치하는지 검사합니다.ACL 라인은 인바운드 및 아웃바운드 방향에 모두 적용됩니다.
참고: 방향에 대해 Any를 선택할 때 사용해야 하는 유일한 주소와 마스크는 0.0.0.0/0.0.0.0(Any)입니다. 반환 트래픽을 허용하기 위해 교체된 주소 또는 서브넷에 새 행이 필요하므로 "Any" 방향의 특정 호스트 또는 서브넷을 지정하면 안 됩니다.
Any 방향은 양방향으로 특정 IP 프로토콜 또는 포트를 차단하거나 허용하려는 특정 상황에서, 무선 클라이언트(아웃바운드)로, 무선 클라이언트(인바운드)에서 오는 상황에서만 사용해야 합니다.
IP 주소 또는 서브넷을 지정할 때 방향을 Inbound(인바운드) 또는 Outbound(아웃바운드)로 지정하고 반대 방향으로 트래픽을 반환할 두 번째 새 ACL 라인을 생성해야 합니다.ACL이 인터페이스에 적용되어 반환 트래픽이 다시 통과하도록 특별히 허용하지 않는 경우 반환 트래픽은 ACL 목록 끝에 있는 암시적 "deny any any"에 의해 거부됩니다.
Source IP Address and Mask(소스 IP 주소 및 마스크) - 단일 호스트에서 다중 서브넷으로 소스 IP 주소를 정의하며, 이는 마스크에 따라 달라집니다.IP 주소를 패킷의 IP 주소와 비교할 때 IP 주소의 비트를 무시할지 결정하기 위해 마스크가 IP 주소와 함께 사용됩니다.
참고: WLC ACL의 마스크는 Cisco IOS® ACL에 사용되는 와일드카드 또는 역마스크 같은 것이 아닙니다.컨트롤러 ACL에서 255는 IP 주소의 8진수 일치를 의미하며, 0은 와일드카드입니다.주소와 마스크는 비트 단위로 조합됩니다.
마스크 비트 1은 해당 비트 값을 확인하는 것을 의미합니다.마스크의 255의 사양은 검사되는 패킷의 IP 주소의 8진수가 ACL 주소의 해당 8진수와 정확히 일치해야 함을 나타냅니다.
마스크 비트 0은 해당 비트 값을 확인(무시)하지 않음을 의미합니다.마스크의 0 사양은 검사되는 패킷의 IP 주소의 8진수가 무시됨을 나타냅니다.
0.0.0.0/0.0.0.0은 "Any" IP 주소(0.0.0.0은 주소로, 0.0.0.0은 마스크로)와 같습니다.
Destination IP Address and Mask(대상 IP 주소 및 마스크) - 소스 IP 주소 및 마스크와 동일한 마스크 규칙을 따릅니다.
Protocol - IP 패킷 헤더의 프로토콜 필드를 지정합니다.일부 프로토콜 번호는 고객의 편의를 위해 번역되며 풀다운 메뉴에 정의되어 있습니다.다른 값은 다음과 같습니다.
모두(모든 프로토콜 번호가 일치함)
TCP(IP 프로토콜 6)
UDP(IP 프로토콜 17)
ICMP(IP 프로토콜 1)
ESP(IP 프로토콜 50)
AH(IP 프로토콜 51)
GRE(IP 프로토콜 47)
IP(IP 프로토콜 4 IP-in-IP [CSCsh22975])
Eth Over IP(IP 프로토콜 97)
OSPF(IP 프로토콜 89)
기타(지정)
Any 값은 패킷의 IP 헤더에 있는 모든 프로토콜과 일치합니다.이는 특정 서브넷과의 IP 패킷을 완전히 차단하거나 허용하는 데 사용됩니다.IP-in-IP 패킷과 일치시키려면 IP를 선택합니다.일반적인 선택 사항은 특정 소스 및 목적지 포트를 설정하는 데 제공되는 UDP 및 TCP입니다.Other(기타)를 선택하면 IANA에 의해 정의된 IP 패킷 프로토콜 번호 중 하나를 지정할 수 있습니다 .
Src Port(소스 포트) - TCP 및 UDP 프로토콜에 대해서만 지정할 수 있습니다.0-65535는 모든 포트와 같습니다.
Dest Port(대상 포트) - TCP 및 UDP 프로토콜에 대해서만 지정할 수 있습니다.0-65535는 모든 포트와 같습니다.
DSCP(Differentiated Services Code Point) - IP 패킷 헤더에서 일치시킬 특정 DSCP 값을 지정할 수 있습니다.풀다운 메뉴의 선택 사항은 특정 또는 Any입니다.특정 항목을 구성하는 경우 DSCP 필드에 값을 지정합니다.예를 들어 0~63의 값을 사용할 수 있습니다.
Action(작업) - 2개의 작업이 거부 또는 허용됩니다.Deny는 지정된 패킷을 차단합니다.Permit은 패킷을 전달합니다.
다음은 WLC 기반 ACL의 제한 사항입니다.
어떤 ACL 회선이 패킷과 일치하는지 확인할 수 없습니다(Cisco 버그 ID CSCse36574 참조(등록된 고객만 해당).
특정 ACL 라인과 일치하는 패킷은 로깅할 수 없습니다(Cisco 버그 ID CSCse36574 참조(등록된 고객만 해당).
IP 패킷(이더넷 프로토콜 필드가 IP[0x0800]인 모든 패킷)은 ACL에서 검사하는 유일한 패킷입니다.다른 유형의 이더넷 패킷은 ACL에서 차단할 수 없습니다.예를 들어 ARP 패킷(이더넷 프로토콜 0x0806)은 ACL에서 차단하거나 허용할 수 없습니다.
컨트롤러는 최대 64개의 ACL을 구성할 수 있습니다.각 ACL은 최대 64개의 회선을 가질 수 있습니다.
ACL은 액세스 포인트(AP) 및 무선 클라이언트(Cisco 버그 ID CSCse65613 참조(등록된 고객만 해당)에서 또는 액세스 포인트(AP)로 전달되는 멀티캐스트 및 브로드캐스트 트래픽에 영향을 미치지 않습니다.
WLC 버전 4.0 이전에는 관리 인터페이스에서 ACL을 우회하므로 관리 인터페이스로 향하는 트래픽에 영향을 줄 수 없습니다.WLC 버전 4.0 이후에는 CPU ACL을 생성할 수 있습니다.이 ACL 유형을 구성하는 방법에 대한 자세한 내용은 CPU ACL 구성을 참조하십시오.
참고: 관리 및 AP-Manager 인터페이스에 적용되는 ACL은 무시됩니다.WLC의 ACL은 유선 네트워크와 WLC가 아닌 무선 네트워크와 유선 네트워크 간의 트래픽을 차단하도록 설계되었습니다.따라서 특정 서브넷의 AP가 WLC와 완전히 통신하지 못하도록 하려면 간헐적인 스위치나 라우터에 액세스 목록을 적용해야 합니다.이렇게 하면 해당 AP(VLAN)에서 WLC로의 LWAPP 트래픽이 차단됩니다.
ACL은 프로세서에 따라 달라지며 과부하 시 컨트롤러의 성능에 영향을 줄 수 있습니다.
ACL은 가상 IP 주소(1.1.1.1)에 대한 액세스를 차단할 수 없습니다. 따라서 무선 클라이언트에 대해 DHCP를 차단할 수 없습니다.
ACL은 WLC의 서비스 포트에 영향을 주지 않습니다.
다음은 WLC 기반 ACL에 대한 규칙입니다.
ACL은 IP 패킷으로만 제한되므로 ACL 라인의 IP 헤더(UDP, TCP, ICMP 등)에서만 프로토콜 번호를 지정할 수 있습니다.IP를 선택한 경우 IP-in-IP 패킷을 허용하거나 거부하려는 것임을 나타냅니다.Any(모두)를 선택한 경우 이는 IP 프로토콜로 패킷을 허용하거나 거부하려는 것임을 나타냅니다.
방향에 대해 Any를 선택하는 경우 소스 및 대상은 Any(0.0.0.0/0.0.0.0)여야 합니다.
소스 또는 대상 IP 주소가 Any가 아니면 필터의 방향을 지정해야 합니다.또한 반환 트래픽을 위해 반대 방향의 역문(소스 IP 주소/포트 및 대상 IP 주소/포트 스왑)을 생성해야 합니다.
ACL의 끝에 암시적 "deny any any"가 있습니다.패킷이 ACL의 어떤 줄과도 일치하지 않으면 컨트롤러에서 삭제합니다.
이 컨피그레이션 예에서는 클라이언트만 다음을 수행할 수 있습니다.
DHCP 주소 수신(ACL에 의해 DHCP를 차단할 수 없음)
Ping 및 ping 수행(모든 ICMP 메시지 유형 - ping로만 제한할 수 없음)
HTTP 연결 만들기(아웃바운드)
DNS(Domain Name System) 확인(아웃바운드)
이러한 보안 요구 사항을 구성하려면 ACL에 다음을 허용할 행이 있어야 합니다.
어느 방향이든 모든 ICMP 메시지(ping으로만 제한될 수 없음)
DNS 인바운드에 대한 모든 UDP 포트
DNS를 임의의 UDP 포트 아웃바운드(반환 트래픽)
HTTP 인바운드에 대한 모든 TCP 포트
임의의 TCP 포트 아웃바운드(반환 트래픽)에 대한 HTTP
다음은 show acl의 ACL 세부 정보 "MY ACL 1"에서 보이는 ACL(ACL 이름이 1단어 이상인 경우에만 필요) 명령 출력입니다.
Seq Direction Source IP/Mask Dest IP/Mask Protocol Src Port Dest Port DSCP Action --- --------- --------------- --------------- -------- -------- --------- ---- ------ 1 Any 0.0.0.0/0.0.0.0 0.0.0.0/0.0.0.0 1 0-65535 0-65535 Any Permit 2 In 0.0.0.0/0.0.0.0 0.0.0.0/0.0.0.0 17 0-65535 53-53 Any Permit 3 Out 0.0.0.0/0.0.0.0 0.0.0.0/0.0.0.0 17 53-53 0-65535 Any Permit
DNS 및 HTTP ACL 행에서 Any IP 주소 대신 무선 클라이언트가 있는 서브넷을 지정하면 ACL을 더 제한할 수 있습니다.
참고: 클라이언트가 처음에 0.0.0.0을 사용하여 IP 주소를 수신한 다음 서브넷 주소를 통해 IP 주소를 업데이트하므로 DHCP ACL 행을 서브넷으로 제한할 수 없습니다.
다음은 GUI에서 동일한 ACL의 모양입니다.
이 컨피그레이션 예에서는 7920 IP 전화에서만 다음을 수행할 수 있습니다.
DHCP 주소 수신(ACL에 의해 차단될 수 없음)
Ping 및 ping 수행(모든 ICMP 메시지 유형 - ping로만 제한할 수 없음)
DNS 확인 허용(인바운드)
CallManager에 대한 IP 전화 연결 및 그 반대(임의의 방향)
TFTP 서버에 대한 IP 전화 연결(CallManager는 UDP 포트 69에 대한 초기 TFTP 연결 후 동적 포트 사용)(아웃바운드)
7920 IP Phone에서 IP 폰 간 통신 허용(모든 방향)
IP Phone 웹 또는 Phone Directory(아웃바운드)를 허용하지 않습니다. 이는 ACL의 끝에 있는 암시적 "any any 거부" ACL 라인을 통해 수행됩니다.
이렇게 하면 IP 전화 간의 음성 통신뿐 아니라 IP 전화기와 CallManager 간의 정상적인 부팅 작업이 가능합니다.
이러한 보안 요구 사항을 구성하려면 ACL에 다음을 허용할 행이 있어야 합니다.
모든 ICMP 메시지(Ping로만 제한될 수 없음)(모든 방향)
DNS 서버에 대한 IP 전화(UDP 포트 53)(인바운드)
DNS 서버에서 IP 전화(UDP 포트 53)(아웃바운드)
CallManager TCP 포트 2000에 대한 IP Phone TCP 포트(기본 포트)(인바운드)
CallManager에서 IP 전화로의 TCP 포트 2000(아웃바운드)
IP 전화에서 TFTP 서버로의 UDP 포트.CallManager는 데이터 전송을 위한 초기 연결 요청 후 동적 포트를 사용하므로 이 포트를 표준 TFTP 포트(69)로 제한할 수 없습니다.
IP 전화 간 오디오 트래픽 RTP용 UDP 포트(UDP 포트16384-32767)(임의의 방향)
이 예에서 7920 IP 전화 서브넷은 10.2.2.0/24이고 CallManager 서브넷은 10.1.1.0/24입니다. DNS 서버는 172.21.58.8입니다. 다음은 show acl detail Voice 명령의 출력입니다.
Seq Direction Source IP/Mask Dest IP/Mask Protocol Src Port Dest Port DSCP Action --- --------- --------------- --------------- -------- -------- --------- ---- ------ 1 Any 0.0.0.0/0.0.0.0 0.0.0.0/0.0.0.0 1 0-65535 0-65535 Any Permit 2 In 10.2.2.0/255.255.255.0 172.21.58.8/255.255.255.255 17 0-65535 53-53 Any Permit 3 Out 172.21.58.8/255.255.255.255 10.2.2.0/255.255.255.0 17 53-53 0-65535 Any Permit 4 In 10.2.2.0/255.255.255.0 10.1.1.0/255.255.255.0 6 0-65535 2000-2000 Any Permit 5 Out 10.1.1.0/255.255.255.0 10.2.2.0/255.255.255.0 6 2000-2000 0-65535 Any Permit 6 In 10.2.2.0/255.255.255.0 10.1.1.0/255.255.255.0 17 0-65535 0-65535 Any Permit 7 Out 10.1.1.0/255.255.255.0 10.2.2.0/255.255.255.0 17 0-65535 0-65535 Any Permit 8 In 10.2.2.0/255.255.255.0 0.0.0.0/0.0.0.0 17 16384-32767 16384-32767 Any Permit 9 Out 0.0.0.0/0.0.0.0 10.2.2.0/255.255.255.0 17 16384-32767 16384-32767 Any Permit
GUI에서는 다음과 같이 표시됩니다.
다음은 7920 IP 전화기에서 Cisco CallManager(CCM) 및 기타 IP 전화와 통신하는 데 사용하는 포트의 요약 설명입니다.
Phone to CCM [TFTP](UDP 포트 69는 처음에는 데이터 전송을 위해 동적 포트 [Ephemeral]으로 변경) - 펌웨어 및 컨피그레이션 파일을 다운로드하는 데 사용되는 TFTP(Trivial File Transfer Protocol).
Phone to CCM [Web Services, Directory](TCP 포트 80) - XML 애플리케이션, 인증, 디렉토리, 서비스 등을 위한 전화 URL이러한 포트는 서비스별로 구성할 수 있습니다.
Phone to CCM [Voice Signaling] (TCP port 2000)—SCCP(Skinny Client Control Protocol). 이 포트는 구성 가능합니다.
Phone to CCM [Secure Voice Signaling](TCP 포트 2443) - SCCPS(Secure Skinny Client Control Protocol)
Phone to CAPF [Certificates] (TCP port 3804) - IP 전화에 LSC(Locally Significant Certificates)를 발급하기 위한 CAPF(Certificate Authority Proxy Function) 수신 포트입니다.
Voice Bearer to/from Phone [Phone Calls] (UDP 포트 16384 - 32768)—RTP(Real-Time Protocol), SRTP(Secure Real Time Protocol).
참고: CCM은 UDP 포트 24576-32768만 사용하지만 다른 디바이스는 전체 범위를 사용할 수 있습니다.
IP Phone to DNS Server [DNS](UDP 포트 53) - 시스템이 IP 주소 대신 이름을 사용하도록 구성된 경우 전화기는 DNS를 사용하여 TFTP 서버, CallManager 및 웹 서버 호스트 이름의 호스트 이름을 확인합니다.
IP Phone to DHCP server [DHCP] (UDP port 67 [client] & 68 [server]) - 고정으로 구성되지 않은 경우 전화기는 DHCP를 사용하여 IP 주소를 검색합니다.
5.0 CallManager가 통신하는 데 사용하는 포트는 Cisco Unified CallManager 5.0 TCP 및 UDP Port Usage에서 찾을 수 있습니다.또한 7920 IP 전화와 통신하는 데 사용하는 특정 포트도 있습니다.
4.1 CallManager가 통신하는 데 사용하는 포트는 Cisco Unified CallManager 4.1 TCP 및 UDP Port Usage에서 찾을 수 있습니다.또한 7920 IP 전화와 통신하는 데 사용하는 특정 포트도 있습니다.
개정 | 게시 날짜 | 의견 |
---|---|---|
1.0 |
05-Mar-2008 |
최초 릴리스 |