У меня есть следующая физическая раскладка:

VM -> Workstation -> Router -> Internet

Я хотел бы получить следующую сетевую разметку:

Workstation -> Router1 -> Internet
VM          -> Router2 -> Internet

Где Router1 и Router2 - это один и тот же физический маршрутизатор, а виртуальная машина работает на рабочей станции. Пакеты, отправляемые с рабочей станции на виртуальную машину, должны следовать по этому пути:

Workstation -> Router1 -> Internet -> Router2 -> VM

такой, что виртуальная машина видит общедоступный IP-адрес рабочей станции вместо своего частного IP-адреса. Можно ли это сделать?


Фон

Я тестирую сервер STUN, работающий на виртуальной машине. Тест требует, чтобы виртуальная машина обнаружила общедоступный IP-адрес рабочей станции (без помощи внешнего сервера).

1 ответ1

0

Где 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

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