Настройка сети centos 7 hyper v

Обновлено: 03.07.2024

Hyper-V появился в Windows 2008 значительно расширив функционал Windows сервер. Еще бы – средство виртуализации, использующее аппаратные ресурсы, да еще и бесплатное (если Вы конечно купили windows сервер для прочих нужд) смогло со временем составить достойную конкуренцию лидеру систем виртуализации VMware.

На данный момент в Windows Server 2016 работает версия 10тая версия Hyper-V

И за эти 8 лет появилась масса полезных функций и улучшений. Наиболее значимые из них, по мнению автора – это :

  • Поддержка виртуальных машин Linux
  • Живая миграция виртуальных машин между узлами кластера.
  • Репликация виртуальных машин
  • Управляемые виртуальные свичи
  • Появление виртуальных машин второго поколения
  • Общие VHD
  • Контейнеры Windows

А также много других, не менее полезных в эксплуатации функций. О каждой из них можно рассказать много интересного. Но, чтобы было больше пользы – нужно более глубокое погружение.

Сегодня мы поговорим о работе виртуальных машин linux в среде виртуализации Hyper-V. Давайте начнем с конкретной задачи. Для автоматизации развертывания некоторой среды мне понадобилось создать несколько машин с операционной системой CentOS (была использована версия 7.3)

Был скачан требуемый дистрибутив, создана виртуальная машина второго поколения. И.. Виртуальная машина не запустилась. О чем говорит этот пример? О том, что нужно не забывать читать инструкции и Best Practices при изучении и развертывании новых продуктов. В моем случае проблема была с некорректной настройкой Secure Boot виртуальной машины. (Рисунок и пояснение Secure boot)

установка hyper-v

Secure boot позволяет быть уверенным, что ПО выполняющее старт ОС не скомпрометировано. Это эффективно защищает от внедрений зловредного софта в загрузчик системы.

Процесс загрузки сервера происходит следующим образом:

  1. Запускается аппаратная часть.
  2. Контроль передается BIOS, которая проверяет основные компоненты CPU, память, диски и другое оборудование.
  3. BIOS читает настройки загрузки и перебирает все полученные в списке устройства в поисках загрузчика в нулевом секторе.
  4. Если загрузчик ОС найден BIOS загрузке его в память и передает CPU для обработки.
  5. Загрузчик запускает систему.

Это очень упрощенная, но понятная для понимания схема. Уязвимость появляется на 4ом шаге, когда BIOS завершает свою работу. В этот момент никто не заботится о том, что будет дальше. И этим пользуются различные руткиты – это программные прокладки, обычно вредоносные, которые находятся между BIOS и операционной системой. ОС не может на них воздействовать, потому что они находятся вне зоны ее контроля, однако они могут перехватывать любые нажатия клавиш и обращения к устройствам.

С появлением UEFI ситуация изменилась. UEFI ищет не просто код в секторе 0, он ищет определенные файлы и имеет возможность выполнять некоторую их обработку, а не просто передавать их на выполнение CPU.

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

Размножение виртуальных машин не составляет большого труда, если использовать команду PowerShell New-VM , однако здесь есть несколько подходов:

  1. Создать образ CentOS с «тихой» установкой.
  2. Установить и подготовить ОС на диске VHD и использовать диск при создании новых виртуальных машин.

Поскольку автор (в силу сложившихся обстоятельств) предпочитает платформу Windows всем остальным решениям, второй вариант был принят как основной. И следующей задачей была подготовка правильного образа-шаблона. В процессе установки ОС использовался режим Minimal Install, был создан раздел 20 ГБ, задан пароль для пользователя root и создан пользователь с правами root. Остальные настройки, в том числе конфигурация безопасности, планировалось выполнять в процессе дальнейшей конфигурации машины. Для создания шаблона было выполнено несколько шагов:

  1. В файл /etc/sysconfig/network добавлен следующий текст:
  1. В файл конфигурации сетевого интерфейса /etc/sysconfig/network-scripts/ifcfg-eth0 добавлен следующий текст:

