
У меня получилась следующая физическая схема:
VM -> Workstation -> Router -> Internet
Я хотел бы получить следующую схему сети:
Workstation -> Router1 -> Internet
VM -> Router2 -> Internet
Где Router1
и Router2
являются одним и тем же физическим маршрутизатором, а виртуальная машина запущена на рабочей станции. Пакеты, отправляемые с рабочей станции на виртуальную машину, должны следовать по этому пути:
Workstation -> Router1 -> Internet -> Router2 -> VM
таким образом, что виртуальная машина видит публичный IP-адрес рабочей станции вместо ее частного IP-адреса.Можно ли это сделать?
Фон
Я тестируюSTUN-серверзапуск на виртуальной машине. Тест требует, чтобы виртуальная машина нашла публичный IP-адрес рабочей станции (без помощи внешнего сервера).
решение1
ГдеRouter1 и Router2 — это один и тот же физический маршрутизатор.и виртуальная машина запущена на рабочей станции. Пакеты, идущие от рабочей станции к виртуальной машине, должны следовать по этому путиРабочая станция -> Маршрутизатор1 -> Интернет -> Маршрутизатор2 -> ВМ
Это просто невозможно, используя любой стандартный маршрутизатор. Маршрутизатор не будет направлять пакеты в Интернет, если пакет предназначен для сети, к которой он напрямую подключен. Так что единственное, что вы можете сделать, это что-то вроде этого. Рабочая станция -> Маршрутизатор1 -> ВМ.
Вероятно, вы сможете настроить сеть, в которой сможете что-то тестировать, но для этого потребуется более сложная настройка, чем вы, вероятно, хотели/ожидали.
Поскольку вы используете Vmware, вы можете настроить несколько виртуальных сетей, и по крайней мере для ВМ для тестирования. Вам нужно будет создать кучу. Я думаю, я бы создал такие сети.
ВМ
- маршрутизатор 1 (подключает рабочую станцию 1 к локальной сети)
- два интерфейса один на VMnet0 и один на VMnet3
- маршрутизатор 2 (подключает рабочую станцию 2 к локальной сети)
- два интерфейса один на VMnet0 и один на VMnet4
- рабочая станция 1 (клиент или сервер для тестирования)
- один интерфейс на VMnet3
- рабочая станция 2 (клиент или сервер для тестирования)
- один интерфейс на VMnet4
Сети:
- VMnet0 - это ваша существующая мостовая сеть для тестирования, считайте ее внешней сетью.
- VMnet3 — только хост — DHCP отключен — подключает маршрутизатор 1 к рабочей станции 1
- VMnet4 — только хост — DHCP отключен — подключает маршрутизатор 2 к рабочей станции 2
Что касается маршрутизаторов, вы можете использовать что-то простое, например, версию x86 DD-WRT или pfsense, чтобы получить довольно простой в использовании маршрутизатор. Для вашего тестирования вы, возможно, захотите попробовать несколько разных маршрутизаторов.
При такой настройке сети пакеты между двумя тестовыми рабочими станциями будут передаваться следующим образом:
workstation 2 -> vmnet4 -> router 2 -> vmnet0 -> router 1 -> vmnet3 -> workstation 3