동일 PC의 Windows에서 동일 PC에 설치된 Vitrualbox의 Ubuntu 간에 ping이 안될때


※ 전제조건 : 동일 Windows PC상에 Virtualbox가 설치되어 있다고 가정한다.


소켓통신 프로그램을 개발하거나 이더넷 통신... 등등을 개발하다보면 실제 장비와 하기 전에 테스트 차원에서 Virtualbox의 리눅스와 PC간에 통신 프로그램을 개발하는 경우들이 있다.

이때 통신이 정상적인 상태인지를 체크하기 위해 보통은 ping으로 테스트하는 경우가 있다.


아래와 같이 리눅스의 터미널 창에서 PC쪽으로 ping을 날리거나 반대로 PC의 DOS창(커맨더 창)에서 Virtualbox 쪽으로 ping을 날림을 통해서 네트워크 연결 상태를 체크하게 된다.


ping 192.168.211.105


이러한 상황에서 

① 양방향 모두 ping 전송 실패하거나

② PC에서 Virtualbox 쪽으로는 가능하나 그 반대는 안되는 경우

에 대해서 살펴본다.


다른 네트워크 설정 상태가 정상임에도 위 ①의 경우가 발생한다면 우선적으로 Virtualbox의 네트워크 설정 상태를 NAT에서 브릿지 어댑터로 변경해 주어야 한다.

아래 그림과 같이 설정 - 네트워크 - 어댑터1 - 다음에 연결 항목에 있는 NAT를 브릿지 어댑터로 변경한 후 Virtualbox를 재시작한다.



위 ②번의 경우는 아마도 리눅스(여기서는 Ubuntu)의 네트워크 환경 설정 중에서 gateway를 잘못 설정했을 경우에 발생하는 현상이다. 그러나 네트워크의 경우는 워낙 다양한 변수들이 있기에 항상 정답이 될수는 없다.

이 경우 gateway를 올바로 설정하기 위해서는 우선 gateway의 ip 주소를 알아야 한다.

PC의 DOS창을 열어서 ipconfig 명령을 실행하면 아래와 같은 정보를 얻었다면 여기서 "기본 게이트웨이"에 있는 ip를 Ubuntu의 gateway로 설정해 주면 된다.


   연결별 DNS 접미사. . . . :

   링크-로컬 IPv6 주소 . . . . : fe80::84aa:fa63:4a5f:23a2%12

   IPv4 주소 . . . . . . . . . : 192.168.219.186

   서브넷 마스크 . . . . . . . : 255.255.255.0

   기본 게이트웨이 . . . . . . : 192.168.219.1


/etc/network/ 디렉토리 아래에 interfaces라는 파일을 열어서

아래 예시와 같이 gateway의 값을 지정한 후 파일을 저장한다.


auto enp0s3

iface enp0s3 inet static

address 192.168.219.115

netmask 255.255.255.0

gateway 192.168.219.1

dns-nameserver 8.8.8.8 8.8.4.4


이후 다음 명령어로 네트워크 장비를 재시작한다.


ip addr flush enp0s3 && /etc/init.d/networking restart



+ Recent posts