У меня есть 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
но это не сработало. Я получил сообщение о том, что файл уже существует.
Любые идеи о том, как я могу сделать возможным настроить мой коммутатор из виртуальных машин, очень ценятся. Спасибо.
Я пробовал другие подходы, например, размещение виртуальных машин в одной логической подсети с коммутаторами. Однако когда я сделал это, я потерял связь между виртуальными машинами и их хостом. Я также попытался использовать мостовую сеть вместо хоста, но это тоже не сработало.