Несколько виртуальных сетевых адаптеров с собственным MAC-адресом и внешним IP-адресом от DHCP в Windows.

Вопрос или проблема

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

Я хочу, чтобы несколько IP-адресов были назначены по DHCP на один компьютер, используя один сетевой адаптер. Это нужно для того, чтобы компьютер эмулировал различные конечные узлы, участвующие в сетевой симуляции.

Я знаю, что это должно быть возможно, поскольку программное обеспечение для виртуальных машин, такое как VMware, также может использовать виртуальный сетевой адаптер с собственным MAC-адресом, объединенным с реальным сетевым адаптером хоста, чтобы получить внешний IP-адрес для виртуальной машины от DHCP. Также такие программы, как GNS3, могут выполнять такие трюки, где возможно назначить внешний IP от DHCP различным эмулируемым сетевым узлам.

Часто предлагаемое решение — использовать адаптер Microsoft loop-back в режиме объединения с реальным сетевым адаптером. Однако я не понимаю, как это должно работать. Если я устанавливаю loop-back адаптер и объединяю его с реальным сетевым адаптером, создается новый адаптер “драйвер мультиплексора”, называемый “Ethernet 3”. Этот адаптер получает IP от DHCP, однако признаков второго IP-адреса для виртуального сетевого адаптера или для реального адаптера нет.

Я был бы очень рад, если бы вы могли помочь мне и объяснить, как должно работать решение с loop-back адаптером. Если это не может работать таким образом, надеюсь, вы поможете мне другим решением для достижения той же цели. Я читал во многих местах, что это возможно настроить, но нигде не дается подробного решения, которое помогло бы мне.

Если вы хотите попробовать работать с виртуальными сетями, вероятно, виртуальные коммутаторы работают с различными виртуальными машинами. Отдельно как часть протокола распределения или компонента операционной системы или как часть виртуальной машины.

Или вы можете установить виртуальные адаптеры и назначить IP-адреса и MAC-адреса, но в этом случае у вас будет только дополнительный интерфейс, который подходит, например, в случае автоматического применения RDP-сервера или для перенаправления сетевой активности на виртуальный адаптер.

Вот некоторые ресурсы, на которые следует обратить внимание по поводу некоторых функций и виртуальных реализаций коммутаторов. Спасибо за хороший вопрос.

Создание V-коммутаторов в среде Hyper-V не удается

Виртуализация сети и виртуальный коммутатор Hyper-V

Виртуальная сеть для Hyper-V (Часть 1)

Сеть и конфигурация Microsoft Hyper-V – Часть 1

Максимальная конфигурация виртуальной сети Hyper-V:

  • Поддержка для МАКСИМУМ Примечание
  • Виртуальные сетевые карты на виртуальную машину 12 сетевых карт 4 устаревших и 8 VMBus сетевых карт
  • VLAN Неограниченно
  • Виртуальные машины на VLAN Неограниченно
  • Внешний виртуальный коммутатор на сервер Hyper-V 1 на физическую сетевую карту
  • Внутренний виртуальный коммутатор на сервер Hyper-V Неограниченно
  • Частный виртуальный коммутатор на сервер Hyper-V Неограниченно
  • Виртуальные машины на виртуальный коммутатор Неограниченно
  • Беспроводная сеть Нет поддержки для беспроводной сети
  • Маркировка ID VLAN Внешняя, Внутренняя
  • Маркировка ID VLAN на виртуальные машины Один на виртуальную машину

Открытый виртуальный коммутатор

Поддерживаемая платформа Open vSwitch может работать как программный коммутатор внутри гипервизора, так и как управляющий стек для переключающего кремния. Он портирован на множество платформ виртуализации и чипсетов коммутаторов. Он является коммутатором по умолчанию в XenServer 6.0, платформе Xen Cloud и поддерживает также Xen, KVM, Proxmox VE и VirtualBox. Он также интегрирован в множество систем управления виртуализацией, включая OpenStack, openQRM, OpenNebula и oVirt. Путь данных ядра распространяется с Linux, и пакеты доступны для Ubuntu, Debian и Fedora. Open vSwitch также поддерживается в FreeBSD и NetBSD. Выпускаемая версия Open vSwitch была портирована на DPDK.

Большая часть кода написана на платформенно-независимом языке C и легко переносится на другие среды.

Часто предлагаемое решение — использовать адаптер Microsoft loop-back в режиме объединения с реальным сетевым адаптером.

