호스트 이름으로 VMWare Fusion Linux 게스트를 처리 하시겠습니까?


11

게스트 네트워크 연결에 NAT 옵션을 사용하여 VMWare Fusion 3.0.0에서 Ubuntu Server 9.04 이미지를 설정했습니다. Mac 호스트에서 IP 주소를 사용하여 Linux 게스트로 ssh 할 수는 있지만 편의를 위해 호스트 이름으로 참조하고 싶습니다. 즉 :

mac-host:~ ssh user@linux-guest.local

몇 년 전에 Parallels를 사용하여 비슷한 설정을 수행했지만 설정 방법을 기억하지 못합니다. "방금 작동"했을 수 있습니다.

이 작업을 수행하는 방법에 대한 제안 사항이 있습니까?

답변:


14

편집 내가 게시 한 첫 번째 버전의 지침은 VMware가 vmnet8에 배치 한 이름 서버 및 게이트웨이와 충돌을 일으켰습니다. 이 버전은 문제를 해결합니다.

소프트웨어 버전 :

  • MAC OS X 버전 10.6.3
  • VMware Fusion 버전 3.1.0 (261058)
  • 우분투 10.04 LTS

내가 뭘 한거지:

  • VM을 만드는 동안 네트워킹을 NAT로 설정하십시오.

  • Linux 게스트 : ifconfig를 실행하여 하드웨어 주소 HWaddr, 브로드 캐스트 주소 Bcast, IPv4 인터넷 주소 inet addrMask사용중인 마스크 를 가져 오십시오 .

    UbuntuGuest$ifconfig
    eth0      Link encap:Ethernet  HWaddr 00:0c:29:53:bf:e5  
              inet addr:192.168.213.129  Bcast:192.168.213.255  Mask:255.255.255.0
                     <snip>
    
  • Linux 게스트 : 네임 서버 정보 조회

    UbuntuGuest$cat /etc/resolv.conf
    nameserver 192.168.213.2
    domain localdomain
    search localdomain
    
  • Linux 게스트 : 게이트웨이 주소를 조회하십시오 (대상으로 0.0.0.0이있는 행의 게이트웨이 열에 나열 됨).

    UbuntuGuest$route -n
    Kernel IP routing table
    Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
    192.168.213.0   0.0.0.0         255.255.255.0   U     0      0        0 eth0
    0.0.0.0         192.168.213.2   0.0.0.0         UG    100    0        0 eth0
    
  • OS X 호스트 : (NAT 가상 스위치)에 dhcpd.conf대한 파일을 편집 vmnet8하여 Linux 게스트에 고정 IP 주소를 지정하십시오. (네번째 줄에서 선택한 편집기를 사용하십시오)

    OSXHost$cd /Library/Application\ Support/VMware\ Fusion/vmnet8/
    OSXHost$sudo chmod u+w dhcpd.conf
    OSXHost$sudo cp dhcpd.conf dhcpd.conf.bak.20100619
    OSXHost$sudo emacs dhcpd.conf
    
  • OS X 호스트 : 파일이 다음과 같이 시작됩니다.

    # Configuration file for ISC 2.0 vmnet-dhcpd operating on vmnet8.
    #
    # This file was automatically generated by the VMware configuration program.
    # See Instructions below if you want to modify it.
    #
    # We set domain-name-servers to make some DHCP clients happy
    # (dhclient as configured in SuSE, TurboLinux, etc.).
    # We also supply a domain name to make pump (Red Hat 6.x) happy.
    #
    
    
    ###### VMNET DHCP Configuration. Start of "DO NOT MODIFY SECTION" #####
    # Modification Instructions: This section of the configuration file contains
    # information generated by the configuration program. Do not modify this
    # section.
    # You are free to modify everything else. Also, this section must start
    # on a new line
    # This file will get backed up with a different name in the same directory
    # if this section is edited and you try to configure DHCP again.
    
    # Written at: 12/26/2009 10:35:10
    allow unknown-clients;
    default-lease-time 1800;                # default is 30 minutes
    max-lease-time 7200;                    # default is 2 hours
    
    subnet 192.168.213.0 netmask 255.255.255.0 {
          range 192.168.213.128 192.168.213.254;
          option broadcast-address 192.168.213.255;
          option domain-name-servers 192.168.213.2;
          option domain-name localdomain;
          default-lease-time 1800;         # default is 30 minutes
          max-lease-time 7200;             # default is 2 hours
      option routers 192.168.213.2;
    }
    host vmnet8 {
        hardware ethernet 00:50:56:C0:00:08;
        fixed-address 192.168.213.1;
        option domain-name-servers 0.0.0.0;
        option domain-name "";
        option routers 0.0.0.0;
    }
    ####### VMNET DHCP Configuration. End of "DO NOT MODIFY SECTION" #######
    

