Virtualbox 訪客網路無法存取

Virtualbox 訪客網路無法存取

我在本機電腦和另一台無頭伺服器上使用相同的 ova 映像,該伺服器在某些 vsphere esxi 伺服器上虛擬化。
在本機上執行 VM 時,我可以透過 NAT (localhost:2222) 以及僅主機網路 (192.168.56.111:22) 存取來賓的 SSH 伺服器。
在無頭伺服器上執行來賓時,我無法使用僅主機網路 ping 機器。當我嘗試使用 NAT 時,無頭伺服器上的連接埠 2222 打開,但 ssh 連線逾時,因為沒有回傳任何內容。

vboxmanage showvminfo 顯示來賓網路設定的以下內容(本機電腦和無頭伺服器上的輸出相同):

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 顯示了這一點,我的本機電腦和無頭伺服器具有相同的值:

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

vboxmanage list natnets 顯示了這一點,我的本機電腦和無頭伺服器具有相同的值:

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 顯示具有相同值的 vboxnet0 介面。

我不知道為什麼我無法在無頭伺服器上存取訪客的 SSH 伺服器,非常感謝您的幫助。

答案1

一般來說,VirtualBox 中的 NAT 僅用於傳出會話。即將到來的會議很麻煩。但是,您可以建立連接埠轉送規則,如下所示:

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

顧名思義,僅主機網路就是僅主機。這意味著它在主機上可用,但在其他地方不可用。所以你有兩個選擇:

  • 使用橋接適配器而不是僅主機適配器。橋接適配器可從外部世界獲得。
  • 在之間建立一個橋樑(在 Linux 上使用bridge-utils

我會使用橋接適配器。

- 編輯 -

橋接適配器就像將 OVA 放在網路上一樣。如果您的網路使用 dhcp,您應該在 dhcp 伺服器的日誌中看到它。或者,您可能可以用來nmap查找地址。

或者,使用第二個適配器作為橋接適配器,透過 ssh 進入主機並嘗試確定伺服器偵聽的連接埠netstat -an

相關內容