
- •Включение Hyper-V с помощью CMD и DISM
- •Запуск и завершение работы виртуальных машин
- •Создание контрольной точки виртуальной машины
- •Создание новой виртуальной машины
- •Подведение итогов и справочные материалы
- •Общий доступ к дискам и устройствам
- •Общий доступ к хранилищу и USB-устройствам
- •Совместное использование звуковых устройств (динамиков и микрофона)
- •Повторный запуск параметров подключения
- •Проверка типа сеанса
- •Предварительные условия
- •Настройка вложенной виртуализации
- •Отключение вложенной виртуализации
- •Изменение размера динамической памяти и памяти для среды выполнения
- •Параметры сетей
- •Спуфинг MAC-адресов
- •Преобразование сетевых адресов (NAT)
- •Принцип работы вложенной виртуализации
- •Архитектура коллекции
- •Создание виртуальных машин, совместимых с коллекцией
- •Проверка нового образа виртуальной машины
- •Создание нового источника коллекции
- •Подключение коллекции к пользовательскому интерфейсу коллекции виртуальных машин
- •Поиск и устранение неисправностей
- •Проверка наличия ошибок при загрузке коллекции
- •Ресурсы
- •Сторонние приложения виртуализации
- •Обзор NAT
- •Создание виртуальной сети NAT
- •Соединение с виртуальной машиной
- •Пример конфигурации: подключение виртуальных машин и контейнеров к сети NAT
- •Docker для Windows (для виртуальных машин Linux) и компонент контейнеров Windows
- •Несколько приложений, использующих одну систему NAT
- •Диагностика
- •Несколько сетей NAT не поддерживается.
- •Начало работы
- •Регистрация нового приложения
- •Создание сокета Hyper-V
- •Привязка к сокету Hyper-V
- •Подстановочные знаки для идентификатора виртуальной машины
- •Поддерживаемые команды сокета
- •Полезные ссылки
- •Примеры MSDN
- •Примеры в блогах
- •Высокоуровневый обзор того, что мы делаем и почему
- •Создание узла
- •Создание второго сетевого интерфейса
- •Настройка Hyper-V
- •Создание виртуального коммутатора
- •Установка и настройка DHCP
- •Установка удаленного доступа
- •Настройка удаленного доступа
- •Создание таблицы маршрутов в Azure
- •Настройка таблицы маршрутов
- •Справочник по конфигурации конечного состояния
- •Заключение
- •Требования к операционной системе
- •Требования к оборудованию
- •Проверка совместимости оборудования
Windows назначаются сетевой службой узлов Windows (HNS) (HNS) из подсети 10.0.76.0/24. В соответствии с имеющимся сценарием MobyLinux.ps1 IP-адреса для Docker4 Windows назначаются из подсети 10.0.75.0/24.
Диагностика
Несколько сетей NAT не поддерживается.
В этом руководстве предполагается, что других NAT на узле нет. Приложениям или службам необходимо использовать NAT, и они могут создать ее в процессе установки. Поскольку Windows (WinNAT) поддерживает только один внутренний префикс подсети NAT, при попытке создать несколько NAT система переходит в неизвестное состояние.
Чтобы понять, является ли это проблемой, убедитесь, что имеется только одна
NAT.
Пример :PowerShell Get-NetNat
Если NAT уже существует, удалите ее.
Пример :PowerShell Get-NetNat | Remove-NetNat
Убедитесь, что для приложения или компонента (например, для контейнеров Windows) имеется всего один "внутренний" vmSwitch. Запишите имя vSwitch.
Пример :PowerShell Get-VMSwitch
Проверьте, есть ли частные IP-адреса (например, IP-адрес шлюза NAT по умолчанию обычно имеет значение *.1) старого NAT, по-прежнему назначенные адаптеру.
Пример :PowerShell
Get-NetIPAddress -InterfaceAlias "vEthernet (<name of vSwitch>)"
Если используется старый частный IP-адрес, удалите его.
Пример :PowerShell
Remove-NetIPAddress -InterfaceAlias "vEthernet (<name of vSwitch>)" -IPAddress <IPAddress>
Удаление нескольких NAT
Мы встречали сообщения о нескольких случайно созданных сетях NAT. Это вызвано ошибкой, присутствующей в последних сборках (включая Windows Server2016 Technical Preview5 и Windows10 Insider Preview). Если после запуска команд ls или Get-ContainerNetwork сети Docker появится несколько сетей NAT, в командной строке PowerShell с повышенными привилегиями выполните следующее:
Пример :
PS> $KeyPath = "HKLM: \SYSTEM\CurrentControlSet\Services\vmsmp\parameters\SwitchList" PS> $keys = get-childitem $KeyPath
PS> foreach($key in $keys)
PS> { |
if ($key.GetValue("FriendlyName") -eq 'nat') |
PS> |
|
PS> |
{ |
PS> |
$newKeyPath = $KeyPath+"\"+$key.PSChildName |
PS> |
Remove-Item -Path $newKeyPath -Recurse |
PS> |
} |
PS> } |
|
PS> remove-netnat -Confirm:$false
PS> Get-ContainerNetwork | Remove-ContainerNetwork
PS> Get-VmSwitch -Name nat | Remove-VmSwitch (_failure is expected_) PS> Stop-Service docker
PS> Set-Service docker -StartupType Disabled Reboot Host
PS> Get-NetNat | Remove-NetNat
PS> Set-Service docker -StartupType automaticac PS> Start-Service docker
При необходимости обратитесь к этому руководству по установке для нескольких приложений, использующих одну NAT для перестройки среды NAT.
Ссылок
Дополнительные сведения о сетях NAT
Создание виртуальной сети
Вашей виртуальной машине потребуется виртуальная сеть, чтобы предоставить вашему компьютеру доступ к сети. Создание виртуальной сети— необязательный шаг. Если виртуальную машину не требуется подключать к Интернету или сети, перейдите к шагу создания виртуальной машины Windows.
Подключение виртуальных машин к Интернету
Hyper-V поддерживает три типа виртуальных коммутаторов: внешние, внутренние и частные. Создайте внешний коммутатор, чтобы предоставить доступ к сети вашего компьютера виртуальным машинам, работающим на нем.
В этом упражнении выполняется создание внешнего виртуального коммутатора. После завершения этого шага на узле Hyper-V будет виртуальный коммутатор, который сможет подключать виртуальные машины к Интернету через сетевое подключение вашего компьютера.
Создание виртуального коммутатора с помощью диспетчера Hyper-V
1.Откройте диспетчер Hyper-V. Чтобы сделать это быстро, нажмите кнопку или клавишу Windows и введите "Hyper-V Manager".
Если диспетчер Hyper-V найти не удается, это значит, что Hyper-V или средства управления Hyper-V отключены. Инструкции по включению см. в разделе Включение Hyper-V.
2.Выберите сервер в левой области или нажмите кнопку «Подключиться к серверу...» в правой области.
3.В диспетчере Hyper-V выберите пункт Диспетчер виртуальных коммутаторов... в меню "Действия" справа.
4.В разделе "Виртуальные коммутаторы" выберите пункт Создать виртуальный сетевой коммутатор.

