Гостевая сеть Virtualbox недоступна

Гостевая сеть Virtualbox недоступна

Я использую один и тот же образ ova как на локальной машине, так и на другом headless-сервере, который виртуализирован на каком-то сервере vsphere esxi.
При запуске виртуальной машины на локальной машине я могу получить доступ к SSH-серверу гостя через NAT (localhost:2222), а также через host-only-network (192.168.56.111:22).
При запуске гостя на headless-сервере я не могу выполнить ping машины с использованием host-only-network. Когда я пытаюсь использовать NAT, порт 2222 открыт на headless-сервере, но соединение 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 показывает это с одинаковыми значениями для моей локальной машины и headless-сервера:

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 показывает это с одинаковыми значениями для моей локальной машины и headless-сервера:

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 на моей локальной машине и на headless-сервере показывает интерфейс vboxnet0 с одинаковыми значениями.

У меня нет идей, почему я не могу получить доступ к гостевому SSH-серверу на headless-сервере. Помощь будет очень кстати.

решение1

В общем, используйте NAT в VirtualBox только для исходящих сессий. Входящие сессии вызывают проблемы. Однако вы можете создать правила переадресации портов, например:

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

Сеть host-only, как и говорится, host-only. Это означает, что она доступна на хосте, но не в других местах. Поэтому у вас есть два варианта:

  • используйте мостовой адаптер вместо хост-только. Мостовые адаптеры доступны из внешнего мира.
  • Создайте мост (в Linux с помощью bridge-utils) между

Я бы использовал мостовой адаптер.

--РЕДАКТИРОВАТЬ--

Мостовой адаптер — это как раз то, что помещает OVA в сеть. Если ваша сеть использует dhcp, вы должны увидеть это в журнале вашего dhcp-sever. Или, возможно, вы могли бы использовать nmapдля поиска адреса.

В качестве альтернативы используйте второй адаптер в качестве мостового адаптера, подключитесь к хосту по ssh и попробуйте определить, какой порт слушает сервер.netstat -an

Связанный контент