[LINUX] 간단한 통신 테스트 방법

Jaehyeong Kwon·2023년 3월 17일
0

LINUX

목록 보기
1/1

백엔드 작업을 하다보면 개발 환경, 스테이지 환경, 운영 환경이 있고 여러 보안 그룹이 존재하기 마련입니다. 회사에서는 비교적 최근 컨테이너 기반 배포를 도입했지만 그전 까지는 인스턴스 별로 관리를 했었던 것 같습니다. 유지 보수할 일이 있어 살펴보니 AI 서버, 셀러리 서버, 서버 간 통신이 안돼 데이터가 쌓이지 않고 있었습니다. 보안그룹 설정을 요청 드린 후 실제로 연결을 어떻게 확인하지 찾아보다가 두 가지 방법을 찾게 되었습니다. telnet 과 curl 입니다.

1. telnet

telnet <ip> <port> 

연결이 성공했을 시에는 다음과 같이 뜬다.

telnet 10.0.2.49 5432
Trying 10.0.2.49...
telnet: connect to address 10.0.2.49: Connection refused

연결 실패 시에는 다음과 같이 뜹니다.

telnet 10.0.2.49 5432
Trying 10.0.2.49...
Connected to 10.0.2.49.

하지만 간혹하다 telnet이 안 먹힐 때도 있는 데 이때는 보안 상 telnet 명령어의 사용이 불가능한 경우거나 설치가 안되어 있는 경우이다. 이런 경우 때문에 curl를 먼저 사용하는 것 같습니다.

2. curl

curl에는 여러 옵션이 존재하지만 방화벽 설정 때문에 쓰는 경우에는 이런 옵션들이 필요 없기 때문에 단순 성공, 실패의 경우에만 다뤄보도록 하겠습니다.

curl 10.0.2.49:5432

연결 성공 시에는 다음과 같이 뜹니다.

curl 10.0.2.49:5432
* About to connect() to 10.0.2.49 port 5432 (#0)
* 	Trying 10.0.2.49...
* Connected to 10.0.2.49 (10.0.2.49) port 5432 (#0)

연결 실패 시에는 다음과 같이 Fail이 뜹니다.

curl 10.0.2.49:5432
* About to connect() to 10.0.2.49 port 5432 (#0)
* 	Trying 10.0.2.49...
* Failed connect to 10.0.2.49:5432
* Closing connection 0 
curl: (7) Failed connect to 10.0.2.49:5432;

두 가지에 대해 모두 사용이 힘들다면 /dev/tcp 를 이용할 수 있습니다. 하지만 웬만해서는 2 가지 방법 내에서 해결되기 때문에 이 포스트에서는 다루지 않을 예정입니다.

profile
나무와 같이 성장하는 사람

0개의 댓글