Немного предыстории (почему я хочу это сделать)

My Local Cable Operator (LCO) предоставляет инфраструктуру последней мили для 2 разных интернет-провайдеров. Допустим, ISP-1 и ISP-2. Клиенты могут заплатить за любого предпочтительного интернет-провайдера и использовать этого провайдера (физическая волоконная линия одинакова от коммутатора LCO до дома клиента для обоих интернет-провайдеров). Пользователям не нужно менять физическое соединение, если они меняют интернет-провайдера). Я заплатил за обоих интернет-провайдеров и получил детали подключения от обоих провайдеров. Я могу указать любой IP/ подсеть провайдера на моем интерфейсе Ethernet, и мои данные будут проходить через этого провайдера. Теперь у меня нет оригинальной топологии LCO, но вот возможная упрощенная:

Упрощенная топология сети

Теперь мой компьютер (OS-Windows) имеет только один сетевой адаптер Ethernet, но я хочу использовать обоих провайдеров, и я хочу реализовать автоматический переход на другой ресурс в случае сбоя одного провайдера. Основная процедура, которую я подумал:

  1. Я мог назначить как IP/ подсеть для моего единственного интерфейса Ethernet, так и указать статические маршруты. Это работает, но это не элегантное решение для определения, какой провайдер работает.

  2. Если бы у меня было два разных сетевых интерфейса (один физический и один виртуальный), я мог бы использовать ping -S <interfaceIP> 8.8.8.8 для обоих интернет-провайдеров и определять состояние UP/ DOWN.

Вот почему мне нужно создать виртуальный интерфейс на физическом NIC.

Что я сделал до сих пор

  1. Я попытался использовать виртуальный адаптер TAP, как предложено здесь, но он показывает «Сетевой кабель отключен». Я пытался соединить его с физическим интерфейсом, но он не работал. Я мог указать только один IP-адрес для моста, и оба IP-адреса интерфейсов (физических и виртуальных) исчезли.

  2. Я последовал этому ответу и попытался использовать внешний виртуальный коммутатор Hyper-V. Я ввел 2-й интернет-провайдер / подсеть на виртуальном коммутаторе-> Свойства-> IPV4. И ввел 1-й IP / подсеть провайдера на физическом главном интерфейсе Ethernet (хотя мне пришлось включить IPV4 на этом интерфейсе, потому что виртуальный коммутатор отключил их. Не знаю почему). Теперь это работает как шарм.

Окончательный статус

С чем мне нужна помощь

Я немного растерялся, потому что никогда раньше не использовал виртуальный коммутатор Hyper-V.

  1. Почему у коммутатора есть IP-адрес? Коммутатор является устройством L2 и называется виртуальным коммутатором.

  2. Почему виртуальный коммутатор отключает IPV4, клиент для сетей Microsoft и т.д. На исходном физическом интерфейсе после его создания? Я вручную снова включил их в свойствах, и эта настройка работала без создания второго виртуального интерфейса.

  3. На вышеупомянутый ответ (откуда я получил решение) человек прокомментировал: "Вы можете создать два виртуальных интерфейса под одним и тем же виртуальным коммутатором". Как я могу это сделать?

  4. Есть ли способ заставить виртуальный адаптер TAP использовать тот же физический сетевой адаптер?

  5. Есть ли более простой способ добиться того, что я пытаюсь сделать?

В настоящее время принятый ответ объясняет вопросы 1 и 3. Любая помощь с моими другими вопросами приветствуется.

1 ответ1

1

Основной обзор:

  • Включить функцию Hyper-V.
  • Добавьте виртуальный коммутатор Hyper-V, который автоматически добавляет виртуальный сетевой интерфейс (vNIC) в ОС управления. ОС хоста.
  • Добавьте другой vNIC в ОС управления для наших нужд.
  • Настройте IP-адреса в обоих vNIC. НЕ добавляйте / не настраивайте IP-адрес в реальном сетевом интерфейсе. Подробнее об этом позже.

Конфигурация сети:

Вот подробности сетевого адаптера, например. Имена интерфейсов могут отличаться в других системах.

  • Ethernet0: сетевой интерфейс по умолчанию.
  • vEthernet (переключатель по умолчанию): Hyper-V устанавливает его по умолчанию. Игнорируйте это для текущих вопросов и ответов.
  • S1: имя виртуального сетевого коммутатора.
  • vEthernet (S1): первый vNIC, подключенный к виртуальному коммутатору S1.
  • vEthernet (S1) 2: Второй vNIC, подключенный к виртуальному коммутатору S1, создан из командной строки.

Процедура:

  • Включите функцию Hyper-V с помощью Powershell от имени администратора (или с помощью OptionalFeatures.exe) с помощью этой команды Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All и перезагрузите систему.

  • Чтобы добавить виртуальный сетевой коммутатор Hyper-V, откройте диспетчер Hyper-V в меню «Пуск» или в диалоговом окне « Выполнить» введите virtmgmt.msc . Перейдите в Virtual Switch Manager> Новый виртуальный сетевой коммутатор> Выберите Внешний тип> Создать виртуальный коммутатор> OK.

  • Важно выбрать Внешний тип для этого виртуального сетевого коммутатора. Смотрите эту статью для более подробной информации. Внешний тип коммутатора должен быть подключен к физическому адаптеру. Он обеспечивает связь между физической сетью и управляющей операционной системой и виртуальной сетевой платой на виртуальных машинах.

External_Type_Virtual_Switch

  • Включите опцию "Разрешить операционной системе управления использовать этот сетевой адаптер". Это позволяет хост-системе Hyper-V / ОС управления совместно использовать виртуальный коммутатор.

Allow_Management_OS

  • Нажмите OK, чтобы создать этот виртуальный переключатель. В панели управления сетью (ncpa.cpl) будет виртуальный сетевой интерфейс vEthernet (S1) подключенный к виртуальному коммутатору S1. Диспетчер Hyper-V не позволяет создавать другой виртуальный сетевой адаптер. Чтобы создать еще одну, запустите эту команду (Add-VMNetworkAdapter) в Powershell от имени администратора Add-VMNetworkAdapter -Switch S1 -ManagementOS . vEthernet (S1) 2 будет создан. Смотрите этот скриншот:

List_Of_Network_Interfaces

  • Настройте vEthernet (S1) и vEthernet (S1) 2 с двумя разными IP-адресами, предоставленными провайдером. НЕ добавляйте / не настраивайте / не включайте никакие настройки IPv4 или IPv6 в реальной сетевой карте. Смотрите этот скриншот. ТОЛЬКО компонент «Расширяемый виртуальный коммутатор Hyper-V» включен для Ethernet0 .

Real_NIC_Configurations

Топология сети выглядит следующим образом:

    Physical Network Interface
            |
            |
    Hyper-V Virtual Switch (S1)
            |
            |
+-----------+------------------+------------------- other vNIC in VM
|                              |
vEthernet (S1)                 vEthernet (S1) 2
(172.22.36.151/25)             (172.30.138.151/24)
Host OS                        Host OS

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