Ana makine adına göre VMWare Fusion Linux misafirine hitap et?


11

Konukun ağ bağlantısı için NAT seçeneğini kullanarak VMWare Fusion 3.0.0'da kurulmuş bir Ubuntu Server 9.04 görüntüsü var. Mac ana bilgisayarından, IP adresini kullanarak linux misafirine ssh yapabilirim, ancak kolaylık sağlamak için hostname ile başvurabilirim. yani:

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

Birkaç yıl önce Parallels'i kullanarak benzer bir kurulum yaptım, ancak nasıl kurulduğunu hatırlamıyorum. "Az önce işe yaramış olabilir".

Bu çalışmanın nasıl yapılacağına dair herhangi bir öneriniz var mı?

Yanıtlar:


14

EDIT Gönderdiğim yönergelerin ilk sürümü, VMware'in vmnet8 üzerine koyduğu ad sunucusu ve ağ geçidiyle çakışmaya neden oldu. Bu sürüm sorunu düzeltir.

Yazılım sürümleri:

  • MAC OS X Sürüm 10.6.3
  • VMware Fusion Sürüm 3.1.0 (261058)
  • Ubuntu 10.04 LTS

Ne yaptım:

  • VM'nin oluşturulması sırasında ağ iletişimini NAT olarak ayarlayın.

  • Linux Misafirinde: Kullanılan donanım adresini HWaddr, yayın adresini Bcast, IPv4 internet adresini inet addrve maskeyi almak için ifconfig dosyasını çalıştırın Mask.

    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 Misafirinde: Ad sunucusu bilgilerini arama

    UbuntuGuest$cat /etc/resolv.conf
    nameserver 192.168.213.2
    domain localdomain
    search localdomain
    
  • Linux Misafirinde: Ağ geçidi adresini arayın: (Satır'ın Ağ Geçidi sütununda 0.0.0.0 ile Hedef olarak listelenir.)

    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 üzerinde Host: Düzenleme dhcpd.confiçin dosya vmnet8(NAT sanal anahtarı) Linux Konuk statik bir IP adresi atamak için. (Dördüncü satırda seçtiğiniz editörünüzü kullanın)

    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 Ana Bilgisayarında: Dosya şöyle bir şey aramaya başlar:

    # 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" #######
    

Dikkat edilmesi gerekenler:

  • subnetBölüm Linux Misafir'i toplanan IP bilgisini uyumlu olmalıdır. inet addrİçinde olacak range, netmaskmaç olacak Mask, option broadcast-addressmaç olacak Bcast, option domain-name-serversve option domain-namebilgi ile toplanan maç olacak cat /etc/resolv.confve option routersmaç olacak Gatewayden route -nkomuta.

  • OS X Ana Bilgisayarının hostsdosyasına bir girdi ekleyebilmemiz için statik bir IP adresi atamak istiyoruz . Adres, subnettanımlanan içinde olmalıdır . Atanamayan adresler rangealt ağ bölümündeki, yayın adresi, fixed-addressfor host vmnet8, DNS sunucusu ve ağ geçidindeki adreslerdir . Ve alt ağa eşit adrese izin verilmediğini düşünüyorum. Bu örnekte, alt ağ 192.168.213.0Yani mevcut adresler 192.168.213.1 to 192.168.213.255daha az 192.168.213.128 to 192.168.213.245(aralık) daha az 192.168.213.255(yayın) daha az 192.168.213.1(ana bilgisayar vmnet8) daha azdır 192.168.213.2(ağ geçidi ve DNS sunucusu). Net adreslerin 192.168.213.3 to 192.168.213.127kullanılabilir olmasıdır.


  • OS X Ana Bilgisayarında: BÖLÜMÜ DEĞİŞTİRMEhost altında yeni bir giriş oluşturun . Bu giriş Linux Misafirine statik bir IP atayacaktır. ihtiyaçları maç için gelen Linux Misafir'i. İçin kullanılabilir bir statik adres seçin . , , Ve ihtiyaç halinde verilen seçenekler eşleşecek bölümünde . (Linux Misafirinde toplanan bilgilerle zaten eşleştirdik.) Bu örnekte ana bilgisayar girişi: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 Host'tadhcpd.conf düzenleyicinizi kaydedin ve kapatın.

  • OS X Host ve tüm Misafirlerde: Tüm VM'leri ve VMware'i kapatın.

  • OS X Ana Bilgisayarında: VMware hizmetlerini yeniden başlatın:

    OSXHost$cd /Library/Application\ Support/VMware\ Fusion/ 
    OSXHost$sudo ./boot.sh --restart 
    
  • OS X Ana Bilgisayarında: Bakın Activity Monitorve her adlandırılmış iki işlemin vmnet-dhcpdçalıştığından emin olun . (Biri vmnet8NAT ağı içindir, diğeri yalnızca ana bilgisayar ağı içindir.) Her ikisini de görmüyorsanız, muhtemelen vmnet8/dhcpd.confOS X Ana Bilgisayarındaki dosyayla ilgili bir sorun vardır . Bunu düzeltin ve VMware hizmetlerinin yeniden başlatılmasını tekrarlayın.

  • OS X Ana Bilgisayarında: VMware ve Linux Guest VM'yi başlatın.

  • Linux Misafirinde Konuk VM'de ayarların beklendiği gibi olup olmadığını kontrol edin:

    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 Misafirinde: Dış dünyaya ulaşılabilir olup olmadığını kontrol edin:

    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 Ana Bilgisayarında: Ana bilgisayar adı için hostsdosyaya bir eşleme ekleyin :

    OSXHost$cd /etc
    OSXHost$sudo emacs hosts
    

    Linux Misafirinin ana makine adını ve yukarıda atanan IP adresini kullanarak hosts dosyasının sonuna bir satır ekleyin.

    192.168.213.2   serpents-hold
    
  • OS X Ana Bilgisayarında: Dosyayı kaydedin ve emac'lardan çıkın.

  • OS X Ana Bilgisayarında: Linux Misafirine ana makine adına göre erişilebildiğini test edin:

    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$
    

Bu harika ... eğer bir OSX ana bilgisayarında. Bir yerde eşdeğer windows bulabilseydim.
TJ L

1
Harika bilgi. Teşekkürler. V4.x için 2 güncelleştirme 1. dhcpd.conf dosyasının konumu şu anda: "/ Library / Preferences / VMware Fusion /" 2. Fusion 4'te, Fusion kapatıldığında ağ hizmeti çalışmaz. Ağ hizmetini yeniden başlatmak için Fusion'ı yeniden başlatın.
sym3tri

8

Orijinal sorunun tek adımlı yanıtı bu komutu çalıştırmaktır:

$ sudo apt-get install libnss-mdns

Bu paketin yüklenmesi özelliği anında etkinleştirmelidir. Daha sonra adresinden VM'nize ulaşabilirsiniz your-vm-hostname.local. Bu yalnızca sanal makinenin sanallaştırma yazılımında nasıl yapılandırdığınıza bağlı olarak yerel VM ağında çalışır.

Bu özelliğe Apple tarafından Bonjour ve herkes tarafından Zeroconf denir. OS X ve iOS'ta yerleşiktir. Windows'da almanın en kolay yolu Windows için iTunes'u yüklemektir.


Bunu kullanarak, konuk makinenin adına '.local' eklemeliyim, örneğin ubuntu-guest.local, ana bilgisayar tarafından baktığımda. Bu bir yana, bu harika çalışıyor!
Nathaniel Waisbrot

@NathanielWaisbrot Bu doğru. Orijinal posterin istediği buydu.
hashemi

3

İstemcinin kendini DNS kaydı olmadan bir ağda tanımlamasına izin verecek olan Avahi'yi kullanarak zeroconf'u yapılandırabilirsiniz.


2

sadece bir komut satırı üzerinden oturum açmak istediğinizi varsayarsak, neden bir ssh yapılandırma dosyası oluşturmuyorsunuz ? vm için böyle bir şey yapıyorum.

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

Sonra yapabilirim

mac-box:~ ssh linux-box

1

NAT kullanıyorsanız, DNS sunucularına kaydolmaya çalışabilir, ancak ana bilgisayar dışındaki bilgisayarlara IP, makinelerinizle aynı olacaktır ve birkaç soruna neden olabilir.

Bu, kendi IP adresini ve herhangi bir makineye vereceği için köprülü ağa geçmenizi öneririm, ağdaki diğer herhangi bir makine gibi görünecek ve hissedilecektir. Tüm IP ayarlarını doğru şekilde yaparsanız (veya DHCP kullanırsanız) otomatik olarak kaydolmalı ve IP veya ana bilgisayar adı aracılığıyla herhangi bir bağlantı noktasında hiçbir şey yapmayla ilgili bir sorununuz olmamalıdır.


1
Evet bunun işe yarayacağını düşünüyorum ama istikrarlı bir özel ağı tercih ederim. VM, hareket eden ve bazen internet bağlantısı olmayan bir dizüstü bilgisayarda. Köprülü mod kullansaydım, ana bilgisayar çevrimdışıyken onunla bağlantı kuramazdım.
amrox
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.