Если я настрою свою виртуальную машину так, чтобы она находилась в другой подсети, нежели хост, есть ли способ сделать хост доступным из виртуальной машины?
Я не ожидаю, что хост будет обрабатывать пакеты, я просто хочу узнать, есть ли в этом сценарии способ заставить пакеты с моей виртуальной машины достигать моего хоста?
Настройка: виртуальная машина CentOS 6.5, работающая поверх хоста Windows 7 в Oracle VirtualBox.
Я только что попробовал следующий сценарий:
- Назначьте статический IP-адрес из другой подсети мостовому сетевому адаптеру моей виртуальной машины.
- Выполните пинг первого адреса этой подсети с виртуальной машины.
Пинг доходит до моего хоста Windows.(проверено на wireshark). Нонетдругой пинг достигает моего хоста Windows. Есть ли какое-то решение для этого?
решение1
На основе ваших предложений я бы предложил что-то вроде этого:
┌──────┐ ┌────────┐ ┌────────┐
│ HOST ├── VMnet0 ──┤ GUEST1 ├── VMnet1 ──┤ GUEST2 │
└──────┘ └────────┘ └────────┘
GUEST1
может иметь любой доступ к Интернету через VMnet0, например Bridged / Host-only / NAT. Но я предпочитаю Host-only, так как оба HOST
видят GUEST1
друг друга (имеют разные IP-адреса), и это намного эффективнее, чем Bridged. Host-only также может быть соединен мостом с любым сетевым интерфейсом с помощью механизма Windows Bridge.
Вы можете предоставить Интернет с помощью ICS, но вам придется отключить встроенный DHCP-сервер VMnet Host-only по умолчанию. Вы можете отключить его с помощью следующих команд:
VBoxManage.exe list dhcpservers
VBoxManage.exe dhcpserver remove --netname "HostInterfaceNetworking-VirtualBox Host-Only Ethernet Adapter"
GUEST2
получает доступ к Интернету через VMnet1, маршрутизируемый GUEST1
. Я думаю, что это должно быть Host-only с отключенным DHCP.