У меня есть компьютер, 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?

1 ответ1

0

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

ping -k 192.169.1.1 microsoft.com

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

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