Объединение выполняет следующее:

  • Сетевые адаптеры, которые вы объединили, теперь работают на Уровне 1, выполняя те же функции, что и порты на коммутаторе. Назовите их A и B.

  • Новый интерфейс объединения моделирует кабель, подключенный к этому коммутатору к интерфейсу объединения. Этот новый интерфейс работает на Уровнях 1 и 2.

Итак:

  • Вы можете назначать IP-только интерфейсу объединения, потому что это единственное, что работает на Уровне 2.

  • A, B и C могут видеть Ethernet-кадры, которые проходят через A, B или C.

Я знаю, что это должно быть возможно, поскольку программное обеспечение для виртуальных машин, такое как VMware, также может использовать виртуальный сетевой адаптер с собственным MAC-адресом, объединенным с реальным сетевым адаптером хоста, чтобы получить внешний IP-адрес для виртуальной машины от DHCP.

VMware устанавливает сетевой адаптер, драйвер которого принимает входящий трафик и перенаправляет его от/к виртуальному хосту. GNS3 запускает эмуляторы MIPS, которые эмулируют платформы Cisco, поэтому у них тоже есть драйверы, которые выполняют те же действия.

Я не думаю, что вы можете разделить функции Уровней 1 и 2 адаптера loopback в Windows — так как его типичное использование заключается в том, чтобы позволить вещам на данном хосте не покидать этот хост.

Если вы не хотите заниматься виртуализацией в Windows, попробуйте следующее:

  • Установите и используйте Linux. Linux имеет гораздо более простые инструменты DHCP, он гораздо более универсален при выполнении странных сетевых операций (и позволяет вам попасть в гораздо больше проблем), и вы определенно можете назначать несколько IP-адресов на интерфейсы без проблем.

  • Купите дешевые адаптеры USB-to-Ethernet и подключите каждый к вашей сети.

.

Ответ или решение

Чтобы разобраться с вашей задачей, важно понимать, как Windows работает с виртуальными адаптерами и какие ограничения накладываются на сетевые подключения. Вы хотите, чтобы у одного компьютера было несколько IP-адресов, назначаемых DHCP, при использовании одного сетевого адаптера. Это возможно, но требует некоторых обходных решений.

Теория

При работе с сетевыми подключениям в Windows, один физический сетевой адаптер обычно получает один IP-адрес от DHCP-сервера. У вас есть потребность в нескольких IP-адресах для моделирования нескольких узлов в сети. Хотя программное обеспечение, такое как VMware, может связывать виртуальные сетевые адаптеры с особыми MAC-адресами и получать для каждого из них отдельный IP-адрес от DHCP, это достигается благодаря управлению на уровне гипервизора, который создает изолированную среду для каждого виртуального адаптера.

Пример

Программы наподобие GNS3 способны эмулировать множество сетевых устройств с помощью виртуализации и создания собственных MAC-адресов для каждого узла. Это достигается благодаря возможности программ управлять сетевыми стеком в сравнительно изолированной среде.

Практическое применение

Можно воспользоваться программными методами для реализации вашей задачи:

  1. Гипервизор или специализированное ПО: Используйте гипервизор, такой как Hyper-V или VMware Workstation, чтобы создать виртуальные машины, каждая из которых будет иметь свой виртуальный сетевой адаптер. Это позволит каждой машине получить собственный MAC-адрес и, соответственно, IP-адрес через DHCP.

  2. Использование VPN- или туннельных технологий: Это может быть более сложный метод, но вы можете использовать VPN или туннели, чтобы создать дополнительные сетевые интерфейсы, которые смогут получить свои собственные IP-адреса.

  3. Программные решения на основе Linux или сторонних решений: Как вы упоминали, Linux предлагает более гибкие возможности для работы с сетевыми интерфейсами. Вы можете создать несколько виртуальных адаптеров и использовать возможности DHCP для назначения адресов.

  4. Физические дополнительные адаптеры: Это может быть менее гибким решением, но покупка нескольких USB-to-Ethernet адаптеров позволит каждому из них получить свой адрес от DHCP, что также решит задачу.

Помимо этого, Microsoft Loopback Adapter не отличается функциональностью, позволяющей присваивать несколько адресов через DHCP, так как он ориентирован на другие сценарии, такие как тестирование приложений и локальная эмуляция сети.

Рекомендую исследовать использование виртуализации на уровне программных продуктов либо перейти на платформу, более подходящую для тонкой настройки сетей, такую как Linux, если ваш проект может себе это позволить.

Оцените материал
Добавить комментарий

Капча загружается...