1

Как настроить гостевую систему Ubuntu на использование статического IP-адреса, видимого для хоста OS X, и обеспечить, чтобы статический IP-адрес не зависел от конфигурации сети хоста? Ранее я использовал мостовую сеть для своего гостя, но я постоянно перемещаю свой хост между сетями, поэтому гостевой IP-адрес всегда отличается.

Сначала я попытался установить для конфигурации гостевой сети значение NAT и переадресовать хост-порт 1022 на гостевой порт 22, чтобы я мог, как минимум, использовать ssh на фиксированный адрес (localhost:1022)

$ VBoxManage setextradata "Ubuntu Server" "VBoxInternal/Devices/e1000/0/LUN#0/Config/SSH/Protocol" "TCP"
$ VBoxManage setextradata "Ubuntu Server" "VBoxInternal/Devices/e1000/0/LUN#0/Config/SSH/GuestPort" 22
$ VBoxManage setextradata "Ubuntu Server" "VBoxInternal/Devices/e1000/0/LUN#0/Config/SSH/HostPort" 1022

Затем,

$ ssh localhost -p 1022
ssh: connect to host localhost port 1022: Connection refused

Но это не сработало (у гостя нет доступа к сети с NAT, а OS X, как вы можете видеть, отказала в соединении).

Я хотел бы общее решение, которое позволило бы мне общаться с моим гостем по фиксированному IP.

2 ответа2

0

Для начала, localhost указывает на 127.0.0.1. Эта виртуальная машина может работать на вашей машине, но она адресована отдельно от нее.

Когда вы включаете мост NAT в VirtualBox, он создает отдельный виртуальный интерфейс, который выступает в качестве «маршрутизатора» для клиентов NAT, которые вы размещаете за ним. Вы не можете подключиться к localhost, чтобы получить доступ к виртуальной машине, потому что localhost - это ваш Mac, а не виртуальная машина.

Установите гостя как NAT, затем проверьте адрес виртуальной машины изнутри. используйте этот адрес (это, скорее всего, частный адрес, 192.168.something) и попробуйте подключиться с вашего хоста.

0

Из руководства по работе с сетями VirtualBox. Я использую это для гостя Windows на NAT для удаленного рабочего стола и прекрасно работает, но я не пробовал с самого хоста.

VBoxManage modifyvm "VM name" --natpf1 "guestssh,tcp,,2222,,22"

В приведенном выше примере весь TCP-трафик, поступающий на порт 2222 на любом интерфейсе хоста, будет перенаправлен на порт 22 гостя. Имя протокола tcp является обязательным атрибутом, определяющим, какой протокол следует использовать для пересылки (также можно использовать udp). Имя guestsh носит чисто описательный характер и будет сгенерировано автоматически, если оно опущено. Число после --natpf обозначает сетевую карту, как и в других частях VBoxManage.

О, я только что понял, сколько лет было вопросу, ну, надеюсь, это поможет другим.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .