Virtualbox-Gastnetzwerk nicht erreichbar

Virtualbox-Gastnetzwerk nicht erreichbar

Ich verwende dasselbe OVA-Image sowohl auf meinem lokalen Computer als auch auf einem anderen Headless-Server, der auf einem vsphere esxi-Server virtualisiert ist.
Wenn ich die VM auf meinem lokalen Computer ausführe, kann ich auf den SSH-Server des Gasts über NAT (localhost:2222) sowie über das Host-Only-Netzwerk (192.168.56.111:22) zugreifen.
Wenn ich den Gast auf dem Headless-Server ausführe, kann ich den Computer nicht über das Host-Only-Netzwerk anpingen. Wenn ich versuche, das NAT zu verwenden, ist der Port 2222 auf dem Headless-Server geöffnet, aber die SSH-Verbindung läuft ab, da nichts zurückgegeben wird.

vboxmanage showvminfo zeigt Folgendes für die Netzwerkeinstellungen des Gasts an (dieselbe Ausgabe auf dem lokalen Computer und dem Headless-Server):

NIC 1:           MAC: 080027788420, Attachment: NAT, Cable connected: on, Trace: off (file: none), Type: 82540EM, Reported speed: 0 Mbps, Boot priority: 0, Promisc Policy: deny, Bandwidth group: none
NIC 1 Settings:  MTU: 0, Socket (send: 64, receive: 64), TCP Window (send:64, receive: 64)
NIC 1 Rule(0):   name = Rule 1, protocol = tcp, host ip = , host port = 2222, guest ip = , guest port = 22
NIC 2:           MAC: 080027FBC41B, Attachment: Host-only Interface 'vboxnet0', Cable connected: on, Trace: off (file: none), Type: 82540EM, Reported speed: 0 Mbps, Boot priority: 0, Promisc Policy: deny, Bandwidth group: none

vboxmanage list hostonlyifs zeigt dies mit den gleichen Werten für meine lokale Maschine und den Headless-Server:

Name:            vboxnet0
GUID:            786f6276-656e-4074-8000-0a0027000000
DHCP:            Disabled
IPAddress:       192.168.56.1
NetworkMask:     255.255.255.0
IPV6Address:     fe80::800:27ff:fe00:0
IPV6NetworkMaskPrefixLength: 64
HardwareAddress: 0a:00:27:00:00:00
MediumType:      Ethernet
Wireless:        No
Status:          Up
VBoxNetworkName: HostInterfaceNetworking-vboxnet0

Die vboxmanage-Liste „natnets“ zeigt Folgendes mit den gleichen Werten für meinen lokalen Computer und den Headless-Server:

NetworkName:    NatNetwork
IP:             10.0.2.1
Network:        10.0.2.0/24
IPv6 Enabled:   No
IPv6 Prefix:    fd17:625c:f037:2::/64
DHCP Enabled:   Yes
Enabled:        Yes
loopback mappings (ipv4)
    127.0.0.1=2

ifconfig auf meinem lokalen Computer und auf dem Headless-Server zeigt die vboxnet0-Schnittstelle mit denselben Werten an.

Ich weiß nicht, warum ich nicht auf den SSH-Server des Gastes auf dem Headless-Server zugreifen kann. Für Hilfe wäre ich sehr dankbar.

Antwort1

Verwenden Sie NAT in VirtualBox im Allgemeinen nur für ausgehende Sitzungen. Eingehende Sitzungen sind problematisch. Sie können jedoch Portweiterleitungsregeln wie diese erstellen:

VBoxManage setextradata VMNameHere "VBoxInternal/Devices/pcnet/0/LUN#0/Config/guestssh/Protocol" TCP
VBoxManage setextradata VMNameHere "VBoxInternal/Devices/pcnet/0/LUN#0/Config/guestssh/GuestPort" 22
VBoxManage setextradata VMNameHere "VBoxInternal/Devices/pcnet/0/LUN#0/Config/guestssh/HostPort" 2222

Das Host-Only-Netzwerk ist, wie der Name schon sagt, Host-Only. Das heißt, es ist auf dem Host verfügbar, aber nicht anderswo. Sie haben also zwei Möglichkeiten:

  • Verwenden Sie einen Bridged-Adapter anstelle eines Host-Only-Adapters. Bridged-Adapter sind von der Außenwelt aus verfügbar.
  • Erstellen Sie eine Brücke (unter Linux mit bridge-utils) zwischen

Ich würde einen Brückenadapter verwenden.

--BEARBEITEN--

Der überbrückte Adapter funktioniert genauso, als würde man die OVA ins Netzwerk stellen. Wenn Ihr Netzwerk DHCP verwendet, sollten Sie es im Protokoll Ihres DHCP-Servers sehen. Oder Sie können möglicherweise verwenden, nmapum die Adresse zu finden.

Alternativ können Sie einen zweiten Adapter als Bridged Adapter verwenden, sich per SSH mit dem Host verbinden und versuchen herauszufinden, auf welchem ​​Port der Server lauscht.netstat -an

verwandte Informationen