제가 OpenVPN을 이용해 VPN서버를 구축하면서 생긴 버그를 찾아가는 과정을 트러블 슈팅 과정을 통해 한 번 해결해보았습니다.
막상 트러블 슈팅은 어떻게 진행할까? 생각을 해보다 이과정을 정리해 놓으면 유용하게 쓸 수 있을 것 같아 이렇게 한 번 기록해 남겨놓습니다.
트러블 슈팅(Trouble Shooting)
무언가 문제가 발생 했을 때 그 원인을 찾아 제거하는 것을 의미한다.
만약 문제가 해결이 된다면 해당 사이클은 종료가 되고 해결되지 않는다면
원인 추론을 다시 하여 문제를 해결 할 때 까지 반복한다.
제가 현재 진행하고 있는 프로젝트에서 발생한 것을 예를 들어 이야기 해보겠습니다.
문제 정의 : 지금 VPN 포트가 열려 있지만 Ping도 못받고 해당 IP에서 TCP연결도 되지 않는 상태
사실 수집 : 현재 VPN IP를 클라이언트 측에서 전달 받지 못함, 연결은 되지만 IP가 보이지 않는다.
원인 추론 : Config파일에서 문제가 발생할 수도 있다
조치 및 방안 검토하기 : Config파일을 필수 적인 부분만 추가하고 나머지 부분들은 주석처리를 해보자
결과 확인 : 아직까진 서버와 클라 접속이 되는 중
문제 해결 여부 파악하기 : 해결 x 그렇다면 다른 원인 때문에 현 상황이 발생하고 있다는 걸 확인 할 수 있다.
이러한 과정을 계속 진행하면서 저는 장장 2시간동안 Config파일 수정과 자료 서칭을 하면서 저의 어려움을 보던 저의 멘토님께서 마지막으로 툭 던진 한 마디
"디반님 혹시 OpenVPN 클라 실행할 때 관리자 권한주고 실행 시켰나요?"
"네..? 아니요....? 0.0"
알고보니 IP ADD가 되었다고 계속 로그를 찍어주는데 클라이언트에서 IP가 추가되지 않은 원인이 바로 권한 문제 였다...
그래서 어제 또 나는 큰 깨달음을 얻었다.
방화벽 포트 확인과 권한(Permission) 확인을 생활화하면서 개발하자는 깨달음을 3시간과 바꿨다
"방화벽과 권한을 최우선으로 확인하고 개발 하는 착한 개발자가 됩시다 :)"
'Dev DBAN > 개발 용어 핥아보기' 카테고리의 다른 글
개발 용어 핥아보기 - 프로세스와 스레드 (0) | 2021.12.28 |
---|---|
개발 용어 핥아 보기 - TCP와 UDP 간단 정리 (0) | 2021.12.23 |
개발 용어 핥아 보기 - OSI 7계층? (0) | 2021.12.22 |
개발용어 핥아보기 - ORM을 알아보자 (0) | 2021.11.01 |
개발 용어 핥아보기 - 네트워크 주소 변환 NAT (0) | 2021.10.12 |
댓글