
Я пытаюсь использовать виртуальную машину для создания моста между внутренней сетью VirtualBox и сетью моего хоста.
Цель этого — иметь возможность устанавливать соединения брандмауэра без необходимости настраивать гостей на использование определенного шлюза или прокси. Это часть некоторого автоматизированного тестирования, которое я провожу.
Моя текущая установка выглядит так:
{Internet} <=> Host <=VBox Bridged-eth0=> Bridge VM <=eth1-Internal Network=> Internal VM
Ubuntu 16.04 — это операционная система на хосте и виртуальных машинах.
Bridge VM
имеет eth0
и eth1
. Эти два интерфейса соединены мостом с помощью bridge-utils.Мост работает, когда я использую NAT вместо сетевого моста.. Под этим я подразумеваю, что я могу пинговать Google из Internal VM
when eth0
is NAT
, но не когда it is Bridged
. В обоих режимах я могу получить IP с DHCP, поэтому (некоторые?) трансляции, похоже, работают, но разрешение arp не работает (команда arp возвращает пустую через некоторое время, route не знает mac шлюза).
Может ли кто-нибудь объяснить, почему это происходит? Я предполагаю, что это какое-то ограничение программного сетевого устройства VirtualBox? Я надеюсь, что есть способ обойти это, поскольку мне нужно иметь возможность доступа ко всем виртуальным машинам с моего хоста, при этом все еще имея возможность блокировать их соединения с помощью этого Bridge VM
прозрачного брандмауэра.
Спасибо.
решение1
Я изменил режим promiscuous на "Allow All" на всех адаптерах, и теперь это работает. Не знаю, почему я не попробовал это в первый раз; сон творит чудеса.