참고 사항 :

  • subnet섹션은 Linux 게스트에서 수집 한 IP 정보와 일치해야합니다. 는 inet addr내 것 range, netmask일치 Mask, option broadcast-address일치 Bcast, option domain-name-servers그리고 option domain-name정보가 함께 모여 일치 cat /etc/resolv.confoption routers일치 Gateway으로부터 route -n명령.

  • OS X 호스트 hosts파일에 항목을 추가 할 수 있도록 고정 IP 주소를 할당하려고 합니다. 주소는 subnet정의 된 범위 내에 있어야합니다 . 할당 할 수없는 주소 range는 서브넷 섹션, 브로드 캐스트 주소, fixed-addressfor host vmnet8, DNS 서버 및 게이트웨이 내의 주소 입니다. 서브넷과 동일한 주소는 허용되지 않습니다. 이 예에서 서브넷은 192.168.213.0따라서 사용 가능한 주소가 192.168.213.1 to 192.168.213.255적은 192.168.213.128 to 192.168.213.245(범위) 적은 192.168.213.255(브로드 캐스트) 적은 192.168.213.1(호스트 vmnet8) 적은 192.168.213.2(게이트웨이 및 DNS 서버) 있습니다. 넷은 주소 192.168.213.3 to 192.168.213.127를 사용할 수 있다는 것입니다.


  • OS X 호스트 : 수정 안 함 섹션host 아래에 새 항목을 작성하십시오 . 이 항목은 Linux 게스트에 고정 IP를 할당합니다. Linux 게스트 에서 일치해야합니다 . 에 사용할 수있는 고정 주소를 선택하십시오 . , , 및 필요성은 주어진 옵션과 일치하는 섹션을 . (이미 Linux 게스트에서 수집 한 정보와 이미 일치 한 항목입니다.)이 예에서 호스트 항목은 다음과 같습니다.hardware ethernetHWaddrifconfigfixed-addressoption broadcast-addressoption domain-name-serversoption domain-nameoption routerssubnetdhcpd.conf

    ####### VMNET DHCP Configuration. End of "DO NOT MODIFY SECTION" #######
    host serpents-hold {
        hardware ethernet 00:0c:29:53:bf:e5;
        fixed-address 192.168.213.3;
        option broadcast-address 192.168.213.255;
        option domain-name-servers 192.168.213.2;
        option domain-name localdomain;
        option routers 192.168.213.2;
    }
    
  • OS X 호스트에서dhcpd.conf 편집기를 저장 하고 닫으십시오.

  • OS X 호스트 및 모든 게스트 : 모든 VM 및 VMware를 종료하십시오.

  • OS X 호스트 : VMware 서비스를 다시 시작하십시오.

    OSXHost$cd /Library/Application\ Support/VMware\ Fusion/ 
    OSXHost$sudo ./boot.sh --restart 
    
  • OS X 호스트 : 찾는 위치 Activity Monitor와 확인하십시오라는 두 개의 프로세스를 각각 것을 vmnet-dhcpd실행하고 있습니다. (하나는 vmnet8NAT 네트워크 용이고 다른 하나는 호스트 전용 네트워크 용입니다.) 둘 다 표시되지 않으면 vmnet8/dhcpd.confOS X 호스트 의 파일에 문제가있을 수 있습니다 . 이를 수정하고 VMware 서비스 다시 시작을 반복하십시오.

  • OS X 호스트 : VMware 및 Linux 게스트 VM을 시작하십시오.

  • Linux 게스트 에서 게스트 VM에서 설정이 예상 한대로 확인하십시오.

    UbuntuGuest$ifconfig
    eth0      Link encap:Ethernet  HWaddr 00:0c:29:53:bf:e5  
              inet addr:192.168.213.3  Bcast:192.168.213.255  Mask:255.255.255.0
              inet6 addr: fe80::20c:29ff:fe53:bfe5/64 Scope:Link
              UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
              RX packets:103 errors:0 dropped:0 overruns:0 frame:0
              TX packets:71 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:1000 
              RX bytes:10961 (10.9 KB)  TX bytes:9637 (9.6 KB)
    lo <snip>    
    UbuntuGuest$cat /etc/resolv.conf
    nameserver 192.168.213.2
    domain localdomain
    search localdomain
    UbuntuGuest$route -n
    Kernel IP routing table
    Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
    192.168.213.0   0.0.0.0         255.255.255.0   U     0      0        0 eth0
    0.0.0.0         192.168.213.2   0.0.0.0         UG    100    0        0 eth0
    UbuntuGuest$
    
  • Linux 게스트 : 외부 세계에 도달 할 수 있는지 확인하십시오.

    UbuntuGuest$ping google.com
    PING google.com (72.14.213.104) 56(84) bytes of data.
    64 bytes from pv-in-f104.1e100.net (72.14.213.104): icmp_seq=1 ttl=128 time=47.6 ms
    64 bytes from 2.bp.blogspot.com (72.14.213.104): icmp_seq=2 ttl=128 time=48.7 ms
    64 bytes from 2.bp.blogspot.com (72.14.213.104): icmp_seq=3 ttl=128 time=48.2 ms
    ^C
    --- google.com ping statistics ---
    4 packets transmitted, 3 received, 25% packet loss, time 3093ms
    rtt min/avg/max/mdev = 47.687/48.223/48.714/0.491 ms
    UbuntuGuest$
    
  • OS X 호스트 : 호스트 이름에 대한 맵핑을 hosts파일에 추가 하십시오.

    OSXHost$cd /etc
    OSXHost$sudo emacs hosts
    

    Linux 게스트의 호스트 이름과 위에 지정된 IP 주소를 사용하여 hosts 파일 끝에 줄을 추가하십시오.

    192.168.213.2   serpents-hold
    
  • OS X 호스트 : 파일을 저장하고 emacs를 종료하십시오.

  • OS X 호스트 : 호스트 이름으로 Linux 게스트에 도달 할 수 있는지 테스트하십시오.

    OSXHost$ping serpents-hold
    PING serpents-hold (192.168.213.3): 56 data bytes
    64 bytes from 192.168.213.3: icmp_seq=0 ttl=64 time=0.169 ms
    64 bytes from 192.168.213.3: icmp_seq=1 ttl=64 time=0.244 ms
    ^C
    --- serpents-hold ping statistics ---
    2 packets transmitted, 2 packets received, 0.0% packet loss
    round-trip min/avg/max/stddev = 0.169/0.207/0.244/0.037 ms
    OSXHost$
    

