
2026년8월23일
오늘은 ACL(Access Control List) 를 적용해서 네트워크 장비에서 특정 트래픽을 허용하거나 차단하는 방법을 실습 해보려고 한다.
ACL은 크게 Standard ACL과 Extended ACL로 나눌 수 있다.
IP는 다음과 같이 구성했다.
PC0 : 192.168.10.10/24
PC1 : 192.168.10.20/24
R0
f0/0 : 192.168.10.1/24
f0/1 : 10.0.0.1/30
R1
f0/0 : 10.0.0.2/30
f0/1 : 192.168.20.1/24
Server : 192.168.20.10/24
# en
Router# conf t
Router(config)# int f0/0
Router(config-if)# ip add 192.168.10.1 255.255.255.0
Router(config-if)# n sh
Router(config)# int f0/1
Router(config-if)# ip add 10.0.0.1 255.255.255.252
Router(config-if)# n sh
# en
Router# conf t
Router(config)# int f0/0
Router(config-if)# ip add 10.0.0.2 255.255.255.252
Router(config-if)# n sh
Router(config)# int f0/1
Router(config-if)# ip add 192.168.20.1 255.255.255.0
Router(config-if)# n sh
두 라우터가 서로의 네트워크를 알고 있어야 한다.
이번 실습에서는 정적 라우팅을 사용한다.
Router(config)# ip route 192.168.20.0 255.255.255.0 10.0.0.2
Router(config)# ip route 192.168.10.0 255.255.255.0 10.0.0.1
이제 PC에서 Server로 Ping을 실행한다.
ACL을 적용하기 전에는 정상적으로 통신이 되어야 한다.
이번에는 Standard ACL 을 사용하여 PC0 통신을 차단 했다.
Router# conf t
Router(config)# access-list 10 deny host 192.168.10.10 //여기서 10은 ACL넘버 deny는 차단 host는 특정 주소만 을 의미
Router(config)# access-list 10 permit any
여기서 permit any를 추가한 이유는 ACL의 implicit deny 때문이다.
ACL에는 명시적으로 작성하지 않아도 마지막에 암묵적인 deny가 존재한다.
R1의 f0/1 인터페이스에 ACL을 적용한다.
Router(config)# int f0/1
Router(config-if)# ip access-group 10 out
여기서 10은 ACL 번호 이다.
ip access-group 10 out 는 ACL 10번을 해당 인터페이스의 Outbound 방향에 적용한다는 의미이다.
ping 192.168.20.10
PC0의 IP가 ACL에 의해 차단되었기 때문에 ping이 실패한다.
R1의 f0/1에 설정된 ACL 설정 때문에 목적지 호스트를 찾지 못해 Destination host unreachable 이라는 오류가 발생하는 것이다.
반면 PC1은 192.168.10.20 이므로 ACL의 첫번째 조건인 192.168.10.10 주소인가?
에 해당하지 않는다. 따라서 통신이 허용 되는 것이다.
Standard ACL보다 세밀한 제어가 요구되는 경우 Extended ACL을 사용한다.
예를들어 특정 PC가 Server의 HTTP 서비스에 접근하지 못하도록 만들 수 있다.
Router(config)# access-list 100 deny tcp host 192.168.10.10 host 192.168.20.10 eq 80
Router(config)# access-list 100 permit ip any any
위 설정은 다음과 같은 의미이다.
출발지 : 192.168.10.10
목적지 : 192.168.20.10
프로토콜 : TCP
포트 : 80 (HTTP) 를 차단한다.
그 외의 ip는 permit ip any any
에 의해 허용된다.
현재 설정된 ACL은 다음 명렁오로 확인할 수 있습니다.
Router# show access-lists
Router(config-if)# no access-list [ACL번호]
인터페이스에 적용된 ACL도 제거하려면
Router(config)# interface f0/1
Router(config-if)# no ip access-group [ACL] out