51

У меня есть хост Mac и гость VirtualBox Linux, в настоящее время использующий мостовой режим.

Мне нужно иметь возможность легко SSH в гостевой от хоста. Было бы неплохо использовать имя хоста, но также не подойдет и неизменный IP-адрес (в настоящее время IP-адрес меняется с каждой новой сетью, к которой я присоединяюсь, и имя хоста никогда не работает).

Мне также нужен доступ в Интернет от гостя.

Другие машины в сети не нуждаются в доступе к гостю.

Каков наилучший способ настройки сети VirtualBox?

4 ответа4

35

Сначала вам нужно будет создать интерфейс vboxnet0 .

VirtualBox> Файл> Настройки> Сеть> Хост-сети> Добавить (вы получите vboxnet0)

Затем запустите это на хост-машине. Вы увидите новый интерфейс vboxnet0 .

ifconfig

Завершите работу своей виртуальной машины и сделайте:

VM's Settings > System > check "Enable I/O APIC."
VM's Settings > Network > Adapter 2 > host-only vboxnet0

Запустите ВМ, на гостевой запуск

ifconfig

и проверь ip

Проверьте эти ссылки:

  1. https://forums.virtualbox.org/viewtopic.php?f=8&t=40076
  2. http://www.wiredrevolution.com/virtualbox/setup-ssh-access-between-virtualbox-host-and-guest-vms

Существует также решение для NAT, но я не проверял его.

Настройка переадресации портов с NAT на вашем хост-компьютере

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

подключитесь к Linux через порт 2222 хоста

ssh -l -p 2222 localhost

Для сети только с хостом со статическим ip проверьте это:

https://stackoverflow.com/questions/5906441/how-to-ssh-to-a-virtualbox-guest-externally-through-a-host/27152153#27152153

Он предназначен для Solaris 10 и Ubuntu 16.04, но его легко адаптировать.

34

Между двумя компьютерами Linux (32-битным хостом Ubuntu и 64-битной виртуальной машиной Ubuntu) мне удалось заставить ssh работать с использованием этой переадресации портов:

Затем с вашей хост-системы запустите

ssh -p 5679 127.0.0.1

Замените 5679 на "Порт хоста", введенный в Правила переадресации портов.

2

Если вы не хотите возиться с переадресацией портов, вы можете настроить адаптер только для хоста, который отображается как интерфейс хоста, а затем добавить IP-адрес в этой подсети в гостевой системе.

шаги:

  • Создайте сеть только для хоста в Virtualbox (GUI -> настройки -> сеть). Введите на хосте ifconfig и увидите что-то вроде vboxnet0 с inet 192.168.50.1
  • в гостевой системе добавьте IP-адрес: ifconfig eth1 192.168.50.101 netmask 255.255.255.0 up
  • на хосте выполните ssh root@192.168.50.101

Дальнейшее чтение:

1

Возможно, вам лучше настроить виртуальную сетевую карту в режиме NAT, если вы немного двигаетесь. Используя NAT, хост (ваш компьютер) становится DHCP-сервером и маршрутизатором для частной сети, созданной для ваших гостевых ОС. Я уверен, что вы можете установить статический адрес, используя NAT также ...

Тем не менее, я думаю, что лучшее решение - выяснить, почему разрешение имен не работает для вашей гостевой виртуальной машины :)

https://www.virtualbox.org/manual/ch06.html#network_nat

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