OSX 호스트 인 경우에 좋습니다. 어딘가에서 창문과 동등한 것을 찾을 수 있기를 바랍니다.
TJ L

1
훌륭한 정보. 감사. v4.x 2 업데이트 1. dhcpd.conf의 위치는 다음과 같습니다. "/ Library / Preferences / VMware Fusion /"2. Fusion 4에서는 Fusion이 종료 될 때 네트워킹 서비스가 실행되지 않습니다. 네트워킹 서비스를 다시 시작하려면 Fusion을 다시 시작하십시오.
sym3tri

8

원래 질문에 대한 한 단계 답변은 다음 명령을 실행하는 것입니다.

$ sudo apt-get 설치 libnss-mdns

이 패키지를 설치하면 기능이 즉시 활성화됩니다. 그런 다음에서 VM에 액세스 할 수 있습니다 your-vm-hostname.local. 이는 가상화 소프트웨어에서 VM을 구성한 방법에 따라 VM의 로컬 네트워크 내에서만 작동합니다.

이 기능은 Apple의 Bonjour, 다른 모든 사람의 Zeroconf라고합니다. OS X 및 iOS에 내장되어 있습니다. Windows에 설치하는 가장 쉬운 방법은 Windows 용 iTunes를 설치하는 것입니다.


이를 사용하여 게스트 시스템 이름에 '.local'을 추가해야합니다 (예 : ubuntu-guest.local호스트 측에서 참조 할 때). 그 외에도, 이것은 훌륭하게 작동합니다!
Nathaniel Waisbrot

@NathanielWaisbrot 맞습니다. 이것이 원래 포스터가 원하는 것입니다.
hashemi

3

Avahi를 사용하여 zeroconf를 구성하면 DNS 등록없이 클라이언트가 네트워크에서 자신을 식별 할 수 있습니다.


2

명령 행을 통해 로그인하고 싶다면 ssh 설정 파일을 작성하지 않겠습니까? 내 VM에 대해 이와 같은 작업을 수행합니다.

# ~/.ssh/config
Host linux-box    
Hostname localhost
Port 8822

그럼 난 할 수있어

mac-box:~ ssh linux-box

1

NAT를 사용하는 경우 DNS 서버에 등록하려고 시도 할 수 있지만 호스트 이외의 컴퓨터에는 IP가 사용중인 컴퓨터와 동일하며 몇 가지 문제가 발생할 수 있습니다.

브리지 된 네트워킹으로 전환하면 자체 IP 주소와 모든 컴퓨터에 연결되므로 네트워크의 다른 컴퓨터와 모양과 느낌이 달라 지므로 브리지 네트워킹으로 전환하는 것이 좋습니다. 모든 IP 설정을 올바르게 설정하거나 DHCP를 사용하면 자동으로 등록되며 IP 또는 호스트 이름을 통해 포트에서 아무 작업도 수행하지 않아도됩니다.


1
예, 그렇게 될 것이라고 생각하지만 안정적인 개인 네트워크를 선호합니다. VM은 이동하고 때로는 인터넷에 연결되지 않은 랩톱에 있습니다. 브리지 모드를 사용하면 호스트가 오프라인 일 때 연결할 수 없습니다.
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.