Перенаправляйте трафік з локальної мережі до адаптера, що відповідає лише хосту 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, що дозволяє отримати доступ до wifi.

Який маршрут або конфігурацію мережі я міг бракувати?

Також я міг зрозуміти, що пакет отримує мого гостя, але гість не зможе відповісти, проте 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
Будь-яка причина, що ви не можете просто налаштувати мережевий адаптер вашого VM для мостування замість лише хоста? Ви ефективно отримуєте таку саму поведінку.
важкий

Так само? Адаптер тільки для хоста - це окрема мережа, тоді як мостовий AFAIK прив’яже хоста до моєї реальної мережі. Що незручно, тому що IP під час зміни з офісу, додому тощо
kkx

Я хлопець з VMware, але, як згадував @heavyd, ви повинні мати змогу налаштувати приватну локальну мережу або лише "хост" з Virtual Box, як ви можете з VMware Fusion або Workstation.
SaxDaddy

@SaxDaddy Це саме те, що я використовую, але намагаюся прокласти трафік до нього для тесту. Однак, як я сказав, не працюю так, як слід / хоче (або це насправді дуже добре справляється з роботою). Здається, що адаптер, призначений лише для хостів, випадає із зовнішнього трафіку, навіть якщо маршрутизація правильна або щось в MacOSX не спрямовує трафік належним чином.
kkx

4
Я вражений тим, що ніхто не помітив помилки в цій конфігурації, оскільки це настільки очевидно: у команді add route було налаштована мережа, що використовується лише для хостів, для використання в якості шлюзу ПК поза мережею, що використовується лише для хоста. Це, можливо, не спрацює. Правильний маршрут повинен був використовувати як gw IP-адресу інтерфейсу mac на адаптері лише для хоста, а не його локальну локальну мережу. Є й інші помилки (чому lo має адресу 192.168.59.3 в таблиці маршрутизації ???), але при помилці в маршруті додавання прогресу взагалі не можливе. Цю записку я залишаю для читачів, які не мають рівних зусиль.
MariusMatutiae

Відповіді:


1

Режим мережевого доступу лише для господарів не може використовуватися для маршрутизації трафіку з локальної мережі до хостів VM. Вам слід скористатись мостовою мережею, 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.