Последняя строка отключает NetworkManager. Это необходимо для того, чтобы Hyper-V мог выполнить статическую настройку сетевого интерфейса.

  1. Выполнена команда для удаления правил udev. Эти правила приводят к появлению проблем при клонировании виртуальной машины в Hyper-V или Microsoft Azure.
  1. Очищены все текущие метаданные yum и установить все обновления с помощью команд
  1. Выполнена настройка фаервола
  1. Выполнена установка Hyper-V tools.

На последнем пункте стоит остановиться подробнее. Изначально установка тулов не планировалась из расчета, меньше ПО – меньше поломок. Но это подход не правильный. Не смотря на то, что CentOS 7 большинство фитч поддерживает без установки дополнительного ПО, на практике оказалось, что есть проблемы с созданием Snapshot’ов, которые к слову начиная с версии win 2012 называются Checkpoints. Также в моем сценарии виртуальные машины получают IP адрес по DHCP, следовательно, для дальнейшего подключения к ним нужно знать адрес, который получил виртуальный сервер. Получить его можно средствами PowerShell.

Кстати, в последней редакции Windows Hyper-V появилась функция PowerShell direct, которая позволяет управлять виртуальной машиной с Hyper-V хоста через PowerShell. Windows PowerShell Direct работает между хостовой и виртуальной машиной. Это означает, что ему не требуется сетевых настроек или настроек фаервола, он работает благодаря настройкам для удаленного подключения. Windows PowerShell Direct является альтернативой для инструментов, с помощью которых администраторы Hyper-V подключаются к виртуальной машине с Hyper-V хоста:

  • Remote PowerShell и Remote Desktop
  • Hyper-V Virtual Machine Connection (VMConnect)

Эти утилиты работают хорошо, но имеют свои недостатки: VMConnect и Remote Desktop сложно использовать при автоматизации. Remote PowerShell сложен в установке и обслуживании. И значимость этих недостатков растет с ростом инфраструктуры Hyper-V. Windows PowerShell Direct предоставляет мощные возможности скриптования и автоматизации вместе с простотой использования VMConnect.

Получить IP адрес машины можно используя, например, следующий набор командлетов

При этом получим такой вывод:

power shell

До установки тулов поле IPAdresses было пустым (как у виртуальной машины LAB2-CentOS7-Template). Нужно также отметить, что это поле заполняется не сразу после установки, а через некоторое время. Поэтому особо нетерпеливым (таким, как я J ) рекомендуется попить чаю перед тем, как начать паниковать при отсутствии ожидаемого результата.

Также я хочу отдельно остановиться на установке тулзов еще и потому, что у меня это вызвало некоторые трудности. Доверяя Microsoft, 14.03.2017 hyper-v tools были скачаны мною с официального сайта Microsoft, распакованы и установлены согласно имеющейся инструкции. Однако после перезагрузки CentOS 7.3 упрямо и безуспешно пыталась грузиться в emergencyMode. Был выполнен ряд действий, описанных в разделе инструкции Known Issues. Однако результат не был достигнут. После изучения проблемы и примеров ее решения, окрашенных, мягко скажем, нелицеприятными эпитетами в сторону Microsoft, меня посетила идея установки hyper-v tools из репозитариев CentOS. Одна единственная команда решила мою проблему.

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

Вот собственно и все. Задача по настройке Hyper-V и виртуальных машин Linux решена.

С удаленной машины я подключаюсь PowerShell скриптом к Hyper-V хосту, выполняю создание нескольких машин, копирование и подключение для каждой из них шаблонного VHD, запуск всех созданных машин и получение их IP адресов, которые потом передаются в Ansible для дальнейшей конфигурации системы. Но это уже совсем другая история.

Конечно же, многое о hyper-V осталось за кадром. Поэтому мы обязательно продолжим в будущих публикациях. А если у Вас появились вопросы – наши специалисты всегда готовы ответить на них.

Продолжая цикл статей посвященный виртуализации, сегодня мы поговорим о настройке сети в Hyper-V. Основное внимание мы уделим теории, а именно разберем как устроены виртуальные сети и как они взаимодействуют с реальными. Потому что, как показывает практика, многие администраторы, в отсутствие простых и понятных материалов по данному вопросу, вынуждены осваивать настройку сети в Hyper-V методом "научного тыка".

