ACL 기본 실습
기본적인 토폴로지는 이렇게 구성하였다. Network 구성은 모두 서브넷 마스크 A class 8 bit로 잡았고,
Routing은 OSPF Area 0으로 설정하였고 내부망과 외부망을 가정하여 ACL 을 Router 2 에 설정할 것이다.
먼저 각 Router 마다 IP를 부여해준다.
이후 OSPF 1 area 0으로 Routing을 진행한다.
이후 show ip router 명령어로 Network가 제대로 Routing 되었는지 확인한다.
이후 access-list를 사용해 경계 Router인 s1/1 Interface에 출발지 IP Address가 3.3.3.2인 Packet이 내부망으로 전송되는것을 차단해본다.
access-list 1 deny 3.3.3.2 : Deny는 특정 IP Address에 대한 접근을 거부하는 규칙을 추가한다는 뜻이므로 3.3.3.2에 대해 접근을 거부한다.
access-list 1 permit any : 엑세스 제어 목록 번호 1에 대한 설정을 추가. 여기서 permit은 모든 IP 주소에 대한 접근을 허용
int s1/1 : serial Interface 1/1에 설정으로 들어가서 특정 Interface에 엑세스 제어 목록을 적용,
ip access-group 1 in : 여기서의 1은 엑세스 제어 목록의 번호를 가르키며, in은 입력 트래픽에 대해서 적용한다는 것을 의미한다.
이후 실제로 R4에 3.3.3.2의 IP Address 에서 반대편 내부망인 1.1.1.1에 Ping을 보내보자! UUUUU 가 뜬다면 성공이다.
show ip access-lists 명령어를 사용하면 현재 access-list가 어떻게 설정되어있는지 볼 수 있다.
이걸 토대로 Wireshark 에서 Packet이 어떻게 되는지 알아보자
Code : 13은 ICMP 메시지의 서브타입 중 하나이다. 이 메세지는 목적지로 가는 경로가 없거나 도달할 수 없는 경우에 발생하는데, 이것은 Packet이 목적지까지 경로를 찾을수 없거나 목적지 Host가 응답하지 않을 경우에 발생한다. 이는 Packet이 특정 관리 정책에 의해 차단되었음을 나타내며, 방화벽이나 ACL등에 의해 패킷이 거부된 경우에 발생한다.
이후 패킷 차단 메시지를 보내지 않도록 설정해 보자! U를 표시하지 않는 이유는 표시하는 것이 router에 부하를 주어, 이것 자체가 DDos 공격이 되는 것을 막기 위해서이다.
Wireshark를 이용해 Packet을 확인해보자
이후 3.3.3.2를 삭제해보고 3.3.3.1을 추가했다. 그 이후에 3.3.3.2도 다시 access-list에 넣기위해 명령어를 넣어보았다.
하지만 3.3.3.2는 20번 문장의 일부분이므로 더 높은 번호로 설정될 수 없다는 에러 메시지가 떴고 그걸 토대로 IP access-list standard 명령어로 적당한 번호를 지정한 후 문장을 설정한다.
다음으로는 출발지 IP Address가 2.2.2.2인 패킷만 허용해보자
R4에서 시도해본결과 핑이 가지 않았고 IP Address가 2.2.2.2인 R3에서 Ping을 보냈을 때의 결과 값이다.
출발지 IP Address가 3.3.3.1인 Packet을 차단할려면 0~20 사이의 적당한 순서번호를 지정후 차단해준다.
표준 ACL에서는 특정 'p를 지정할 때에는 순서번호와 상관없이 IOS에 의해서 ACL문장의 순서가 지정되는 경우가 있다.
번호를 정리해 다시 지정해보자 !
이렇게 간단한 ACL 실습을 해보았다. 실제로 지정해준 Ping이 차단되는것을 확인하였고, 패킷까지 보며 공부를 해보았다. ACL을 이론적으로 공부할땐 긴가민가했는데, 실제로 실습을 해보고 나니 더 와닿았다.
'Network > 실습' 카테고리의 다른 글
[네트워크] IPv6 실습 (0) | 2024.07.01 |
---|---|
[방화벽] ASAv ASDM 설치 실습 (0) | 2024.06.26 |
[네트워크] Web Server in GNS3 (0) | 2024.05.30 |