Virtualbox Guest 网络无法访问

Virtualbox Guest 网络无法访问

我在本地计算机和另一台无头服务器上使用相同的 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

主机专用网络,顾名思义,就是主机专用网络。这意味着它只能在主机上使用,但在其他地方不可用。因此,您有两个选择:

  • 使用桥接适配器而不是主机专用适配器。桥接适配器可从外部世界使用。
  • bridge-utils在Linux上创建桥梁

我会使用桥接适配器。

- 编辑 -

桥接适配器就像将 OVA 放在网络上一样。如果您的网络使用 dhcp,您应该会在 dhcp-server 的日志中看到它。或者,您可能使用它nmap来查找地址。

或者,使用第二个适配器作为桥接适配器,通过 ssh 进入主机并尝试确定服务器监听哪个端口netstat -an

相关内容