개념 사전 · 개념

ACL

Access Control List · 접근 제어 목록

은 패킷이나 경로의 조건을 위에서 아래로 비교해 첫 일치 항목의 동작을 적용하는 목록이다. 인터페이스 필터· 분류· 등 적용 기능에 따라 permit과 deny의 최종 효과가 달라진다.

밑줄 용어에 마우스를 올리거나, 키보드로 선택하거나, 터치하면 설명을 볼 수 있습니다.

01무엇이고, 어떤 일을 하나

  • 출발지·목적지·프로토콜·포트 등을 기준으로 허용할 트래픽 범위를 표현한다.
  • 입구와 출구에서 필요한 정책을 적용해 네트워크 구간 사이 접근을 제어한다.
  • 일치 카운터와 규칙 순서를 통해 실제 패킷이 어떤 조건으로 처리됐는지 설명한다.

02어떤 순서로 동작하나

  1. 적용 지점 도착

    가상 을 G0/0 입력에 적용한다. 순서 10은 192.0.2.10에서 198.51.100.20의 443만 허용, 20은 나머지 198.51.100.20행 IP를 거부, 30은 나머지 IP를 허용하는 규칙이라고 하자.

  2. Sequence 10 비교

    192.0.2.10이 198.51.100.20의 443으로 보내는 패킷이면 permit하고 검사를 끝낸다. 맞지 않으면 다음 항목으로 간다.

  3. Sequence 20 비교

    앞에서 허용되지 않은 198.51.100.20행 패킷이면 deny하고 끝낸다. 도 이 IP 규칙에 해당한다.

  4. Sequence 30 비교

    앞의 두 규칙에 해당하지 않는 를 permit한다. 실제 에서는 끝까지 일치하지 않은 패킷의 암시적 deny도 고려한다.

03먼저 알아둘 용어와 구성요소

Entry다. 을 구성하는 개별 허용·거부 규칙이다.
0비트는 비교하고 1비트는 무시하는 주소 비교 마스크다.
명시된 허용·거부 규칙에 일치하지 않은 트래픽이 끝에서 거부되는 기본 동작이다.
입력·출력을 이 적용된 장비 인터페이스 기준으로 구별하는 값이다.
비교할 주소 비트와 무시할 비트를 나타내는 마스크다. Cisco IP 에서는 일반적으로 0은 비교, 1은 무시를 뜻한다.
Cisco 에서 주로 출발지 주소를 기준으로 판단하는 전통적인 유형이다.
프로토콜·출발지·목적지·포트 등 더 많은 조건을 검사하는 Cisco 유형이다.
인터페이스 기준으로 들어오는 방향과 나가는 방향이다. 호스트의 요청·응답 방향과 혼동하면 안 된다.
규칙에 일치한 패킷 수를 나타내는 관측 값이다. 서비스 전체 성공을 뜻하지는 않는다.
LEARN THROUGH PRACTICE

실습: deny 한 줄이 만든 전체 차단을 찾아 고치기

정의·인터페이스 방향·암묵적 deny를 실제 설정 화면과 연결한다.

