У меня есть 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 ответ1

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)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .