상세 컨텐츠

본문 제목

ACCESS LIST

네트워크/개념 정리

by 나야홍박사 2026. 5. 11. 17:23

본문

1. ACL의 개념 및 종류

ACL (Access Control List)은 패킷의 주소를 기반으로 네트워크 출입을 제어하는 보안 기능입니다. 관리 목적과 필터링 수준에 따라 크게 세 가지로 분류됩니다.

  • 표준 ACL (Standard ACL):
    • Source(출발지) 주소만을 기반으로 패킷을 필터링합니다.
    • 식별 번호로는 1~99, 1300~1999를 사용합니다.
  • 확장 ACL (Extended ACL):
    • Source 및 Destination(목적지) 주소뿐만 아니라, TCP/UDP 프로토콜 및 포트 번호까지 참조하여 더욱 정밀하게 패킷을 필터링합니다.
    • 식별 번호로는 100~199, 2000~2699를 사용합니다.
  • Named ACL:
    • 설정 시 숫자로 된 번호가 아닌, 사용자 설정 이름(문자열)을 이용하는 방식입니다.
    • 표준 및 확장 ACL 모두 동일하게 이름 기반으로 적용이 가능합니다.

2. ACL 트래픽 제어 및 동작 규칙

트래픽은 들어오는 패킷(Inbound)과 나가는 패킷(Outbound)으로 나뉩니다. 폐기할 패킷은 네트워크 자원 절약을 위해 Inbound에서 처리하는 것이 이상적이나, 이는 관리 주체가 동일한 경우에만 가능합니다. 또한 ACL은 라우터의 제한된 자원을 사용하므로 과도한 설정은 지양해야 합니다.

  • 기본 할당 규칙: 인터페이스 하나당 정책(Policy)은 단 1개만 허용됩니다.
  • Rule 적용 원칙:
    • Top-Down: 작성된 순서대로 위에서부터 아래로 규칙을 확인합니다.
    • First Matching: 규칙을 순차적으로 확인하다가 조건과 일치하는 리스트가 있으면 즉시 적용하고, 이후의 리스트는 더 이상 확인하지 않습니다.
    • 따라서 중첩되는 조건이 있을 경우, 반드시 정책 범위가 좁은(구체적인) 규칙을 먼저 설정해야 의도한 대로 동작합니다.
    • Default Deny: 모든 규칙의 맨 마지막에는 보이지 않는 '모두 차단(deny)'이 기본으로 적용되어 있습니다. 그러므로 ACL 설정 시 반드시 명시적으로 허용(permit) 규칙을 지정해야 통신이 가능합니다.
  • 라우터 내부 적용 순서: 패킷은 Inbound ACL $\rightarrow$ Routing table $\rightarrow$ Outbound ACL 순서로 처리됩니다.

3. 상황별 ACL 설정 문법

표준 ACL (Standard ACL)

  • 기본 설정: access-list [번호] [permit | deny | remark] src_add wildcard_mask 형태로 입력합니다.
  • 와일드카드 마스크: 단일 지정 호스트는 0.0.0.0, 모든 네트워크(any)는 255.255.255.255로 표기합니다.
  • 인터페이스 적용: ip access-group [번호] [in | out] 명령어로 특정 인터페이스에 적용합니다.
  • 삭제 시 주의점: 번호 기반 ACL에서 특정 허용/차단 항목 일부만 삭제하려 시도할 경우, 해당 번호의 전체 ACL 목록이 일괄 삭제되므로 매우 주의해야 합니다.

확장 ACL (Extended ACL)

  • 기본 설정: access-list [번호] [permit | deny | remark] protocol src_add dst_add [sub_protocol] 형태로 세밀하게 지정합니다.
  • 프로토콜 지정: tcp, udp, ip, icmp, ospf, eigrp 등 다양한 프로토콜 제어가 가능합니다.
  • 포트 제어: 명령어 끝에 eq 80 (웹/www), eq 53 (도메인/DNS)과 같이 특정 포트 번호를 지정하여 서비스 단위의 필터링이 가능합니다.

Named ACL

  • 기본 설정: ip access-list standard [이름] 또는 ip access-list extended [이름]을 입력하여 하위 설정 프롬프트로 진입한 후 상세 규칙을 정의합니다.
  • 인터페이스 적용: ip access-group [이름] [in | out] 형태로 인터페이스에 바인딩합니다.

4. 실무 팁: ACL 주석 (Remark) 활용

설정된 ACL의 개수가 많아질 경우, 각 리스트의 용도를 파악하고 향후 유지보수를 원활히 하기 위해 주석을 남기는 것이 좋습니다.

  • 설정 방법: access-list [번호] remark [주석내용] 형태로 지정합니다. (단, 라우터 환경상 한글 지원이 원활하지 않을 수 있습니다.)
  • 확인 방법: 작성된 주석 내역은 show ip access-lists 명령어로는 보이지 않습니다. 반드시 show running-config 또는 startup-config를 출력해야 확인할 수 있습니다.

관련글 더보기