해당 내용은 학습한 내용을 개인적으로 정리한 글입니다.
벌써 만 2년차 개발자가 되었다.
운영업무를 맡게되었고 유지보수를 해야하는 업무였다.
기존 서비스에 대해 VOC가 나왔고 서비스 개선을 위해서 코드 수정과 기존 아키텍처 구성에 따라 ACL 요청이 필요했다.
ACL 많이 들어보았지만... 어떻게 설정되어있고 어떤 식으로 동작하는지 자세히 몰라서 자신감이 없었다.
3년차인데.. 이것도 모르는게 부끄러운 일 일수 있지만 부족한 만큼 얼른 공부해서 채워야지..
필요에 의한 공부가 제일 효율적이라고.. 공부해보았다.
기존 서비스 구성도를 보며 어떻게 voc를 처리할지 동료와 고민했다.
특정 서버에서 특정 서버로 통신이 필요했다.
동료 왈 '여기 서버에서 아웃바운드가 막힌건지 인바운드가 막힌건지 확인해봐야겠네요.. 확인해보고 ACL 요청하죠!'
'무슨 말이지..;;'
무작정 ACL에 대해 검색해보면 네트워크 장비 (라우터 또는 스위치)에서 설정하는 듯 하다.
나의 경우에는 특정 서버에서 L4장비로 요청이 되어야 했다.
그래서 L4장비의 특정 인터페이스로 인바운드 설정이 필요할 것 같아서 담당자에게 상황 설명하고 허용해달라고 요청했다.
이후 ping 과 curl -v 명령어를 사용해서 요청이 잘 날라가는 걸 확인했다.
여기까지가 사소하지만.. 있었던 실무 경험이고 이론에 대해 공부해보자.
우선 ACL이란 Access Control List 의 줄임말이다.
말그대로 접근 제어 목록을 의미한다.
네트워크 통신할때 보통 보안을 이유로 사용한다.
ACL 종류는 여러 종류가 있는데 주로 standard ACL, extended ACL 로 나뉜다.
standard ACL은 1~99까지의 번호를 사용하고 source address만 참조해서 필터링 여부를 결정한다.
extended ACL은 100~199까지 번호를 사용하고 source address 뿐만 아니라 destination address, protocol, port 등 더 자세한 정보를 참조해서 필터링한다. 좀 더 복잡한 접근 제어 설정이 가능하다.
예시를 통해 좀 더 이해해보자.

윈도우 7-1 에서 윈도우 7-2-1 로 통신해야하는 것이 요구사항이다.
R2 라우터에서 해당 설정이 필요하다.
우선 access control list를 추가해야한다.
위와 같은 상황으로는 아래와 같이 추가한다.
access-list 1 permit 100.100.100.0 0.0.0.255
그러면 R2 라우터에 1번 규칙이 생성된다. standard ACL예시다. 명령어를 보면 source address와 mask에 대해 permit 한다고 이해하면 된다.
이후 s1/1 인터페이스에 접근해서 방금 등록한 1번 규칙을 적용하면 된다! 적용할때 해당 인터페이스에서는 패킷이 라우터로 들어오기 때문에 인바운드로 설정하면 된다. 반대로 라우터에서 나가는 방향이면 아웃바운드로 설정하면 된다.
ip access-group 1 in
윈도우 7-1에서 요청을 보내면 출발지 ip가 100.100.100.10 이기 때문에 R2에서 규칙에 따라 출발지를 확인하여 패킷을 통과시킨다.
정리
겪은 이슈와 ACL에 대해 간단히 정리해보았다.
공부하며 전반적으로 ACL 흐름에 대해 알게 되었다.
나중에 어떤 장비에 ACL 설정이 어떻게 되어있는지 또는 어떤 설정이 필요할때 파악할 수 있을 것 같다.
더 나아가 extend ACL 도 적용해서 복잡한 설정 등도 해볼 수 있을 것 같다.
참고자료
https://www.youtube.com/watch?v=4hjUcc3QAww&list=PL0d8NnikouEUYlR5BcG-YLbGvA5askt67&index=31
해당 유튜브 교육영상을 참고하였으며 이미지 자료도 해당 영상 자료를 사용했습니다. (문제가 되면 변경하도록 하겠습니다.)
'Computer Science > 네트워크' 카테고리의 다른 글
| [JWT] - 이론편 (2) | 2024.03.31 |
|---|---|
| CORS란? (0) | 2022.09.02 |