Направляйте трафик из локальной сети на адаптер хоста VirtualBox

9

Для теста мне нужно разрешить маршрутизацию от моей локальной сети до гостя внутри VirtualBox. У гостя уже есть внешний доступ.

До сих пор я включил переадресацию ip на свою локальную машину (OSX 10.9) и добавил маршрут к сети только для хоста на машине в локальной сети.

route add -net 192.168.59.0 netmask 255.255.255.0 gw 192.168.0.107
sysctl -w net.ipv4.ip_forward=1

Сеть выглядит так.

Local network 192.168.0.104 -> [Wireless 192.168.0.0/24] -> MacOSX 192.168.0.107 (Wifi) & 192.168.59.3 (VboxHost) -> [VBox 192.168.59/24] -> 192.168.59.103

Если VirtualBox намеренно отбрасывает пакет извне, это должно работать.

Моей целью было бы 192.168.0.104подключиться к 192.168.59.103. Пока что я могу только пинговать 192.168.59.3от него.

Кроме того, у моего гостя уже есть другой адаптер с gw по умолчанию, который разрешает доступ к Wi-Fi.

Какой маршрут или конфигурацию сети я могу пропустить?

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

Таблица маршрутизации на моем Mac

Destination        Gateway            Flags        Refs      Use   Netif Expire
default            192.168.0.1        UGSc           42        1     en0
127                127.0.0.1          UCS             0        0     lo0
127.0.0.1          127.0.0.1          UH              6  2943735     lo0
169.254            link#4             UCS             0        0     en0
192.168.0          link#4             UCS             3        0     en0
192.168.0.1        9c:d6:43:c8:cf:e8  UHLWIir        43    21647     en0   1199
192.168.0.104      8:0:27:c2:fc:68    UHLWI           0        7     en0   1068
192.168.0.106      0:15:99:77:73:ed   UHLWI           0       82     en0    845
192.168.0.107      127.0.0.1          UHS             2     9114     lo0
192.168.59         link#9             UC              3        0 vboxnet
192.168.59.3       a:0:27:0:0:0       UHLWI           0    69759     lo0
192.168.59.103     link#9             UHRLWIi         2    31866 vboxnet     1
kkx
источник
3
По какой-то причине вы не можете просто настроить сетевой адаптер вашей виртуальной машины, чтобы он был соединен мостом вместо хоста? Вы эффективно получаете такое же поведение.
тяжело
Такой же? Адаптер только для хоста - это отдельная сеть, в то время как соединенный мост AFAIK будет связывать хост с моей реальной сетью. Что неудобно, потому что IP пока меняют с офиса, на дом и т. Д.
kkx
Я парень VMware, но, как упоминал @heavyd, вы должны иметь возможность настроить частную или "только хост" локальную сеть с Virtual Box так же, как вы можете использовать VMware Fusion или Workstation.
SaxDaddy
@SaxDaddy Это именно то, что я использую, но пытаюсь направить трафик на него для теста. Однако, как я сказал, не работает так, как должен / хочет (или на самом деле делает слишком хорошую работу). Адаптер только для хоста, кажется, отбрасывает внешний трафик, даже если маршрутизация правильная или что-то в MacOSX не маршрутизирует трафик должным образом.
kkx
4
Я изумлен , что никто не заметил ошибку в этой конфигурации, так как это так очевидно: в маршруте надстройке команды, принимающая только сеть была настроена для использования в качестве шлюза на компьютер за пределами принимающих только сетей. Это не может работать. Правильный маршрут должен был использовать в качестве gw IP-адрес интерфейса Mac на адаптере только для хоста, а не в его локальной сети по умолчанию. Есть и другие ошибки (почему вот есть адрес 192.168.59.3 в таблице маршрутизации ???) , но с ошибкой в маршруте не добавить никакого прогресса возможно. Я оставляю эту записку для читателей.
MariusMatutiae

Ответы:

1

Режим сети только для хоста не может использоваться для маршрутизации трафика из локальной сети на хосты виртуальных машин. Вы должны использовать сеть Bridged, NAT или NAT. С последними двумя вам нужен порт-форвард.

Ссылки:

[1] https://www.virtualbox.org/manual/ch06.html#networkingmodes (см. Таблицу в конце раздела 6.2) [2] https://www.virtualbox.org/manual/ch06.html# network_hostonly

Марсело Роберто Хименес
источник
Извините, это не правда. Я думаю, что документация может вводить в заблуждение. Сеть только с хостом похожа на независимую локальную сеть, но локальные сети могут иметь шлюзы, и ничто не мешает хосту (или даже одному из гостей) выступать в качестве маршрутизатора. Я делаю это все время на LInux. Я не понимаю, почему это не должно быть возможно на OS-X. Соединение и маршрутизация - это две разные вещи.
Родни
Обратите внимание, что мы используем определенные термины Virtualbox, а не здравый смысл. Слова были введены в заблуждение, поэтому я указал на таблицу в документации.
Марсело Роберто Хименес