Ping 테스트

YEON·2022년 5월 20일
0

인프라 미션

목록 보기
4/7

생성한 서버의 ssh 포트가 접속 되지 않아 ping 테스트를 시도해보았다.

하지만 Request timeout 이 발생하며 실패하였다.

이를 해결하는 과정을 기록하고자 글을 작성하였다.



Ping check

IP 정보만으로 서버에 요청이 가능한지를 확인하는 것이다.

Ping 이란 ?
Packet Internet Groper의 약자로 컴퓨터 네트워크 상태를 점검, 진단하는 명령이다.

Ping은 ICMP 프로토콜을 사용한다. (ICMP 란, IP가 신뢰성을 보장하지 않아 네트워크 장애나 중계 라우터 등의 에러에 대처할 수 없는데, 오류정보 발견 및 보고 기능을 담당하는 프로토콜)
이 ICMP 프로토콜을 사용하여 네트워크 레이어로 타켓 컴퓨터를 향해 패킷을 ICMP echo request하고 타겟 컴퓨터가 ICMP echo reply를 보내준다. 해당 패킷에는 TTL과 송수신 시간 등의 정보가 담겨있고 이를 통해 네트워크 상태를 분석한다.



🚨 오류 발생

하지만 IP 정보를 입력하였을때 나의 서버는 ping 이 정상적으로 수신?되지 않고 실패하여 Request timeout 이 발생하였다.

그 원인/이유는 무엇일까 ?

  • 서버 또는 네트워크가 다운되었거나 도달할 수 없는 경우
  • 목적지의 방화벽이 ICMP를 거부하는 경우
  • 라우팅 에러
  • 패킷 필터링
  • 시스템관리자에 의해 목적지의 네트워크가 핑 명령어를 차단한 경우
  • 인터넷/네트워크 연결이 실패
  • 기타 등등

먼저 첫번째의 경우 내 서버(EC2 인스턴스)는 현재 잘 동작 중이었다.
또한 Security Group 의 inbound 규칙 또한 해당 22번 포트에 내 IP를 맞게 잘 설정해놓았다.
라우팅 에러의 경우 다량의 데이터들이 들어오면 전송될 경로를 설정해 데이터를 보내는데 이 과정에서 오류가 난 것을 라우팅 오류이다. 목적지 주소에서 원래 Host 주소에 맞게 잘 설정하였기 때문에 아닐 것이라고 판단하였다.
패킷 필터링은 내가 보낸 패킷 목적지에서 필터링해서 패킷이 손실되어 응답이 없을 수 있는 경우이다. 비대칭 라우팅으로 인해 발생할 수 있고 아웃바운드 및 인바운드 네트워크 트래픽 구성을 통해 해결해야한다.



🔑 해결

내 생각엔 아무래도 aws에서 산 인스턴스니까 방화벽 문제인듯 싶어서 ec2에 들어가서 inbound rule에 ICMP를 내 ip에서만 허용해보았다.

이유는 Security Group 의 inbound 규칙에서 ICMP 프로토콜을 빼먹고 설정하지 않았기 때문이었다.
위에서 설명했다싶이 ping은 ICMP 프로토콜을 사용한다. (그리고 ICMP 란 오류정보 발견 및 보고 기능을 담당하는 프로토콜이라고 설명하였다.)
하지만 이 ICMP 프로토콜을 설정하지 않음으로써 오류 정보를 확인할 수 없었던 것이었다.
따라서 빠트렸던 inbound 규칙에 ICMP 프로토콜을 추가하였다.

그 결과 잘 해결된 모습을 확인할 수 있었다.

아주 단순한 원인 문제였지만 이를 통해서 프로토콜의 개념을 다시 한번 익히고 inbound 규칙에 따른 프로토콜의 허용 방화벽?을 체감할 수 있었다.





[참조]
https://velog.io/@sylee0427/%EB%82%B4-%EC%84%9C%EB%B2%84%EC%97%90-%ED%95%91%EC%9D%84-%EB%82%A0%EB%A0%A4%EB%B4%A4%EB%8B%A4
https://waytocse.tistory.com/11
프로젝트 공방-1기 (통신 확인하기)

profile
- 👩🏻‍💻

0개의 댓글