С одной стороны, ничего сложного в настройке сетей для виртуальных машин нет, с другой многие начинают путаться во всех этих адаптерах, с трудом понимая, где реальный, где виртуальный, и чем они друг от друга отличаются. Постараемся внести ясность.

За настройку сетей в Hyper-V отвечает Диспетчер виртуальных коммутаторов, если мы откроем его, то увидим следующую картину:

hyper-v-network-001.jpg

Как видим, нам доступно создание трех типов сетей: внешней, внутренней и частной. Разберемся подробнее, для чего нужны эти сети и в чем разница между ними.

Внешняя сеть

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

hyper-v-network-002.jpg

Как мы уже писали, основу виртуальной сети составляет виртуальный коммутатор. При создании внешней сети, Hyper-V создает виртуальный коммутатор, к которому через виртуальные сетевые адаптеры (vNIC) подключаются как виртуальные машины, так и хост. Физический адаптер отключается от хоста и по сути становится физическим портом виртуального коммутатора, через который он подключается к внешней сети.

В этом нетрудно убедиться, после создания внешней сети на хосте появляется Адаптер Ethernet для виртуальной сети Hyper-V, на который переносятся все настройки с физического адаптера.

hyper-v-network-003.jpg

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

hyper-v-network-004.jpg

В случае с внешней сетью следует четко понимать, что хост, точно также как и виртуальные машины, подключается к виртуальному коммутатору через виртуальный сетевой адаптер. Физический сетевой адаптер, после создания внешней сети становится портом виртуального коммутатора, через который он подключается к внешней сети. Поэтому все сетевые настройки хоста следует производить только на виртуальном сетевом адаптере.

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

Внутренняя сеть

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

hyper-v-network-005.jpg

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

Внутренняя сеть c NAT

Данная возможность появилась начиная с Windows Server 2016, Hyper-V Server 2016 и Windows 10. Подробнее читайте в нашей статье: Настраиваем сеть NAT в Hyper-V

Частная сеть

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

hyper-v-network-006.jpg

Данный вид сетей может быть использован также в учебных и исследовательских целей, а также для создания изолированных участков сети, например DMZ.

hyper-v-network-007.jpg

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

Как видим, Hyper-V дает в руки администратора весьма гибкий и мощный инструмент, позволяющий создавать весьма сложные сетевые конфигурации и управлять ими.

date

29.10.2020

directory

CentOS, Linux

comments

комментария 3

В данной статье мы рассмотрим способы настройки сети в системах Linux CentOS 7/8, покажем, как настраивать сетевых интерфейсов через конфигурационные файлы, основные утилиты для настройки сети и многое другое. Это актуальная тема, так как изначально настройка любого сервера начинается с настройки на нем сети.

В статье мы покажем особенности настройки сети в CentOS 7 с помощью стандартного сервиса network. Посмотрим, как использовать для настройки сети NetworkManager (NM), который предлагается по-умолчанию в CentOS 8.

Именование сетевых интерфейсов в CentOS

Классическая схема именования сетевых интерфейсов в Linux присваивает имена eth0, eth1 и так далее по порядку. Но эти имена не привязываются жестко к интерфейсам и после перезагрузки при наличии нескольких сетевых интерфейсов, эти имена могут поменяться. Это может доставлять некоторые проблемы, при настройке, например, межсетевого экрана через firewalld или iptables. В связи с этим начиная с RedHat 7 и CentOS 7, решено было назначать имена сетевых интерфейсов на основе иерархии различных схем именования. По умолчанию systemd будет поочередно применять схемы именования, остановившись на первой доступной и применимой. Имена присваиваются в автоматическом режиме, остаются неизменными даже если аппаратные средства добавлены или изменены. С другой стороны, такие имена интерфейсов менее читабельны, например, enp5s0 или ens3, чем традиционные eth0 и eth1.

Можно вернуться к стандартному имени интерфейса Linux с помощью следующих действий.

Отредактируйте файл /etc/default/grub:

