Adresse VMware Fusion Linux Gast durch Hostname?

Ich habe ein Ubuntu Server 9.04-Image in VMware Fusion 3.0.0 eingerichtet, das die NAT-Option für die Netzwerkverbindung des Gastes verwendet. Vom Mac-Host aus kann ich mit seiner IP-Adresse problemlos mit dem Linux-Gast ssh, aber ich möchte der Einfachheit halber nach Hostnamen darauf verweisen können. ie:

mac-host:~ ssh [email protected]

Ich hatte vor ein paar Jahren ein ähnliches Setup mit Parallels, aber ich erinnere mich nicht, wie es eingerichtet wurde. Es hat vielleicht "nur funktioniert".

Jede Anregung, wie man diese arbeit?

Author: amrox, 2009-11-18

5 answers

BEARBEITEN Die erste Version der Anweisungen, die ich gepostet habe, verursachte Konflikte mit dem Nameserver und Gateway, die VMware auf vmnet8 gesetzt hat. Diese version behebt das Problem.

Softwareversionen:

  • MAC OS X Version 10.6.3
  • VMware Fusion Version 3.1.0 (261058)
  • Ubuntu 10.04 LTS

Was ich getan habe:

  • Setzen Sie während der Erstellung der VM vernetzung zu NAT.

  • Auf Linux-Gast: Führen Sie ifconfig aus, um die Hardware-Adresse HWaddr, die Broadcast-Adresse Bcast, die IPv4-Internetadresse inet addr und die verwendete Maske Mask abzurufen.

    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>
    
  • Unter Linux-Gast: Suchen Sie nach den Nameserver-Informationen

    UbuntuGuest$cat /etc/resolv.conf
    nameserver 192.168.213.2
    domain localdomain
    search localdomain
    
  • Unter Linux Guest: Suchen Sie nach der Gateway-Adresse: (In der Spalte Gateway der Zeile mit 0.0.0.0 als Ziel aufgeführt.)

    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
    
  • Auf OS X Host: Bearbeiten Sie die dhcpd.conf Datei für vmnet8 (Die NAT virtual switch), um dem Linux-Gast eine statische IP-Adresse zuzuweisen. (Verwenden Sie Ihren Editor Ihrer Wahl in der vierten Zeile)

    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
    
  • Unter OS X Host: sieht die Datei zunächst so aus:

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

