ACL
Access Control List · 접근 제어 목록
은 패킷이나 경로의 조건을 위에서 아래로 비교해 첫 일치 항목의 동작을 적용하는 목록이다. 인터페이스 필터· 분류· 등 적용 기능에 따라 permit과 deny의 최종 효과가 달라진다.
밑줄 용어에 마우스를 올리거나, 키보드로 선택하거나, 터치하면 설명을 볼 수 있습니다.
01무엇이고, 어떤 일을 하나
- 출발지·목적지·프로토콜·포트 등을 기준으로 허용할 트래픽 범위를 표현한다.
- 입구와 출구에서 필요한 정책을 적용해 네트워크 구간 사이 접근을 제어한다.
- 일치 카운터와 규칙 순서를 통해 실제 패킷이 어떤 조건으로 처리됐는지 설명한다.
02어떤 순서로 동작하나
- 적용 지점 도착
가상 을 G0/0 입력에 적용한다. 순서 10은 192.0.2.10에서 198.51.100.20의 443만 허용, 20은 나머지 198.51.100.20행 IP를 거부, 30은 나머지 IP를 허용하는 규칙이라고 하자.
- Sequence 10 비교
192.0.2.10이 198.51.100.20의 443으로 보내는 패킷이면 permit하고 검사를 끝낸다. 맞지 않으면 다음 항목으로 간다.
- Sequence 20 비교
앞에서 허용되지 않은 198.51.100.20행 패킷이면 deny하고 끝낸다. 도 이 IP 규칙에 해당한다.
- Sequence 30 비교
앞의 두 규칙에 해당하지 않는 를 permit한다. 실제 에서는 끝까지 일치하지 않은 패킷의 암시적 deny도 고려한다.
03먼저 알아둘 용어와 구성요소
- Entry다. 을 구성하는 개별 허용·거부 규칙이다.
- 0비트는 비교하고 1비트는 무시하는 주소 비교 마스크다.
- 명시된 허용·거부 규칙에 일치하지 않은 트래픽이 끝에서 거부되는 기본 동작이다.
- 입력·출력을 이 적용된 장비 인터페이스 기준으로 구별하는 값이다.
- 비교할 주소 비트와 무시할 비트를 나타내는 마스크다. Cisco IP 에서는 일반적으로 0은 비교, 1은 무시를 뜻한다.
- Cisco 에서 주로 출발지 주소를 기준으로 판단하는 전통적인 유형이다.
- 프로토콜·출발지·목적지·포트 등 더 많은 조건을 검사하는 Cisco 유형이다.
- 인터페이스 기준으로 들어오는 방향과 나가는 방향이다. 호스트의 요청·응답 방향과 혼동하면 안 된다.
- 규칙에 일치한 패킷 수를 나타내는 관측 값이다. 서비스 전체 성공을 뜻하지는 않는다.
실습: deny 한 줄이 만든 전체 차단을 찾아 고치기
정의·인터페이스 방향·암묵적 deny를 실제 설정 화면과 연결한다.
실습 구성과 전제
- R1의 LAN 유입 FastEthernet0/0에 표준 1을 적용한 연습이다. 사진의 주소는 가상망 값이며 재구성은 192.0.2.0/24를 쓴다.
- 목표는 특정 호스트만 차단하고 다른 출발지는 허용하는 것이다. 관리 접속을 거치는 운영 인터페이스에 실습 정책을 적용하지 않는다.
규칙의 대상과 적용 방향 읽기
- 사진은 deny host 한 줄을 만들고 F0/0에 ip access-group 1 in을 적용한다. 표준 이 비교하는 값은 출발지 다.
- in은 관리자가 바라보는 안쪽이 아니라 해당 인터페이스로 들어오는 방향이다. 규칙을 만들기만 하고 적용하지 않은 상태와 구분한다.
textshow access-lists 1 show ip interface FastEthernet0/0실습 흐름을 재구성한 명령 예시. 장치·인터페이스 이름은 구성에 맞춰 사용한다.
원본 크기로 보기 ↗- 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인지 확인한다.
암묵적 deny와 첫 일치 계산
- 특정 호스트가 첫 deny에 맞으면 즉시 차단된다. 다른 호스트는 그 줄을 통과해도 뒤의 허용이 없으므로 끝의 암묵적 deny에 걸린다.
- 나머지 출발지를 허용할 의도라면 뒤에 permit any가 필요하다. 앞의 광범위 permit이 있으면 뒤 deny가 가려지는 반대 실수도 점검한다.
textip access-list standard LAB-SOURCE deny host 192.0.2.3 permit any exit interface FastEthernet0/0 ip access-group LAB-SOURCE in이름과 주소를 바꿔 의도를 명시한 별도 재구성 예시
확인 기준차단 대상과 허용 대상을 각각 한 개씩 시험한다.
정의·적용·결과를 교차 검증
- show access-lists는 항목 순서와 일치 카운터, show ip interface는 실제 적용 위치를 보여 준다. 원하는 인터페이스를 지나는 트래픽인지도 확인한다.
- 한 대상의 ping 실패만으로 이 원인이라고 단정하지 않는다. 카운터 변화와 허용 대상의 성공, 반환 경로를 함께 비교한다.
textshow 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상세 노트 · 실습 자료
헤더 구조, 설정 예시, 수치 계산과 수업 캡처는 아래 노트에서 이어집니다.
공식 문서 · 표준
기초 개념과 동작 설명을 대조한 자료입니다. 제품 버전과 실제 설정에 따른 차이는 본문 및 원문에서 확인하세요.