Подключение коммутатора к сети, поддерживающей только хост виртуальной машины

Подключение коммутатора к сети, поддерживающей только хост виртуальной машины

У меня есть MacBook с Mac OS High Sierra. На нем размещены три виртуальные машины с Ubuntu 16.04. У всех виртуальных машин включены два адаптера: NAT и Host-Only. Mac подключен к другому хосту через коммутатор. Виртуальные машины координируют работу и предоставляют услугу, которая, как мне хотелось бы, была доступна хосту на другом конце коммутатора, подключенного к моему ноутбуку.

                                     en8                                         
 192.168.57.0     192.168.57.200     192.168.57.100   /---|VM1| 192.168.56.3
|------------|   /--------------\   |--------------| /
|   Host1    |--|     switch     |--|    Host2     |------|VM2| 192.168.56.4
|------------|   \--------------/   |--------------| \
                                     192.168.56.1     \---|VM3| 192.168.56.5
                                     vboxnet0

Хосты находятся в подсети 192.168.57.0\24. Ноутбук подключен к коммутатору через интерфейс en8с IP-адресом 192.168.57.100. Ноутбук и коммутатор могут пинговать друг друга.

Mac OS подключена к виртуальным машинам через шлюз 192.168.56.1на интерфейсе vboxnet0. Виртуальные машины могут пинговать друг друга и свой хост. Хост может взаимодействовать с каждой виртуальной машиной.

Я хочу, чтобы виртуальные машины могли управлять коммутатором, поэтому мне нужно настроить правило маршрутизации для соединения трафика от коммутатора к виртуальным машинам и обратно. Я хочу использовать свой Mac как маршрутизатор, чтобы сделать это.

Я попробовал последовать примеру Джеффа Уоррена:Virtualbox: подключение сетей Host-Only на отдельных хостах, но в моем случае это не работает.

В частности, я попытался...

sudo route -n add -net 192.168.56.0/24  192.168.57.100

но это не сработало. Я получил сообщение о том, что файл уже существует.

Буду очень признателен за любые идеи о том, как можно настроить мой коммутатор из виртуальных машин. Спасибо.

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

решение1

Предположим, что интерфейсы 192.168.56.0/24 на виртуальных машинах являются только хостовыми (т.е. не NAT).

Вам не нужны маршруты на вашем MAC (host2), потому что это единственный, который имеет прямое подключение к обоим /24. Вам нужно, чтобы ваши виртуальные машины шли этим путем, чтобы достичь коммутатора, и чтобы коммутатор шел этим путем, чтобы добраться до виртуальных машин.

На виртуальных машинах команда «ip route add 192.168.57.0/24 via 192.168.56.1» должна сработать.

На коммутаторе... какой бы синтаксис ни требовался, возможно, для того, чтобы сделать host2 шлюзом по умолчанию (@192.168.57.100)

Связанный контент