2009년 10월에 출시된 VMware Server 2.0.2 는 Windows 7 이 발표된 이후에 출시된 버전이지만 아직 Windows 7을 host OS로 사용할 때 발생하는 NAT 문제 (ping 을 제외한 인터넷이 guest OS에서 작동하지 않는다) 가 해결되지 않았다.
참고로 VMware Server 와 WMware ESXi 는 무료로 라이센스를 배포한다. 두 제품의 차이는 Host OS위에서 작동하는 것과 OS없이 독립적인 Hypervisor로 작동하는 것.
Windows 7 에서 WMware 2.0의 NAT 가 제대로 작동하지 않는 문제의 증상은 다음과 같다.
- 외부에서 들어오는 네트워크 요청 (inbound) 의 port forwading 은 정상적으로 작동하여 서버 프로그램의 운영은 가능
- 외부로 나가는 ping을 제외한 모든 outbound 프로토콜이 작동하지 않아서 guest OS에서 정상적으로 인터넷을 사용하지 못함
검색 결과 Windows 7 을 host OS로 사용할 경우 발생하는 VMware Server 2.0 의 NAT 문제에 대한 포스팅이 다수 발견되었으나 단 한 개의 포스팅 만이 해결 방법을 제시하고 있다. (아래 박스 참조)
보고되 해결 방법은 Windows 7의 네트워크 공유 기능을 사용하고 Windows 7에 내장된 ICS의 NAT를 사용하는 것이나, 작동하는 경우도 있고 문제가 생기는 경우도 있다. (위 florianlr's blog의 posting을 참조) 이 방법은 완벽한 해결 방법이 아니며, 실제 테스트 결과 물리적 NIC가 여러 개 일때 심각한 문제 (간혹 작동하기도 하지만, 전체 시스템의 네트워크가 먹통이 되는 문제) 가 발생하여 무시하는 편이 시간 절약에 도움이 되리라...
고심 끝에 생각해 낸 방법은 다음과 같다. 요약하자면 inbound 와 outbound 를 다른 네트워크를 사용하는 것이다. 실험 결과 만족할 만한 신뢰도 및 안정성을 보여주고 있다.
- VM 하드웨어에 2개의 NIC 설정 (1: Bridged, 2: NAT)
- Guest OS에서 NIC 우선순위 (interface metric) 설정 (1: Bridge, 2: NAT)
또 다른 해결방법으로 (보다 확실한 방법) VMware의 하드웨어 설정에서 NIC를 하나 더 잡고 하나는 NAT 나머지 하나는 Bridged로 설정하여 NAT는 inbound, Bridged는 outbound 용도로 사용하면 inbound는 VMware의 NAT 설정을 따르고, 문제가 되던 outbound는 Bridged 네트워크를 통해서 정상 작동할 수 있다. 다만 이 경우는 Bridged network에 할당할 여분의 IP 리소스가 필요하다. 또한 guest OS에서 NAT와 Bridged network의 순서를 지정해야 한다. Ubuntu에서는 Bridged network을 첫 번째 NIC로 먼저 잡아 주고, NAT를 두번째로 잡아주면 우선 순위가 Bridged에 먼저 할당되어 outbound가 정상적으로 작동하였다. Windows 계열의 Guest OS에서는 Advanced TCP/IP Setting 에서 Interface metric을 수동으로 설정할 수 있다. (ex: Bridged에 1, NAT에 2를 설정)
이와 같이 interface metric을 설정하게 되면, outbound의 네트워크 연결은 우선순위에 따라 bridged network (interface metric: 1) 을 통하여 연결되어 WMware Server 의 NAT를 우회하므로 문제가 발생하지 않게 된다. 반면 inbound의 네트워크 연결은 host OS의 IP주소를 통하여 요청되므로 WMware server의 NAT를 통하여 guest OS의 NAT network (interface metric: 2) 으로 넘겨지게 되어, WMware server의 NAT 설정을 그대로 사용할 수 있는 장점이 있다.
<추가> Ubuntu 64bit 을 guest OS로 사용하는 환경에서 NAT 가 정상적으로 작동하지 않는 문제점을 발견.
참고로 VMware Server 와 WMware ESXi 는 무료로 라이센스를 배포한다. 두 제품의 차이는 Host OS위에서 작동하는 것과 OS없이 독립적인 Hypervisor로 작동하는 것.
Windows 7 에서 WMware 2.0의 NAT 가 제대로 작동하지 않는 문제의 증상은 다음과 같다.
- 외부에서 들어오는 네트워크 요청 (inbound) 의 port forwading 은 정상적으로 작동하여 서버 프로그램의 운영은 가능
- 외부로 나가는 ping을 제외한 모든 outbound 프로토콜이 작동하지 않아서 guest OS에서 정상적으로 인터넷을 사용하지 못함
검색 결과 Windows 7 을 host OS로 사용할 경우 발생하는 VMware Server 2.0 의 NAT 문제에 대한 포스팅이 다수 발견되었으나 단 한 개의 포스팅 만이 해결 방법을 제시하고 있다. (아래 박스 참조)
Windows 7 - VMWare Server NAT problem
Windows 7 - both X-64 and X-86 NAT Broken
from VMware Communities
http://communities.vmware.com//message/1234305#1234305
Windows 7 Internet Connection Sharing problem with VMware Server 2
from techarena
http://forums.techarena.in/networking-security/1324174.htm
fixing VMWare NAT problems on Windows 7
from florianlr's blog
http://florianlr.wordpress.com/2009/07/09/5/
from Windows Seven Forum
http://www.sevenforums.com/virtualization/3850-vmware-server-nat-problem.htmlWindows 7 - both X-64 and X-86 NAT Broken
from VMware Communities
http://communities.vmware.com//message/1234305#1234305
Windows 7 Internet Connection Sharing problem with VMware Server 2
from techarena
http://forums.techarena.in/networking-security/1324174.htm
fixing VMWare NAT problems on Windows 7
from florianlr's blog
http://florianlr.wordpress.com/2009/07/09/5/
보고되 해결 방법은 Windows 7의 네트워크 공유 기능을 사용하고 Windows 7에 내장된 ICS의 NAT를 사용하는 것이나, 작동하는 경우도 있고 문제가 생기는 경우도 있다. (위 florianlr's blog의 posting을 참조) 이 방법은 완벽한 해결 방법이 아니며, 실제 테스트 결과 물리적 NIC가 여러 개 일때 심각한 문제 (간혹 작동하기도 하지만, 전체 시스템의 네트워크가 먹통이 되는 문제) 가 발생하여 무시하는 편이 시간 절약에 도움이 되리라...
고심 끝에 생각해 낸 방법은 다음과 같다. 요약하자면 inbound 와 outbound 를 다른 네트워크를 사용하는 것이다. 실험 결과 만족할 만한 신뢰도 및 안정성을 보여주고 있다.
추천하는 해결 방법 - Best Solution
- VM 하드웨어에 2개의 NIC 설정 (1: Bridged, 2: NAT)
- Guest OS에서 NIC 우선순위 (interface metric) 설정 (1: Bridge, 2: NAT)
또 다른 해결방법으로 (보다 확실한 방법) VMware의 하드웨어 설정에서 NIC를 하나 더 잡고 하나는 NAT 나머지 하나는 Bridged로 설정하여 NAT는 inbound, Bridged는 outbound 용도로 사용하면 inbound는 VMware의 NAT 설정을 따르고, 문제가 되던 outbound는 Bridged 네트워크를 통해서 정상 작동할 수 있다. 다만 이 경우는 Bridged network에 할당할 여분의 IP 리소스가 필요하다. 또한 guest OS에서 NAT와 Bridged network의 순서를 지정해야 한다. Ubuntu에서는 Bridged network을 첫 번째 NIC로 먼저 잡아 주고, NAT를 두번째로 잡아주면 우선 순위가 Bridged에 먼저 할당되어 outbound가 정상적으로 작동하였다. Windows 계열의 Guest OS에서는 Advanced TCP/IP Setting 에서 Interface metric을 수동으로 설정할 수 있다. (ex: Bridged에 1, NAT에 2를 설정)
<Windowx 7의 Interface metric 설정>
이와 같이 interface metric을 설정하게 되면, outbound의 네트워크 연결은 우선순위에 따라 bridged network (interface metric: 1) 을 통하여 연결되어 WMware Server 의 NAT를 우회하므로 문제가 발생하지 않게 된다. 반면 inbound의 네트워크 연결은 host OS의 IP주소를 통하여 요청되므로 WMware server의 NAT를 통하여 guest OS의 NAT network (interface metric: 2) 으로 넘겨지게 되어, WMware server의 NAT 설정을 그대로 사용할 수 있는 장점이 있다.
<추가> Ubuntu 64bit 을 guest OS로 사용하는 환경에서 NAT 가 정상적으로 작동하지 않는 문제점을 발견.
<VMware 2.0.2>
'정보기술 > 가상화' 카테고리의 다른 글
VMware iSCSI SAN configuration guide (0) | 2011.04.04 |
---|---|
Vyatta - Network Operating System 사용방법 (0) | 2011.04.01 |
Ubunto 10.04 LTS on VMWare - Keyborad bug (0) | 2010.05.03 |
VMware 실행 또는 설치가 안되는 문제 (0) | 2009.11.27 |
Mac OSx86 on VMware Installation Guide (0) | 2009.05.21 |