VMware를 잘 쓰고 있었는데 컴퓨터를 재부팅 했더니 갑자기 게스트 OS(Ubuntu)의 네트워크가 죽어버렸다.

처음엔 게스트를 정상 종료하지 않고 재부팅을 해서 그런가 싶어서 별의 별 짓을 다 했었다.

그러다 [이곳]의 답변들 중에서 내 상황에 들어맞는 답을 찾게 되었다.

 

하… 범인은 Skype였다.

skype

스카이프의 설정 중 고급->연결에 가보면 위와 같이 “추가로 들어오는 연결에 80 및 443 포트 사용“이라는 옵션이 있는데 이게 기본적으론 체크가 되어있다. 그랬다. 스카이프를 설치하기 이전부터 서버는 돌고 있었기 때문에 그 때는 포트 충돌이 스카이프 쪽에서 일어나서 아마 스카이프는 80 포트를 쓰지 못하고 있었을 것이다. 그런데 재부팅을 하고 나니 스카이프가 80번을 독점해서 이번엔 VMware 쪽에서 80번을 쓰지 못하게 되고 NAT 서비스 자체가 죽어버린 것이다.

이 문제는 VMware 쪽에서도 인지는 하고 있는지 [자체 페이지]에서 앞에서 말한 방식의 해결 방법을 설명하고 있다.  제품군은 다르지만…

 

아무튼 이런 일을 겪고 나서 VMware를 사용할 때 네트워크에 문제가 있다면 아래를 참고하면 대부분의 문제를 해결할 수 있을 것 같더라.

  • 외부(호스트 PC 밖)에서 게스트 OS의 웹서버 등에 접근을 못한다

이런 경우엔 단계별로 접속 테스트를 해봐야 한다.

  1. 게스트 OS에서 localhost를 이용해 원하는 포트에 접근해보기(웹은 그냥 localhost만 있으면됨)
  2. 호스트 PC에서 게스트 OS로 접근해보기
  3. 웹브라우저 등에서 외부 IP를 통해 접근해보기

게스트 OS에서 localhost에 접근하지 못한다는 건 아예 그냥 당신이 쓰고싶은 그 서버가 동작을 안한다는 뜻이다…

2번 같은 경우에는 게스트 OS에서 ipconfig 혹은 ifconfig을 치면 해당 시스템이 부여받은 내부 네트워크용 IPv4 주소를 알아낼 수 있다. 보통 192.168.*.* 혹은 10.0.*.* 등일 것이다. 이 IP는 호스트 OS의 웹브라우저 등에서 접근할 수 있기 때문에 게스트 OS 바로 밖에서 접근이 가능한지를 테스트 할 수 있다.

사실 호스트에서 게스트 OS 로 접근할 수 있으면 외부에서도 쉽게 접근할 수 있다. 3번이 안된다면 아래 단계를 거쳐보자.

  1. 방화벽->인바운드 규칙에서 특정 포트(웹은 80, SSH는 22 등)를 열어뒀는지 체크한다.
  2. 공유기를 사용중이라면 공유기에서도 포트포워딩을 적용해야 한다. 외부에서 공유기까지 도달해도 공유기에 물린 기기들 중 어디에 전달해줄지를 정해줘야 하니까…

위 2가지만 체크해도 대부분의 문제는 해결할 수 있을 것이다.

  • 게스트 OS에서 인터넷이 안 잡힌다.

이건 변수가 많은 편이라 생각해볼 것도 많고 체크해야 할 것도 많다.

일단 특별한 목적이 없는 한 네트워크는 NAT를 사용하는게 제일 마음 편하다. NAT는 속도가 느리다고 하는 사람을 몇 번 봤는데 난 리얼 환경이랑 차이가 거의 없었다.

vne

그리고 앵간한 경우에는 그냥 Vitrual Network Editor에서 Restore Defaults를 하는게 제일 간단한 해결법이다. 포트포워딩 등의 VMware 네트워크 관련 설정을 해둔 게 많다면 포워딩 규칙 등을 어디에 보관한 다음 시행하자.

참고해야 할 점이 있는데, 기본 설정으로 되돌리고 난 직후에 게스트 OS를 켜서 인터넷이 되는지 확인해보고 다른 작업을 수행해야 한다. 바로 이 다른 작업이 문제를 일으킬 수 있기 때문에 실마리를 잡을 수도 있다. 나 같은 경우에는 맨 앞에서 얘기했던 Skype와의 포트 충돌이 원인이었다.

포트 충돌 같은 경우에는 VMware에서 “이미 그 포트는 쓰고 있어서 충돌이 일어나니까 해결 좀 하셈” 같은 메시지라도 띄워주면 참 좋을 것 같은데…

 

#2016-02-02

반드시 필요한 경우가 아니라면 NAT를 Bridged로 바꾸는 것도 하나의 방법이다. 다만 이럴 경우 포트포워딩은 공유기와 게스트 OS에서 해주게 된다. 공유기가 없다면 IP 자체를 새로 발급 받을 듯.

 

아직도 해결이 안되셨다면 구글에서 영어로 찾아보세요~

답글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다.