В строку GRUB_CMDLINE_LINUX нужно добавить:

Пример полной строки:

Обновите конфигурацию grub:

Переименуйте конфигурационный файл сетевого интерфейса:

И заменить значение DEVICE:

изменить имя сетевого интерфейса в centos eth0

Сохраните файл, перезагрузите сервер и проверьте все ли в порядке:

ip a - centos

Интерфейс теперь называется eth0.

Первоначальная настройка сети при установке CentOS

Изначально при установке CentOS Linux, вы можете настроить сетевой интерфейс в графическом режиме в пункте меню “Network & Hostname”. В данном пункте вы указываете имя сервера, добавляете нужный IP адрес и шлюз, DNS и многое другое. Более подробную настройку на данном шаге, вы можете посмотреть в статье по ссылке выше.

Ручная настройка конфигурационного файла сетевого интерфейса в CentOS

Выведем список доступных сетевых интерфейсов в системе:

Файлы конфигурации сети вашего сервера хранятся в каталоге /etc/sysconfig/network-scripts. Эти файлы создает демон NetworkManager для каждого сетевого интерфейса. В нашем случае файл конфигурации называется ifcfg-eth0 (у вас может отличаться в зависимости от схемы именования сетевого интерфейса).

Рассмотрим основные параметры:

Исходя из этой информации, настроим сетевой интерфейс.

Настройка статического IP адреса в CentOS

Откроем файл для редактирования:

ручная настройка параметров сети в centos через файл /etc/sysconfig/network-scripts

В этом примере я указал статический IP адрес, маску подсети, шлюз и несколько DNS серверов. Включаем автозапуск интерфейса:

После всех модификаций, нужно выполнить рестарт сервиса network. Если все в порядке, вы получите такой листинг:

Также можно просто перезапустить все профили подключений :

Получение динамического IP адреса для интерфейса через DHCP

Если ваш сервер должен получить IP адрес от DHCP севера, откройте конфигурационный файл интерфейса и измените настройки:

BOOTPROTO=”dhcp” - настройка полуения динамического ip адреса для сетевого интерфейса

То есть мы убрали все настройки, связанные с IP-адресами и маской, а так же поменяли способ назначения IP-адреcа на dhcp (BOOTPROTO=”dhcp”). После всех изменений, не забываем выполнять перезагрузку network.

Как отключить IPv6 в CentOS?

На время написания статьи активного использования ipv6 в России нет, да и зачастую если таковая возможность имеется, администраторы предпочитают протокол ipv4. Поэтому если вы все же не используете данный протокол, его нужно отключить на сервере. Если вы точно уверены, что ни один из сервисов не настроен под работу с ipv6, можете сразу перейти к настройке сетевого интерфейса, если же нет, то начните с проверки. Нам нужно проверить, какие сервисы используют ipv6 и отключить данный протокол в конфигурации сервиса. Запустим команду:

в netstat показывается ipv6 адрес, как полностью отключить на сервере centos

У меня сервер тестовый, поэтому ipv6 используется только для sshd и cronyd. Это можно определить по “. ”.

Чтобы не возникало проблем после отключения ipv6 в конфигурации сети, отключите данный протокол в сервисах, в которых они используются на вашем сервере. Например для sshd, нужно открыть конфигурационный файл:

И раскомментируйте строки:

После чего перезапустите сервис:

netstat только ipv4 без ipv6

Как видим, для sshd протокол ipv6 теперь недоступен. Проделайте аналогичные настройки со всеми сервисами.

Перейдем к отключению протокола ipv6 в настройках сети. Откройте файл /etc/sysctl.conf:

Сохраните файл и примените через:

Перейдем к файлу /etc/sysconfig/network. Добавьте в него следующую конфигурацию:

отключить IPV6INIT=no

Из файла конфигурации сетевого интерфейса /etc/sysconfig/network-scripts/ifcfg-eth0 удалите строку:

И наконец добавим запрет на работу ipv6 в grub:

В конец строки GRUB_CMDLINE_LINUX, добавляем:

centos отключить ipv6 в grub

После всех настроек, сохраните файл и обновите grub:

Выполните перезагрузку сервера и проверьте конфигурацию сети:

Протокол ipv6 на сервере отключен.

Как указать DNS сервера для сетевого интерфейса в CentOS?

Настроить DNS-сервера для вашего сервера, вы можете с помощью файла /etc/resolv.conf или указать их в настройках сетевого интерфейса. При настройке static конфигурации для сетевого интерфейса, мы уже указывали DNS-сервера, через параметры:

Установите нужные вам DNS-сервера и перезагрузите сервис network.

В файл /etc/resolv.conf, DNS-сервера прописываются автоматически при перезагрузке сервера, забирая их с файла конфигурации сети. Если же вы не указали DNS-сервера при настройке сети, пропишите их вручную в файл /etc/resolv.conf:

Как настроить несколько IP адресов на одном сетевом интерфейсе CentOS?

Если вам нужно использовать несколько IP-адресов на одном сетевом интерфейсе, настройку можно выполнить через алиас интерфейса или же добавив дополнительный IP-адрес в основной файл конфигурации.

И измените его следующим образом:

IPADDR1 — первый IP-адрес

IPADDR2 — второй IP-адрес

GATEWAY — основной шлюз

Либо создайте alias к вашему основному файлу конфигурации:

И добавьте несколько строк, без основного шлюза:

несколько ip на одном интерфейсе в centos

После всех настроек нужно выполнить перезапуск сети:

В Windows тоже можно настроить несколько IP адресов (алиасов) на одном интерфейсе.

Настройка VLAN (802.1Q) в CentOS

Подробнее о настройке нескольких VLAN для одного сетевого интерфейса в CentOS мы говорили в статье: Настройка VLAN на сетевом интерфейсе в CentOS.

Настройка нескольких сетевых интерфейсов в CentOS

Если у вас на сервере несколько сетевых интерфейсов, для них можно указать разные IP-адреса. Разберемся как это сделать. Если у вас на сервере более одного сетевого интерфейса, команда “ip a” должна отобразить эту информацию:

Чтобы сконфигурировать второй интерфейс, нужно создать для него файл:

И добавьте следующую конфигурацию:

настройка дополнительного сетевого интерфейса в linux centos

После этого на сервере нужно установить шлюз по умолчанию. Проверим какой шлюз установлен в данный момент и при необходимости поменяем его:

В качестве основного шлюза у нас выступает интерфейс eth1. Я же хочу использовать eth0, для этого изменим его:

netstat - проверка шлюза по умолчанию

Если вы хотите, чтобы данная настройка сохранилась после перезагрузки сервера, добавьте эти команды в rc.local (см. статью об автозагрузке сервисов в CentOS).

Полезные команды по работе с сетью в CentOS

Утилиты администрирования сети в CentOS

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

После установки, можно воспользоваться утилитой ifconfig:

Как видим, имя нашего сетевого интерфейса eth0.

Без установки пакета net-tools, вы можете проверить ваши интерфейсы с помощью следующей команды:

Результат будет практически тот же:

ip a - проверка состояния сетевого интерфейса centos

Управление сетью с помощью NetworkManager в CentOS 8

В CentOS 8 для настройки сети рекомендуется использовать только NetworkManager. Эта служба управление сетевыми подключениями, контролирует настройки и применяет изменения к сетевым адаптерам.

Чтобы проверить статус NM, используйте команду:

systemctl status NetworkManager.service

В CentOS предлагается использовать для настройки сети командную консоль nmcli или графическую утилиту nmtui.

Чтобы перейти в режим настройк сети, введите команду:

nmtui - утилита настройки сети в centos

При выборе первого пункта, у вас откроется окно с выбором сетевого интерфейса для редактирования:

настроить ens3 итерфейса на сервере centos

Выбираем нужный нам интерфейс и редактируем:

настройка ip адреса, шлюза и dns для сетевого интерфейса в centos

Нам доступно редактирование имени, IP-адреса, Шлюза, DNS-серверов. Так же в интерактивном меню NM, мы можем изменить способ назначения IP адреса, на DHCP:

nmtui - способ получения ipv4 адреса manual/automatic

Замените “manual” на “automatic”:

настройка dhcp для интерфейса в network manager

После чего сохраните настройки. С помощью nmtui в графическом режиме, вы можете выполнить любые настройки, которые выполняете вручную через конфигурационные файлы. Если вы предпочитаете использовать командную строку для настройки интерфейсов, можете использовать nmcli. Например, следующие команды изменят IP адрес, щлюз и DNS сервера для интерефейса eth1.

Для применения изменений, перезагрузите интерфейс:

Если же вам удобнее работать с файлами конфигурации, установите через yum отдельный пакет network-scripts (в CentOS 8 по умолчанию его нет):

После установки данного пакета, вы можете редактировать настройки сети, как мы описывали ранее, через конфигурационные файлы:

В настройке сети на «виртуальной машине» (далее по тексту принято сокращение «ВМ»), а также в добавлении виртуального свитча в оснастке Hyper-V нет ничего сложного, хотя даже для продвинутых пользователей иногда процедура может выглядеть немного запутанной.

Архитектура Hyper-V

«Виртуальные сети» (сокращенно: «ВС») в Hyper-V называют виртуальными коммутаторами, к которым подключаются не только сетевые интерфейсы ВМ, но и физические сетевые интерфейсы сервера.

Существуют 3 вида «ВС». Схематично они представлены на рисунке ниже.

3 вида «ВС»

Майкрософт сравнительно недавно предусмотрела в «Windows Server 2008 R2» создание ВС «External» с изоляцией от хостовой системы. Осуществляется процесс просто. Следует убрать отметку из графы «Allow management operating system to share this network adapter».

«Virtual Network Manager»

При этом отключаются все ранее созданные подключения, и параметры прописываются для новой ВМ.

Необходимо отметить, что в Hyper-V имеется поддержка VLAN (IEEE 802.1Q).

После настройки коммутаторов, достаточно в свойствах ВМ установить отметку «Enable VLAN Identification» и указать VLAN ID.

Установка отметки «Enable VLAN Identification»

Приятной новинкой, внедренной специалистами из Майкрософт в Виндовс Server 2008 R2, является поддержка виртуальных очередей VMQ.

Физический сервер

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

Процедура настройки

Сложности с Hyper-V при настройке сети на виртуальной машине в основном вызваны недопониманием принципов реализации ее функционирования.

Многие хорошо знакомы с работой на «Виртуал Сервер» или «Microsoft’s Virtual PC» и привыкли к тому, что они функционируют как простые программы Виндовс.

Иными словами, приложения располагаются поверх Windows и процессы обмена данными с оборудованием осуществляются посредством ОС. Однако в Hyper-V все работает кардинально по противоположному принципу и в результате ВМ обеспечиваются прямым доступом к оборудованию сервера, то есть, минуя родительскую ОС.

Это обстоятельство накладывает некоторые нюансы на процедуру настройки доступа к сети ВМ Hyper-V из сетей.

Рассмотрим процесс на конкретном примере со следующими сетевыми параметрами: главный IP-адрес: ___.189.53.206/30; доп.адрес: ___.91.26.173/32; сервер с 2-мя интерфейсами (при этом задействован лишь 1-ый, а 2-ой отключен).

Настройка сетевых подключений

Далее всю процедуру исполняем только с LAN1.

Процедура с LAN1

Теперь можно приступить к настройке 2-х ВМ:

1-ая ВМ получит связь с внешним миром через сетевую карту с доступом во всемирную патину, а 2-ая послужит как коммутатор корневого сервера с виртуальным хостом.

Чтобы создать эти ВМ потребуется войти в главную консоль управления Hyper-V, запустить диспетчер виртуальных сетей.

Установка 1-ой ВМ

Подготовительные мероприятия на этом этапе завершены, но перед тем как настраивать сети, следует убедиться, что все исполнено корректно. От этого зависит успешность процедуры в целом.

Важное отступление: Во время создания 1-го ВМ будут разорваны все подключения, поэтому рекомендуется предусмотреть дополнительное соединение с сервером, например, IPMI, IP-KVM либо прямой физический доступ.