Dinge zu beachten:

  • Der Abschnitt subnet sollte mit den IP-Informationen übereinstimmen, die auf dem Linux-Gast gesammelt wurden. Das inet addr wird innerhalb sein range, netmask wird passen Mask, option broadcast-address wird passen Bcast, option domain-name-servers und option domain-name wird mit dem die mit cat /etc/resolv.conf und option routers gesammelten Informationen stimmen mit Gateway des Befehls route -n überein.

  • Wir möchten eine statische IP-Adresse zuweisen, damit wir der Datei hosts des OS X-Hosts einen Eintrag hinzufügen können. Die Adresse muss innerhalb der definierten subnet liegen. Adressen, die nicht zugewiesen werden können, sind die innerhalb von range im Subnetzabschnitt, die Broadcast-Adresse, die fixed-address für host vmnet8, der DNS-Server und das Gateway. Und ich denke, die Adresse gleich Subnetz ist nicht erlaubt. In diesem Beispiel, das Subnetz ist 192.168.213.0 , Daher stammen die verfügbaren Adressaten aus 192.168.213.1 to 192.168.213.255 less 192.168.213.128 to 192.168.213.245 (range) less 192.168.213.255 (broadcast) less 192.168.213.1 (host vmnet8) less 192.168.213.2 (Gateway und DNS-Server). Das Problem ist, dass Adressen 192.168.213.3 to 192.168.213.127 verfügbar sind.


  • AUF OS X-Host: Erstellen Sie einen neuen host Eintrag unter dem ABSCHNITT NICHT ÄNDERN. Dieser Eintrag weist dem Linux-Gast eine statische IP zu. hardware ethernet muss mit HWaddr von ifconfig auf dem Linux-Gast übereinstimmen. Wählen Sie ein verfügbare statische Adresse für fixed-address. option broadcast-address, option domain-name-servers, option domain-name und option routers muss mit den Optionen übereinstimmen, die im Abschnitt subnet von dhcpd.conf angegeben sind. (Die wir bereits mit Informationen verglichen haben, die auf dem Linux-Gast gesammelt wurden.) In diesem Beispiel lautet der Hosteintrag:

    ####### 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;
    }
    
  • Speichern Sie unter OS X Host dhcpd.conf und schließen Sie den Editor.

  • Unter OS X Host und allen Gästen: Alle VMs und VMware herunterfahren.

  • Auf OS X Host: Neustart die VMware-Dienste:

    OSXHost$cd /Library/Application\ Support/VMware\ Fusion/ 
    OSXHost$sudo ./boot.sh --restart 
    
  • Auf OS X Host: Schauen Sie in Activity Monitor und stellen Sie sicher, dass zwei Prozesse mit dem Namen vmnet-dhcpd ausgeführt werden. (Einer ist für das vmnet8, das NAT-Netzwerk, der andere ist nur für das Host-Netzwerk.), Wenn Sie nicht sehen, liegt wahrscheinlich ein problem mit der vmnet8/dhcpd.conf Datei auf dem OS X-Host. Beheben Sie dies und wiederholen Sie den Neustart von VMware-Diensten.

  • Auf OS X Host: Starten Sie VMware und den Linux Gast VM.

  • Überprüfen Sie unter Linux-Gast Auf der Gast-VM, ob die Einstellungen wie erwartet sind:

    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$
    
  • Unter Linux Guest: Überprüfen Sie, ob die Außenwelt erreichbar ist:

    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$
    
  • Auf OS X Host: Fügen Sie der Datei hosts eine Zuordnung für den Hostnamen hinzu:

    OSXHost$cd /etc
    OSXHost$sudo emacs hosts
    

    Fügen Sie am Ende der Hosts-Datei eine Zeile mit dem Hostnamen des Linux-Gastes und der oben zugewiesenen IP-Adresse hinzu.

    192.168.213.2   serpents-hold
    
  • Auf OS X Host: Datei speichern und emacs beenden.

  • Unter OS X Host: Testen Sie, ob der Linux-Gast über den Hostnamen erreichbar ist:

    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$
    
 14
Author: Shannon Severance,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2010-06-20 05:14:31

Die Antwort in einem Schritt auf die ursprüngliche Frage besteht darin, diesen Befehl auszuführen:

$ sudo apt-get install libnss-mdns -

Durch die Installation dieses Pakets sollte die Funktion sofort aktiviert werden. Sie können dann unter your-vm-hostname.local zu Ihrer VM gelangen. Dies funktioniert nur innerhalb des lokalen Netzwerks der VM, was davon abhängt, wie Sie es in Ihrer Virtualisierungssoftware konfiguriert haben.

Diese Funktion wird von Apple Bonjour und von allen anderen Zeroconf genannt. Es ist in OS X und iOS integriert. Der einfachste Weg, es unter Windows zu bekommen, ist iTunes für Windows zu installieren.

 9
Author: hashemi,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2016-04-12 14:31:46

Sie können zeroconf mit Avahi konfigurieren, wodurch sich der Client in einem Netzwerk ohne DNS-Registrierung identifizieren kann.

 3
Author: Jon Lasser,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2010-01-20 23:58:30

Angenommen, Sie möchten sich nur über eine Befehlszeile anmelden, erstellen Sie eine ssh config - Datei. ich mache so etwas für meine vm.

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

Dann kann ich

mac-box:~ ssh linux-box
 2
Author: yanokwa,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2010-02-26 15:43:32

Wenn Sie NAT verwenden, wird möglicherweise versucht, sich bei DNS-Servern zu registrieren, jedoch auf anderen Computern als dem Host ist die IP-Adresse dieselbe wie auf Ihren Computern und kann einige Probleme verursachen.

Ich würde empfehlen, dass Sie zu Bridged Networking wechseln, da dies ihm seine eigene IP-Adresse gibt und auf jedem Computer wie jeder andere Computer im Netzwerk aussieht und sich anfühlt. Wenn Sie alle IP-Einstellungen korrekt eingerichtet haben (oder DHCP verwenden), sollte es sich automatisch registrieren und Sie sollten kein Problem haben alles auf einem beliebigen Port über IP oder Hostnamen tun.

 1
Author: William Hilsum,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2009-11-18 16:30:27