Назад | Перейти на главную страницу

Могу ли я установить мост между двумя разными сетями?

У меня есть виртуальная машина VirtualBox, в которой есть:

eth0: 10.0.2.15/24
default-gateway: 10.0.2.2/24

В этой виртуальной машине у меня есть 2 контейнера LXC (т.е. две другие виртуальные машины)

VM1 - eth0: 10.50.50.50/16 (connects to br0)
VM2 - eth0: 10.50.50.51/16 (connects to br0)

На экземпляре виртуального бокса я попытался настроить мост br0:

br0: 10.50.0.1/16 -> eth0

Но эта настройка не работает, как только я подключаю мост к eth0, eth0 больше не может пинговать маршрутизатор. Я не понимаю, какие правила я нарушаю, пытаясь настроить другую сеть на стороне br0 моста, чем на стороне eth0.

Я думал, что трафик с одной стороны просто реплицируется на другую. Таким образом, трафик на хосте virtualbox попадет в eth0 и станет шлюзом по умолчанию. И трафик в сети контейнеров LXC попадет на br0, перейдет на eth0 и станет шлюзом по умолчанию.


Где глупость в моих мыслях?

Я предполагаю, что проблема в том, что вы пытаетесь соединить две разные подсети. Eth0 теряет IP-адрес, когда вы подключаете его к мосту, поэтому единственный адрес, который у вас остается, - 10.50.0.1/16. Отсюда невозможность пинговать gw. Если вы хотите, чтобы ваши виртуальные машины находились в другой подсети, возможно, вам следует рассмотреть возможность маршрутизации или NAT вместо мостового соединения.