5.В окне "Виртуальный коммутатор какого типа вы хотите создать?" выберите
Внешний.
6.Нажмите кнопку Создать виртуальный коммутатор.
7.В разделе "Свойства виртуального коммутатора" назначьте ему имя,
например Внешний коммутатор виртуальных машин.
8.В разделе "Тип подключения" убедитесь, что выбрана Внешняя сеть.
9.Выберите физический сетевой адаптер для связывания с новым виртуальным коммутатором. Этот сетевой адаптер физически подключен к сети.
10.Нажмите кнопку Применить, чтобы создать виртуальный коммутатор. На этом этапе, скорее всего, появится приведенное ниже сообщение. Щелкните Да, чтобы продолжить.

11.Нажмите кнопку ОК, чтобы закрыть окно диспетчера виртуальных коммутаторов.
Создание виртуального коммутатора с помощью PowerShell
Чтобы создать виртуальный коммутатор с внешним подключением с помощью
PowerShell:
1.Используйте команду Get-NetAdapter, чтобы вернуть список сетевых адаптеров, подключенных к системе Windows10.
PowerShell Копировать
PS C:\> Get-NetAdapter
Name |
InterfaceDescription |
|
|
ifIndex Status |
|
MacAddress |
LinkSpeed |
|
|
|
|
|
|
---- |
-------------------- |
------- ------ |
---------- |
--------- |
||
Ethernet 2 |
Broadcom NetXtreme 57xx Gigabit Cont... |
5 |
Up |
BC-30-5B-A8-C1-7F |
1 |
Gbps |
Ethernet |
Intel(R) PRO/100 M Desktop Adapter |
3 |
Up |
00-0E-0C-A8-DC-31 |
10 |
Mbps |
2.Выберите сетевой адаптер для использования с коммутатором Hyper-V и
разместите экземпляр в переменной $net.
Пример: $net = Get-NetAdapter -Name 'Ethernet'
3.Выполните следующую команду, чтобы создать новый виртуальный коммутатор Hyper-V.
4.Пример :
New-VMSwitch -Name "External VM Switch" -AllowManagementOS $True -NetAdapterName $net.Name
Виртуальная сеть на ноутбуке
Сеть NAT
Механизм преобразования сетевых адресов (NAT) предоставляет виртуальной машине доступ к сети вашего компьютера путем объединения IP-адреса главного компьютера с портом через внутренний виртуальный коммутатор Hyper-V.
Уэтого механизма есть ряд полезных возможностей.
1.NAT экономит IP-адреса за счет сопоставления внешнего IP-адреса и порта с гораздо большим набором внутренних IP-адресов.
2.NAT позволяет нескольким виртуальным машинам размещать приложения, которым требуются одинаковые (внутренние) порты связи, сопоставляя их с уникальными внешними портами.
3.NAT использует внутренний коммутатор. После создания внутреннего коммутатора вы можете не использовать сетевое подключение. Кроме того, за счет этого снижается нагрузка на сет компьютера.
Чтобы настроить сеть NAT и подключить ее к виртуальной машине, см. Руководство пользователя по созданию сети NAT.
Подход с использованием двух коммутаторов
Если вы используете Hyper-V в Windows 10 на ноутбуке и часто переключаетесь между беспроводной и проводной сети, может потребоваться создать виртуальный коммутатор для карты беспроводной сети и ethernet. В зависимости от того, как ноутбук подключается к сети можно изменить виртуальные машины между этими коммутаторами. Виртуальные машины не переключаться между проводных и беспроводных автоматически.
Важно!
Подход с использованием двух коммутаторов не поддерживает внешний виртуальный коммутатор через адаптер беспроводной связи и должен использоваться только для тестирования.
Следующий шаг— создание виртуальной машины
Создание виртуальной машины Windows
Создайте собственные службы интеграции
Начиная с выхода юбилейного обновления Windows 10 любой пользователь может создавать приложения, которые взаимодействуют с узлом Hyper-V и его виртуальными машинами с помощью сокетов Hyper-V — сокетов Windows с новым семейством адресов и специализированной конечной точкой для работы с виртуальными машинами. Вся связь через сонеты Hyper-V происходит без использования сети, а все данные остаются в одной и той же физической памяти. Приложения, использующие сонеты Hyper-V, похожи на службы интеграции
Hyper-V.
В этом документе показано, как создать простую программу на основе сокетов
Hyper-V.
Поддерживаемые операционные системы узла
•Windows 10 и более поздние версии
•Windows Server 2016 и более поздние версии
Поддерживаемые гостевые операционные системы
•Windows 10 и более поздние версии
•Windows Server 2016 и более поздние версии
•Гостевые ОС Linux со службами интеграции Linux Integration Services (см. статью Поддерживаемые виртуальные машины Linux и FreeBSD для Hyper-V в Windows)