Виртуальная сетевая карта с фактическим доступом к сети

383
Francisco Zarabozo

У меня есть компьютер, Windows 7 Pro, на котором запущена программа, которая проверяет наличие 3 разных интернет-провайдеров в моей сети. Он просто пингует один и тот же хост (8.8.8.8) от каждого провайдера и предпринимает некоторые действия, когда провайдер не отвечает на этот пинг.

Для этого мне нужно настроить компьютер с отдельным подключением (отдельными сетевыми картами) для каждого интернет-провайдера. Прямо сейчас единственный способ сделать это - использовать Virtualbox и назначить 3 виртуальных сетевых адаптера этой виртуальной машине. Все они настроены как подключенные к одному физическому сетевому адаптеру, который подключен к физическому коммутатору, к которому также подключены 3 интернет-провайдера.

Итак, сейчас это пример конфигурации:

NIC 1: IP 192.168.1.1 Gateway 192.168.1.254  NIC 2: IP 192.168.2.1 Gateway 192.168.2.254  NIC 3: IP 192.168.3.1 Gateway 192.168.3.254 

Это позволяет программе запускать команды ping, связанные с конкретным адресом:

ping -S 192.168.1.1 8.8.8.8 ping -S 192.168.2.1 8.8.8.8 ping -S 192.168.3.1 8.8.8.8 

Это работает просто отлично.

Я пытаюсь заставить это работать без использования Virtualbox, на реальном компьютере, который имеет только одну физическую сетевую карту. Моей первой идеей было добавить 3 IP-адреса к этому интерфейсу вместе с 3 шлюзами. Это не работает . При этом Windows, похоже, пытается перенаправить трафик от любой из этих pingкоманд через один шлюз (независимо от того, какой показатель я для них установил), и работает только одна из 3 pingкоманд.

Поэтому я выгляжу как сумасшедший из-за какого-то собственного или стороннего решения, которое позволяет мне добавлять виртуальные сетевые карты в Windows 7, которые могут быть «соединены» так же, как Virtualbox соединяет виртуальные сетевые карты виртуальной машины с одним физическим интерфейсом. (это имеет 3 виртуальных NIC, которые имеют фактический доступ к сети, который имеет физический NIC, не зависящий от какой-либо маршрутизации от этого физического NIC и позволяющий им достигать других доступных шлюзов), но я не нашел ничего, что могло бы сделай это.

Сейчас я собираюсь просто купить 3 дешевых адаптера USB-Ethernet, чтобы я мог просто подключить их к компьютеру и дать ему 3 дополнительных физических сетевых адаптера, но я бы очень хотел найти решение, которое не требует от меня тот.

Я читал, что Hyper-V может использоваться для чего-то подобного, но это не работает для Windows 7.

Кто-нибудь может придумать способ сделать это на Windows 7?

0

1 ответ на вопрос

0
Andy

Я думаю, что вы хотите использовать флаг -k вместо флага -S. -k дает IP-адрес шлюза, который вы хотите использовать для проверки связи.

ping -k 192.169.1.1 microsoft.com

источник: https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/ping

Я попробовал это с обоими (по одному) `/ k` и` / j`. Кажется, ни один из них не работает, даже для команд ping, которые раньше работали нормально. В документации говорится, что в ней указан список хостов, а не шлюз, который нужно использовать. Возможно, я что-то не так понимаю, но попытка `ping / k 192.168.1.254 8.8.8.8` (где 192.168.1.254 - один из моих текущих шлюзов) не работает. Я также попытался с остальными шлюзами без успеха. Francisco Zarabozo 5 лет назад 0