네트워크/라우터

라우터) ACL(Access Control List) - Extended ACL

마리사라 2022. 12. 16. 15:11
반응형

이번 강의는 ACL에서 Extended ACL에 대해서 알아보겠습니다.

네트워크는 위와 같이 구성해 줍니다.


1. Standard ACL

[Case 1]

위와 같은 상황에서 Router의 F1/0에 Standard ACL을 적용해서 PC0의 Ping만 Server로 갈 수 없게 막는다고 하겠습니다. 만약 그렇다면 Router에서는 Standard ACL을 어떻게 설정해야 할까요?

 

정답은 불가능하다.입니다. Standard ACL은 해당 IP에서 출발한 모든 패킷을 필터링하기 때문에 어떤 패킷은 허용하고 어떤 패킷은 막을 수는 없습니다. 단지 해당 IP는 허용하거나 IP는 차단하는 두 가지 수밖에 없습니다.

 

[Case 2]

두 번째 상황입니다. 만약 Router의 F1/0의 In 패킷 중에서 1.1.1.1로 가는 패킷만 차단한다고 가정하겠습니다. 이것을 Standard ACL로 하려면 어떻게 해야 할까요?

 

정답은 역시 불가능하다.입니다. Standard ACL은 출발지의 패킷만 차단할 수 있으며 ACL의 특성상 해당 Interface를 경유하지 않는 패킷은 필터링이 불가능하기 때문입니다. 이러한 Standard ACL의 단점을 보완한 것이 Extended ACL입니다. 


2. Extended ACL

[특징]

Extended ACL은 다음과 같은 특징을 가지고 있습니다.

  • 100 ~ 199의 번호를 갖는다
  • 출발지 주소, 도착지 주소, 포트 번호, 프로토콜을 모두 참고할 수 있다

따라서 Access list를 만들 때 100 ~ 199까지의 번호를 입력하면 자동으로 Extended ACL로 만들어지며 명령어 순서는 다음과 같습니다.

access-list [100-199] [Protocol] [Source IP] [Wildcard Mask] [Destination IP] [Wildcard Mask] [Port Option] [Port Number] 

여기서 Port 번호는 생략이 가능하기도 합니다.

 

[실습]

이번 실습에서는 PC0에서 Server로 Ping이 가는 것을 막는 것PC1에서 Server로 HTTP통신이 가는 것 막는 것을 해보겠습니다.

 

우선 Standard ACL처럼 번호를 정해야 합니다. 이번에는 임의로 100번을 넣도록 하겠습니다. 번호가 정해졌다면 입력할 명령어를 생각해야 합니다.

 

우선 PC0에서 Server로 Ping이 가는 것을 막는 것부터 생각해 보겠습니다. Ping은 ICMP라는 프로토콜을 사용합니다. 여기서 Ping이 갈 때는 Echo Request를, Ping이 돌아올 때는 Echo Reply를 사용하며 포트는 사용하지 않습니다. 이를 바탕으로 명령을 만들면 다음과 같습니다.

access-list 100 deny icmp host 1.1.1.1 host 2.1.1.1

 

이제 PC1에서의 HTTP통신을 막아보겠습니다. HTTP통신은 TCP 프로토콜을 사용하며 포트는 80번 포트를 사용합니다. 이를 바탕으로 명령을 만들면 다음과 같습니다.

access-list 100 deny tcp host 3.1.1.1 host 2.1.1.1 eq 80

이때 eq는 Port Optipon에서 다음에 나오는 Port와 일치하는지 확인하겠다는 뜻입니다. 다른 옵션으로는

  • gt (greater than) = 보다 큰
  • lt (less than) = 보다 작은
  • neq (not equal) = 같지 않은

이 있습니다. 이때 HTTP통신의 포트는 80번이므로 80번 포트로 가는 패킷(HTTP)은 거부하겠다는 명령이 되는 것입니다.

 

또한 Extended ACL도 Standard ACL과 마찬가지로 명시하지 않는 내용은 모두 거부가 기본이므로 나머지는 모두 permit 해줍니다.

access-list 100 permit ip any any

이때 IP를 사용하는 이유는 모든 통신을 포함하는 프로토콜(IP = Internet Protocol)이기 때문입니다.

 

이제 이것을 F1/0의 out에 적용하면 됩니다.

Router(config-if)#ip acc

Router(config-if)#ip access-group 100 out

 

이제 잘 되었는지 확인해 보겠습니다.

 

[Ping]

 

[HTTP]

 

잘 적용된 것을 볼 수 있습니다.


3. 마치며

이번 강의에서는 Extended ACL에 대해서 알아보았습니다. Extended Named ACL은 Standard Named ACL과 크게 다르지 않으므로 다음 강의는 NAT에 대해서 알아보겠습니다.

 

 

 

반응형