Направляйте трафик из локальной сети на адаптер хоста 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

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, а не здравый смысл. Слова были введены в заблуждение, поэтому я указал на таблицу в документации.
— Марсело Роберто Хименес
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.