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

У меня есть 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, Виртуальные машины могут пинговать друг друга и их хост. Хост может общаться с каждой виртуальной машиной.

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

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

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

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 через 192.168.56.1" должен помочь.

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

Другие вопросы по тегам