실습 구성과 전제

  • R1의 LAN 유입 FastEthernet0/0에 표준 1을 적용한 연습이다. 사진의 주소는 가상망 값이며 재구성은 192.0.2.0/24를 쓴다.
  • 목표는 특정 호스트만 차단하고 다른 출발지는 허용하는 것이다. 관리 접속을 거치는 운영 인터페이스에 실습 정책을 적용하지 않는다.
  1. 규칙의 대상과 적용 방향 읽기

    • 사진은 deny host 한 줄을 만들고 F0/0에 ip access-group 1 in을 적용한다. 표준 이 비교하는 값은 출발지 다.
    • in은 관리자가 바라보는 안쪽이 아니라 해당 인터페이스로 들어오는 방향이다. 규칙을 만들기만 하고 적용하지 않은 상태와 구분한다.
    text
    show access-lists 1
    show ip interface FastEthernet0/0

    실습 흐름을 재구성한 명령 예시. 장치·인터페이스 이름은 구성에 맞춰 사용한다.

    ACL · 명령·상태 출력 6원본 크기로 보기 ↗
    • ACL 1에 deny host 한 행이 보인다.
    • F0/0 조회에 Inbound access list is 1, Outgoing access list is not set이 보인다.
    확인 기준

    show ip interface에서 Inbound access list is 1인지 확인한다.

  2. 암묵적 deny와 첫 일치 계산

    • 특정 호스트가 첫 deny에 맞으면 즉시 차단된다. 다른 호스트는 그 줄을 통과해도 뒤의 허용이 없으므로 끝의 암묵적 deny에 걸린다.
    • 나머지 출발지를 허용할 의도라면 뒤에 permit any가 필요하다. 앞의 광범위 permit이 있으면 뒤 deny가 가려지는 반대 실수도 점검한다.
    text
    ip access-list standard LAB-SOURCE
     deny host 192.0.2.3
     permit any
    exit
    interface FastEthernet0/0
     ip access-group LAB-SOURCE in

    이름과 주소를 바꿔 의도를 명시한 별도 재구성 예시

    확인 기준

    차단 대상과 허용 대상을 각각 한 개씩 시험한다.

  3. 정의·적용·결과를 교차 검증

    • show access-lists는 항목 순서와 일치 카운터, show ip interface는 실제 적용 위치를 보여 준다. 원하는 인터페이스를 지나는 트래픽인지도 확인한다.
    • 한 대상의 ping 실패만으로 이 원인이라고 단정하지 않는다. 카운터 변화와 허용 대상의 성공, 반환 경로를 함께 비교한다.
    text
    show access-lists LAB-SOURCE
    show ip interface FastEthernet0/0
    show ip route

    시험 트래픽 전후 동일 조회를 비교한다.

    확인 기준

    필터 의 deny와 대상 선택 의 deny를 혼동하지 않는다.

실습에서 확인한 동작 원리

  • 은 첫 일치와 마지막 암묵적 deny를 함께 계산한다.
  • 정의·참조 기능·인터페이스 방향을 묶어야 실제 효과를 설명할 수 있다.
관련 개념·전체 실습 화면 이어서 읽기 →
동작·명령 참고 문서

04예제로 따라가기

  • 문서용 대역 192.0.2.0에서 0.0.0.5를 사용한다. 마지막 바이트 5는 00000101₂이므로 비트 2와 0만 자유롭고 나머지 비트는 기준 0과 같아야 한다. 마지막 바이트는 0,1,4,5만 일치한다. 따라서 192.0.2.4는 일치하지만 192.0.2.2는 비교해야 하는 비트 1이 달라 일치하지 않는다.
  • sequence 10이 192.0.2.0/24의 모든 를 permit하고 sequence 20이 그중 192.0.2.4의 443을 deny한다면, 해당 패킷은 10에서 종료되어 20에 도달하지 않는다. 의도한 예외 deny를 넓은 permit보다 먼저 평가하도록 배치하면 192.0.2.4의 443만 차단하고 다른 는 허용할 수 있다. 새 항목의 sequence 위치가 정책 의미의 일부다.
  • 20의 =0은 대상 트래픽이 없어서일 수도, 앞의 10에 가려져서일 수도 있다. 실제 시험 패킷의 주소·포트를 고정한 후 첫 일치 항목을 계산해야 원인을 구분할 수 있다.

05혼동하기 쉬운 점과 확인 기준

  • 클라이언트 51000→서버 443 요청의 응답은 서버 443→클라이언트 51000이다. 반대 방향 에도 목적지 443만 허용하면 정상 응답을 놓칠 수 있다.
  • 전통적 의 established는 ACK 또는 RST 비트를 검사하는 조건이다. 실제 SYN 교환을 추적한 연결표가 아니므로 해당 비트가 있다는 이유만으로 정상 세션을 인증하지 않는다.
  • 의 뒤쪽 단편에는 · 헤더가 없을 수 있다. 포트 조건과 fragments 조건이 결합될 때의 처리 규칙은 사용 플랫폼의 문서로 확인해야 한다.

06상세 노트 · 실습 자료

헤더 구조, 설정 예시, 수치 계산과 수업 캡처는 아래 노트에서 이어집니다.

공식 문서 · 표준

기초 개념과 동작 설명을 대조한 자료입니다. 제품 버전과 실제 설정에 따른 차이는 본문 및 원문에서 확인하세요.