가상머신 포트포워딩

Lungnaha·2022년 4월 29일
1

Raspberry PI

목록 보기
4/5

동일 공유기를 사용하는 외부 컴퓨터에서 다른 컴퓨터의 가상머신에 접속을 허용하기 위한 과정

💪 들어가며..

제가 원하는 상황은 아래와 같았습니다.

  • 제 노트북(컴퓨터 A)에 가상머신을 띄우기
  • 동일 공유기를 사용하는 다른 컴퓨터(컴퓨터 B)에서 컴퓨터 A의 가상 머신에 ping 보내기
  • 참고로 컴퓨터 B는 라즈베리 파이를 사용
  • 컴퓨터 A는 윈도우 환경
  • 가상머신은 Ubuntu 사용

저는 처음에는 단순하게 가상 머신의 ip를 이용해서 ping을 시도하면 가능할 것이라고 생각했었습니다.

그러나, 연결은 되지 않았고 이를 해결하기 위해 포트 포워딩을 사용해야된다는 것을 알게되었습니다.

🥨 윈도우 ping 허용하기

윈도우 10에서는 기본적으로 ping을 막고있습니다.

즉, 윈도우에서 외부로 ping을 보낼 수는 있으나 외부에서 윈도우 10으로 ping을 보내는 것은 허용하지 않는 것입니다.
(저는 처음에 이 상황을 알지 못하고 시간을 많이 날렸습니다..)

그래서 윈도우 관리자 cmd에서 아래의 명령어를 입력해서 ping을 쌍방향으로 가능하도록 설정해주어야합니다.

netsh advfirewall firewall add rule name="ICMP Allow" protocol=icmpv4:8,any dir=in action=allow


명령어를 성공적으로 입력하면 라즈베리 파이에서 윈도우 10 환경의 컴퓨터 A로는 ping을 성공한 것을 확인할 수있습니다.

(ping 뒤에 ip는 본인에 맞는 ip를 입력해주어야합니다.)

🥐 가상머신 ping(포트 포워딩)

위처럼 ping을 허용한다고 해도 가상머신으로 접근할 수 있는 것은 아닙니다.
가상머신과 통신(ping, scp...)을 하려면 포트 포워딩을 활용해주어야합니다.

저는 VirtualBox 를 사용하여 가상머신을 이용했습니다.
다른 가상머신 툴을 사용하셔도 방법은 동일합니다.

먼저 접속을 원하는 가상머신의 설정에 들어가서 포트 포워딩에 들어가줍니다.

들어가서 포트 포워딩 관련 룰을 아래와 같이 지정해줍니다.
물론, ip 나 포트는 본인에 상황에 맞게 설정해주셔야합니다.

간단하게 설명해드리면,

  • 호스트 IP : 컴퓨터 A의 ip를 입력
  • 호스트 포트 : 원하는 포트 번호를 편하게 지정
  • 게스트 IP : 가상머신의 ip를 입력
  • 게스트 포트 : 가성머신의 서비스 포트를 입력

추가로, 게스트 IP는 가상머신에서 ifconfig 를 활용해서 확인할 수 있습니다.

위의 과정을 착실히 따라오신다면 가상머신에 외부에서 접속이 가능합니다.

🍞 참고) 접속 확인

혹시나, 해당 포트로 가상머신이 잘 접속하는지 확인하고 싶으시면 아래와 같은 방법으로 확인이 가능합니다.

echo > /dev/tcp/접속을 원하는 ip/포트번호

위의 명령어를 입력했을때, 포트가 성공적으로 열려있다면 아무 메시지도 나오지 않고 종료될 것입니다.

echo $?

추가로 위의 명령어를 입력해서 0 이 결과로 나온다면, 성공적으로 접속이 되었음을 확인할 수 있습니다.

profile
Long🌈Now😁Happy💖

0개의 댓글