
ACL(Access Control List)로 특정 IP 차단
"ACL(Access Control List)"은 네트워크 장비에서 특정 IP, 프로토콜, 포트를 허용하거나 차단하는 규칙 목록이다. 방화벽이 없는 환경에서도 라우터나 L3 스위치의 ACL만으로 상당한 수준의 접근 제어가 가능하다. 정확히 설정하면 강력하고, 잘못 설정하면 정상 트래픽까지 막아버리는 게 ACL이다.
📌목차
- ACL이 필요한 상황
- 표준 ACL vs 확장 ACL
- ACL 동작 원리: 순서와 암묵적 Deny
- 표준 ACL 설정 예시
- 확장 ACL 설정 예시
- ACL 적용 방향: Inbound vs Outbound
- Named ACL 사용법
- ACL 설정 후 검증 방법
- 자주 하는 실수와 주의사항
🛡️ ACL이 필요한 상황
특정 IP에서 오는 트래픽을 막고 싶을 때, 특정 서비스 포트만 허용하고 나머지는 막고 싶을 때, VLAN 간 접근을 제어하고 싶을 때, 관리 포트(SSH, Telnet)에 허용된 IP만 접속하게 하고 싶을 때 "ACL"이 필요하다.
예를 들어 회계 서버(192.168.30.10)에는 회계팀 VLAN(192.168.10.0/24)만 접근 가능하고, 다른 부서 VLAN은 접근 불가로 설정하는 경우가 전형적인 "ACL" 활용 사례다. 방화벽처럼 세밀하지는 않지만 기본적인 네트워크 계층 접근 제어가 가능하다.
📋 표준 ACL vs 확장 ACL
표준 ACL(Standard ACL, 번호 1-99): 출발지 IP 주소만 기준으로 허용/차단. 단순하지만 목적지나 포트 기준 제어는 불가능. 목적지에 최대한 가까운 곳에 적용하는 게 원칙이다.
확장 ACL(Extended ACL, 번호 100-199): 출발지 IP, 목적지 IP, 프로토콜(TCP/UDP/ICMP 등), 포트 번호까지 조합해서 제어 가능. 훨씬 정밀하다. 출발지에 최대한 가깝게 적용해 불필요한 트래픽이 네트워크를 타지 않도록 하는 게 원칙이다.
실무에서는 거의 대부분 확장 "ACL"을 사용한다. 표준 ACL은 기능이 너무 제한적이어서 쓸 수 있는 상황이 적다.
⚡ ACL 동작 원리: 순서와 암묵적 Deny
"ACL"은 순서가 매우 중요하다. 패킷이 들어오면 ACL 규칙을 위에서부터 순서대로 비교한다. 첫 번째로 매칭되는 규칙이 적용된다. 이후 규칙은 검사하지 않는다.
ACL 목록 맨 끝에는 항상 암묵적 Deny All이 있다. 명시적으로 허용하지 않은 모든 트래픽은 차단된다. 이 때문에 "ACL" 설정 시 허용해야 할 트래픽을 모두 명시적으로 추가해야 한다. 안 그러면 정상 트래픽까지 막힌다. 초보자가 가장 많이 실수하는 부분이다.
🔧 표준 ACL 설정 예시
192.168.10.0/24 대역은 허용, 나머지 차단하는 표준 ACL: ip access-list standard 10 permit 192.168.10.0 0.0.0.255 deny any (deny any는 생략해도 암묵적으로 적용되지만, 명시적으로 쓰는 게 가독성에 좋다)
특정 IP(192.168.1.100)만 차단: access-list 10 deny host 192.168.1.100 access-list 10 permit any
Wildcard Mask: "ACL"에서는 서브넷 마스크를 반전한 Wildcard Mask를 쓴다. /24 서브넷(255.255.255.0)의 Wildcard는 0.0.0.255다. 주의해서 입력해야 한다.
🎯 확장 ACL 설정 예시
192.168.10.0/24에서 서버 192.168.30.10의 TCP 80(HTTP) 포트만 허용, 나머지 차단: ip access-list extended DEPT_ACL permit tcp 192.168.10.0 0.0.0.255 host 192.168.30.10 eq 80 deny ip any host 192.168.30.10 permit ip any any
특정 IP(192.168.1.99)에서 오는 모든 트래픽 차단: access-list 100 deny ip host 192.168.1.99 any access-list 100 permit ip any any
SSH(TCP 22)는 관리 PC(10.0.0.5)에서만 허용: access-list 100 permit tcp host 10.0.0.5 any eq 22 access-list 100 deny tcp any any eq 22 access-list 100 permit ip any any
🔄 ACL 적용 방향: Inbound vs Outbound
"ACL"은 인터페이스에 Inbound 또는 Outbound 방향으로 적용한다. Inbound는 인터페이스로 들어오는 트래픽에 적용. Outbound는 나가는 트래픽에 적용.
적용 명령: interface GigabitEthernet0/0 ip access-group DEPT_ACL in
방향 선택 원칙: 확장 ACL은 출발지에 가까운 인터페이스에 Inbound로 적용하면 불필요한 트래픽이 라우터 내부를 통과하지 않아 효율적이다. 표준 ACL은 목적지에 가까운 인터페이스에 Outbound로 적용한다.
📝 Named ACL 사용법
번호 "ACL" 대신 이름을 붙이면 관리가 훨씬 편하다. 특히 나중에 규칙을 추가하거나 삭제할 때 번호 ACL은 전체를 지우고 다시 써야 하지만, Named ACL은 개별 규칙 삭제가 가능하다.
ip access-list extended BLOCK_ATTACKER 10 deny ip host 192.168.1.99 any 20 permit ip any any
특정 규칙만 삭제: ip access-list extended BLOCK_ATTACKER / no 10 규칙 사이에 삽입: 번호를 15로 지정해 10과 20 사이에 삽입 가능.
✅ ACL 설정 후 검증 방법
show access-lists: 전체 "ACL" 목록과 각 규칙의 매치 카운터 확인. 카운터가 올라가면 해당 규칙이 실제로 동작 중이라는 의미다. show ip interface GigabitEthernet0/0: 인터페이스에 어떤 ACL이 어느 방향으로 적용됐는지 확인. debug ip packet: ACL 동작을 실시간으로 디버깅. 단, 운영 중 장비에서는 CPU에 부하를 줄 수 있어 주의 필요.
설정 후 허용해야 할 IP에서 ping이나 telnet 테스트로 정상 통과 여부 확인, 차단해야 할 IP에서 접근 차단 여부 확인을 반드시 하자.
⚠️ 자주 하는 실수와 주의사항
실수 1: Deny All 뒤에 Permit을 추가하는 경우. 순서상 Deny All이 먼저 매칭되어 이후 Permit이 적용되지 않는다. 항상 Permit 먼저, Deny 나중 순서로 작성해야 한다.
실수 2: 관리 트래픽(SSH 등)을 ACL에서 허용하지 않아 자기 자신이 장비에 접속 불가 상태가 되는 경우. "ACL" 적용 전 반드시 콘솔 접속 등 대안 경로를 확보해야 한다.
실수 3: Wildcard 마스크를 서브넷 마스크로 오입력하는 경우. /24는 0.0.0.255인데 255.255.255.0을 입력하면 완전히 다른 범위가 된다.
실수 4: ACL이 적용된 인터페이스 방향을 잘못 설정해 원하는 트래픽 방향에 적용이 안 되는 경우.
출처 및 참고자료
- Cisco - Configuring IP Access Lists: https://www.cisco.com/c/en/us/support/docs/security/ios-firewall/23602-confaccesslists.html
- IETF RFC 2460 - Internet Protocol Version 6
- CompTIA Security+ Study Guide
- Cisco CCNA Security Official Cert Guide
'IT적응기' 카테고리의 다른 글
| VPC(Virtual Private Cloud) 완전 정복 – 클라우드 안에 내 전용 네트워크 만드는 법 3단계 (0) | 2026.04.16 |
|---|---|
| 트래픽 병목 현상 탈출: LACP(Link Aggregation)로 대역폭을 4배 확장하는 방법 (0) | 2026.04.15 |
| 패킷 캡처 실습: 와이어샤크(Wireshark)로 L2/L3 헤더 뜯어보는 완전 입문 가이드 (0) | 2026.04.15 |
| ARP 테이블 분석 실전: IP와 MAC 주소 매칭 오류를 해결하는 6가지 방법 (0) | 2026.04.14 |
| 네트워크 장애 1순위 원인: 케이블 불량과 포트 설정 오류를 찾아내는 7단계 점검법 (0) | 2026.04.14 |