Назад | Перейти на главную страницу

Как машины Hyper-V получают идентичные IP-адреса, даже если физическая машина имеет только 1 сетевой интерфейс?

В Windows 2008 у нас может быть несколько экземпляров Hyper-V на одной физической машине. Обычно эта машина имеет только 1 сетевой интерфейс. (Я предполагаю 1 карту с 1 MAC-адресом). Тогда как машины Hyper-V получают идентичные IP-адреса? Требуется ли сетевой адаптер поддерживать какие-либо специальные функции?

В дополнение к другим ответам, вам не нужна специальная сетевая карта. Виртуальные машины могут получить свой собственный IP-адрес и даже MAC-адрес даже через одну сетевую карту физического узла. Это похоже (но не совсем так) на то, как вы можете назначить несколько IP-адресов одной сетевой карте даже без использования виртуализации, прямо в Windows. Однако в этом случае вы также не размещаете несколько MAC-адресов.

Hyper-V или VMware, если вы используете VMware Server или ESXi, или XenServer, если вы это используете, все заботятся о преобразовании сети, чтобы несколько виртуальных машин могли совместно использовать одну и ту же физическую сетевую карту. Несколько физических сетевых адаптеров по-прежнему необходимы для избыточности и / или дополнительной полосы пропускания, что может быть необходимо, если у вас много виртуальных машин и / или высокий трафик (и если вы используете централизованное хранилище, такое как SAN, выделенный сетевой адаптер или сетевые адаптеры для этого также очень рекомендуется). Но он будет работать с одним.

Если ваши виртуальные машины получают одинаковый IP-адрес, вероятно, это RFC1918 частный адрес, который преобразуется через NAT программным обеспечением Hyper-V, на котором размещены гостевые ОС.

Если ваши виртуальные машины имеют независимые IP-адреса в той же VLAN, что и хост, возможно, Hyper-V использует мостовой виртуальный сетевой адаптер. Этот виртуальный адаптер программирует сетевую карту для ответа на несколько IP-адресов на уровне 2 и пересылает правильные пакеты в гостевые ОС.

Когда вы создаете виртуальную сеть в Hyper V, вы можете выбрать:

  • Внешний: виртуальные машины, подключенные к этой сети, считаются подключенными к той же сети, к которой подключается сервер Hyper V.
  • Внутренний: сервер Hyper V создает внутреннюю сеть, никак не подключенную к физической сети, но подключенные к нему виртуальные машины могут связываться друг с другом.
  • Частный: любые виртуальные машины, подключенные к этой сети, полностью изолированы и могут видеть только себя

Здесь у вас есть две настройки. Сеть, созданная в консоли Hyper V, И сеть, выбранная для каждой отдельной виртуальной машины. Если каждая виртуальная машина подключена к «частной» сети, нет причин, по которым они не могли бы иметь один и тот же IP-адрес.

Чтобы ответить на ваш другой вопрос, для внутренних и частных сетей сервер Hyper V назначит этим машинам внутренние IP-адреса. Для внешних виртуальных машин виртуальные машины получат IP-адреса (или нет), как и любая рабочая станция, которую вы можете подключить к этой сети.

** Примечание. В соответствии с передовой практикой на сервере Hyper V должно быть не менее 2 физических сетевых адаптеров. Один для самого сервера и один для каждой внешней сети, которую вы хотите создать для трафика виртуальных машин. Я никогда не пробовал использовать только одну сетевую карту, так как, как говорят, в этом сценарии есть непредсказуемые результаты.

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