В окне сетевых подключений должна отображаться следующая картина, как показано на скриншоте ниже.

Окно «Сетевые подключения»

В параметрах коммутатора (2-ой ВМ) указать IP-адрес. В результате этот ВМ на физическом сервере станет работать как шлюз.

Указание IP-адреса

Уже можно констатировать приятный факт, что ввод параметров сетевых интерфейсов на корневом сервере окончен.

Затем надо произвести настройки «RRAS», чтобы обеспечить перенаправление трафика к ВМ и обратно. С этой целью в меню «Диспетчера сервера» потребуется присвоить роль для «Службы политики сети и доступа».

Меню «Диспетчер сервера»

По умолчанию она «Остановлена» и следует ее настроить.

Настройка «Службы политики сети и доступа»

Отобразится мастер, указания которого требуется пошагово исполнить.

Мастер установки

Установить отметку в графу «Особая конфигурация».


Поставить галочки в два поля, как сделано на иллюстрации выше.

Завершение мастера установки

Клацнуть «Готово».

Меню диспетчера

Служба полностью подготовлена и необходимо перейти к перенаправлению трафика к ВМ. Для этого создается промежуточный интерфейс, вызвав контекстное меню от «Преобразования сетевых адресов».

Переход к перенаправлению трафика к ВМ

Клацнуть строчку «Новый интерфейс» и применить внешний интерфейс.

«Новый интерфейс»

Войти в закладку «Преобразование сетевых адресов (NAT)» и поставить галочки в графах, указанных на следующем скриншоте:

Закладка «Преобразование сетевых адресов (NAT)»

Перейти в закладку «Пул адресов» и указать доп. адреса. От них запросы станут поступать на внутренние адреса ВМ.

Закладка «Пул адресов»

Далее еще рекомендуется добавить резервный для внутреннего адреса ВМ, как показано на рисунке ниже.

Добавление зарезервированного адреса

В свойствах ввести параметры сети где расположен шлюз.

Ввод параметров

В результате ВМ получила выход во всемирную паутину. Чтобы удостовериться в этом, достаточно заглянуть в меню «Центра управления сетями и общим доступом».

Меню «Центра управления сетями и общим доступом»

Примечание: Если соединение с глобалкой отсутствует, то проблема быстро решается простым изменением параметров Брадмауэра на серверах.

Еще убедиться в правильности можно через любой интернет-сервис.

Узнавание IP адреса

Задуманное успешно реализовано на практике, вот так просто можно применять несколько различных сетей на единственном реальном сервере, то есть физическом (сколько их пожелает создать администратор, столько же создается и коммутаторов).

А если требуется настроить сети на Линуксе, которая запущена под Hyper-V?

Многие сталкиваются с проблемой во время установки Ubuntu на ВМ Майкрософт Hyper-V. Сложность заключается в том, что Линукс просто иногда не способен при этом увидеть сетевую карту. Очевидно, что сеть в таком случае функционировать не будет.

Сложность может быть устранена следующей «уловкой»: в Параметрах ВМ указать одну из «древних» сетевых карт. ОС такую картуувидит сразу, то есть возникшая сложность устраниться быстро.

Но есть один недостаток этой маленькой хитрости. Часто процессор ВМ будет полностью загружен, а данное обстоятельство повлечет замедленное функционирование системы.

Заключение

Отдельные пользователи пренебрегают этапом настроек по «Преобразованию сетевых адресов (NAT)», который описан в инструкции выше. Однако этот механизм обеспечивает доступ ВМ к сети через объединение IP основной электронно-вычислительной машины с портом через внутренний коммутатор Hyper-V. В итоге приобретаются несколько следующих преимуществ:

  1. Применяется внутренний коммутатор, что понижает загрузку сета электронно-вычислительной машины;
  2. Несколько ВМ могут размещать программы, требующие внутренние порты связи, просто соотнося их с индивидуальными внешними интерфейсами;
  3. Экономятся IP по причине сопоставления внешнего IP и порта со значительно увеличенным перечнем внутренних IP.

Видео по теме

Читайте также: