fragen stichworte

Es kann keine Kommunikation zwischen zwei VMs auf demselben physischen Computer mit NAT-IP-Adressierung erfolgen

Ich habe eine physische Maschine, darauf befinden sich 2 virtuelle Maschinen. Eine der VM ist die Anwendungsmaschine, eine andere ist die Datenbankmaschine. Alle laufen unter Windows XP.

Ich verwende Sun Virtual Box zu Virtualisierungszwecken.

Ich stelle fest, dass die IP-Adresse auf beiden virtuellen Maschinen genau gleich ist.

Das Problem dabei ist, dass ich mit MySQL Administrator von meiner Anwendungsmaschine aus keine Verbindung zur Datenbankmaschine herstellen kann, da ich die IP-Adresse des Server-Hosts angeben muss, was in diesem Fall genau derselbe ist sowohl db maschine als auch applikationsmaschine!

Ich versuche auch, die Hamachi-Adresse zu verwenden (da sich die Hamachi-Adresse für verschiedene VMs unterscheidet), aber ich bekomme immer das Problem "Ich kann keine Verbindung herstellen", obwohl ich von einer VM aus die Hamachi-Adresse einer anderen VM anpingen kann.

Haben Sie eine Idee, wie Sie das lösen können?

Bearbeiten: Dave hat eine richtige Antwort. Hier finden Sie die Anweisung zum Konfigurieren der Sun Virtual Box 2.2-Bridged-Verbindung.

antworten

Beide virtuellen Maschinen befinden sich hinter dem VirtualBox-NAT und sind für uns nicht sichtbar. Sie müssen die virtuellen Maschinen für die Verwendung des Bridged-Netzwerks konfigurieren, damit sie eine IP in Ihrem Netzwerk erhalten können.

Überprüfen Sie, ob

  • Virtual Box ermöglicht Verbindungen zwischen den beiden VMs - dies scheint bereits der Fall zu sein, da Sie sagen, dass sie sich gegenseitig pingen können.
  • der Port auf dem mysql-machine ist mit "telnet mysqlmachine 3306" oder "nmap mysqymachine -p 3306" geöffnet - dies zeigt an, ob eine Firewall den Zugriff blockiert.
  • mysql bindet sich an die öffentliche IP-Adresse des Rechners. Soweit ich mich erinnere, bindet er möglicherweise nur an localhost und ist nicht im Netzwerk verfügbar (was eine gute Sache ist).
  • Sie haben dem Benutzer, den Sie verbinden, die richtigen Berechtigungen erteilt. Dies gilt auch für die Benennung der Maschine, von der aus Sie eine Verbindung herstellen. Ich habe gelernt, dass "GRANT ... ON ... TO 'Benutzername' @ 'localhost' ..." möglicherweise fehlschlägt, wenn sich mysql beschwert, dass "Benutzer" Benutzername "keine Verbindung von '127.0.0.1' herstellen darf." - In einer vernetzten Situation haben Sie möglicherweise ähnliche Probleme. Beachten Sie, dass es dort einen Stringvergleich gibt, daher entspricht 'localhost' nicht '127.0.0.1'

Bearbeiten: Direkt nach dem Posten habe ich gesehen, dass Sie sagen, dass beide IP-Adressen gleich sind. Die Hauptprobleme scheinen daher in Virtual Box zu liegen - überprüfen Sie die Netzwerkkonfiguration dort. Jeder Computer versucht, sich selbst zu kontaktieren, wenn beide ihre IP-Adresse für sich auflösen.

Wenn Sie unterschiedliche IP-Adressen haben und den anderen Computer anpingen können, fahren Sie mit der obigen Liste fort. Ich habe nicht mit Hamachi gearbeitet, daher kann ich die Optionen, die Sie dort haben, nicht kommentieren. Möglicherweise möchten Sie jedoch die Telnet- oder nmap-Optionen mit der Hamachi-Adresse ausprobieren.