Настройка Windows 10

Обновлено: 01.07.2024

У меня есть хост Windows 10 Pro с виртуальными машинами, работающими в Hyper-V. Виртуальные машины находятся в частной локальной сети с хостом. Я хочу предоставить виртуальным машинам подключение к Интернету, и чтобы трафик виртуальной машины проходил через VPN-подключение, настроенное на хосте. Конкретный программный VPN (импульсный безопасный) не создает интерфейс, который можно «соединить» с vswitch.

Мои виртуальные машины Hyper-V находятся на 192.168.4.0/24, а мой хост с Windows 10 имеет виртуальный интерфейс на 192.168.4.215/24, который я хотел бы использовать в качестве шлюза для трафика виртуальных машин. Я хотел бы использовать таблицы маршрутизации на хосте Windows для маршрутизации трафика с виртуальных машин на 192.168.4.0/24 через интерфейс VPN, настроенный на хосте.

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

Когда я активирую VPN-подключение (импульсная защита), на хосте появляется новый виртуальный интерфейс с адресом 10.0.0.100/32, а маршрут по умолчанию автоматически добавляется в таблицу маршрутизации хоста, указывающий на 10.0.0.100 как шлюз по умолчанию. Таким образом, весь внешний трафик, генерируемый хостом Windows и его настольными приложениями, проходит через интерфейс VPN.

Я хотел бы настроить хост для перенаправления/переадресации всего входящего IP-трафика с 192.168.4.0/24 на интерфейс VPN, возможно, через NAT. Обычно я бы соединял интерфейсы, которые хочу соединить вместе, но этот конкретный адаптер vpn отказывается соединяться ни с чем.

Есть ли способ добиться этого в win10 pro или мне нужен сервер Windows? Это раздражает еще и потому, что это конкретное программное обеспечение vpn плохо поддерживается в Linux.

Ананд, архитектор

В Windows 10 Hyper-V есть сетевая функция NAT (преобразование сетевых адресов), но сейчас ее необходимо настроить с помощью PowerShell. Я покажу вам пошаговую инструкцию, как это сделать. Коммутатор NAT обеспечивает доступ виртуальной машины к Интернету без создания внешнего коммутатора (связывания коммутатора с физическим проводным или беспроводным адаптером).

Прежде чем мы начнем, вот требования, чтобы подготовить его заранее.

<р>1. IP-сеть для использования в гостях. Вам нужно найти подсеть, которая не используется в вашей сети Office. Если вы настраиваете свой дом, вы можете выбрать любую подсеть, которая не используется в вашем доме. Например, 192.168.200.0/24

<р>2. Гостевые виртуальные машины необходимы для назначения IP-адреса/подсети/шлюза вручную из подсети, выбранной вами в соответствии с требованием 1 выше. Или вам может потребоваться настроить DHCP-сервер на одной из гостевых виртуальных машин для автоматического назначения IP-адресов. Если у вас есть только одна или две гостевые ВМ, вы можете вручную установить IP-адрес на сетевых адаптерах.

Теперь пошаговая инструкция.

Шаг 1. Откройте PowerShell с правами администратора.

Выполните поиск PowerShell в меню «Пуск», щелкните правой кнопкой мыши PowerShell и выберите «Дополнительно» ==> «Запуск от имени администратора».

Шаг 2. Создайте только внутренний коммутатор Hyper-V.

Выполните эту команду в PowerShell.

New-VMSwitch –SwitchName «NAT-Switch» –SwitchType Internal –Verbose

Шаг 3. Найдите номер индекса интерфейса

Введите этот командлет и запишите индекс интерфейса (ifIndex) для адаптера NAT-Switch.

Шаг 4. Создайте шлюз NAT

Запустите этот командлет.

New-NetIPAddress – IPAddress 192.168.200.1 -PrefixLength 24 -InterfaceIndex 16 –Verbose

Замените параметры, как показано ниже.

IP-адрес (шлюз) с вашим собственным (должен быть из подсети, которую вы выбрали в разделе требований выше)

PrefixLength – это номер маски подсети для выбранной вами подсети

Индекс интерфейса, который вы записали на предыдущем шаге.

Шаг 4.1. Создайте сеть NAT

Запустите этот командлет и замените InternelIPInterfaceAddressPrefix выбранной сетью.

New-NetNat –Name NATNetwork –InternalIPInterfaceAddressPrefix 192.168.200.0/24 –Verbose

Шаг 5. Подключите виртуальную машину к коммутатору NAT

Вы можете вручную назначить гостевую сетевую карту коммутатору NAT, который мы создали на шаге 2. Или вы можете запустить этот командлет, чтобы назначить NIC со всех гостевых ВМ на «NAT-Switch»

Get-VM | Get-VMNetworkAdapter | Connect-VMNetworkAdapter –SwitchName «NAT-Switch»

Шаг 6. Назначьте IP-адреса сетевым адаптерам в гостевой системе

Откройте свойства сетевой карты на гостевых виртуальных машинах, назначьте адреса IPv4 из субъекта сети, который вы настроили на шаге 4.Или запустите DHCP-сервер одного из ваших гостей, чтобы автоматически распределять IP-адрес.

IP-адрес: 192.168.200.11
Подсеть: 255.255.255.0
Шлюз: 192.168.200.1
DNS: 4.2.2.2 и 8.8.8.8 (или собственный DNS-сервер из офисной сети ).

IP-адрес: 192.168.200.12
Подсеть: 255.255.255.0
Шлюз: 192.168.200.1
DNS: 4.2.2.2 и 8.8.8.8 (или собственный DNS-сервер из офисной сети ).

Это все. К настоящему времени гостевые машины должны иметь доступ к внешним сетям и Интернету.

Надеюсь, это помогло вам. Оставьте мне ответ ниже.

Поделиться:

Вот так:

Связанные

35 мыслей о « Windows 10: как настроить сеть NAT для гостей Hyper-V?

Я выполнил ваше руководство, но моя гостевая виртуальная машина (centos) не смогла подключиться к Интернету.
Окружающая среда:
-Windows 10 HyperV
-CentOS7 (1611)

То же самое и у меня, удалось решить?

Попробуйте другую подсеть (New-NetNAT), новый адрес шлюза из подсети (New-NetIPAddress) и новый IP-адрес из подсети для виртуальной машины.

Спасибо, у ВМ на моем ноутбуке с Win10 есть подключение к Интернету, когда я пользуюсь Wi-Fi в отеле.

Отлично сделано. Одно предложение по минимизации ошибок для адаптера get:

$natswitch = Get-NetAdapter -Name "*NAT-Switch"
New-NetIPAddress -InterfaceIndex $natswitch.InterfaceIndex -IPAddress…..

Пожалуйста, сделайте так: «*NAT-Switch*»

Или так: $natswitch = Get-NetAdapter | где

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

Отличные простые инструкции. Я ломал голову над сетевым NAT Hyper-V. 1 место для Virtualbox, когда речь заходит о простоте работы в сети.

Как получить IP-адреса один к одному, NAT 1:1, чтобы общедоступные IP-адреса извне сопоставлялись один к одному с IP-адресами внутри?

Спасибо, что помогли мне вспомнить настройку NAT на виртуальном коммутаторе.

Спасибо, что напомнили мне, как настроить NAT на виртуальном коммутаторе.

Просто и работает. Великолепно, спасибо за создание и распространение.

Не работает в CentOS, пробовал разные подсети и шлюзы.

Добрый день
Спасибо за совет. Я боролся и просто не могу заставить виртуальную машину получить доступ к Интернету через мой ноутбук. Интернет либо СУПЕР медленный, либо ВООБЩЕ не работает.

Я выполнил ваши инструкции, и теперь интернет не работает ни на ноутбуке, ни на виртуальной машине.

Вопрос:
Как отменить эти команды в Power Shell?

Это правильно?

Шаг 1: Remove-NetNat – имя NATNetwork

Шаг 2: Remove-NetIPAddress – IPAddress 192.168.200.1 -InterfaceIndex 18

Шаг 3. Удалить-VMSwitch «NAT-Switch»

Эбен прав.


Чарльз Тернер (@cturnerGSLC) 28 августа 2019 г. в 9:34 сказал:

Как это связывает сеть Nat с вашим текущим интерфейсом? У меня есть внутренний коммутатор nat в сети 192, но на хосте нет доступа в Интернет. Я отключил IP 6, чтобы убедиться, что он ничего не делает. Имеет ли значение, если у меня более одного коммутатора в Hyper v?

Это сработало. Спасибо!


Кайл ➐ (@kylemohr) 17 сентября 2019 г. в 21:28 сказал:

Сегодня днем ​​я провел около трех часов, играя с настройками сети Hyper V, пытаясь заставить ее работать, пока не нашел ваше руководство, и вы решили проблему за 15 минут. Спасибо!

Большое спасибо! У меня на рабочем ноутбуке есть Hyper-V, и они отключили общий доступ к подключению, поэтому NAT был единственным способом заставить мои виртуальные машины работать. Это отлично сработало для CentOS 7.


Адриан Хардинг (@gondrup) 8 октября 2019 г. в 12:45 сказал:

Спасибо за краткое руководство! Я использую ноутбук с гостями Hyper-V для веб-разработки, поэтому иногда это может быть проблемой при смене сетей или работе в автономном режиме. Это было как раз то, что мне было нужно.

У вас есть хост Hyper-V с именем Server1. Server1 подключается к вашей корпоративной сети.
На сервере Server1 настроены виртуальные коммутаторы (Private1,Internal1,External1).
Server1 имеет две виртуальные машины с именами VM1 и VM2, работающие под управлением Windows Server 2016. VM1 подключается к Private1. VM2 имеет два сетевых адаптера.
Необходимо убедиться, что ВМ1 подключается к корпоративной сети с помощью NAT:
1) Решение. Вы подключаете ВМ2 к Частному1 и Внешнему1. Вы запускаете командлеты New-NetIpAddress и New-
NetNat на VM2. Вы настраиваете VM1 для использования VM2 в качестве шлюза по умолчанию.
ДА или НЕТ?

2) Решение. Вы подключаете ВМ1 к Внутреннему1. Вы запускаете командлеты New-NetIpAddress и New-NetNat на
Server1. Вы настраиваете VM1 для использования Server1 в качестве шлюза по умолчанию.
ДА или НЕТ?

3) Решение. Вы подключаете VM2 к Private1 и External1. Вы устанавливаете сервер удаленного доступа на VM2 и
настраиваете NAT в консоли маршрутизации и удаленного доступа. Вы настраиваете VM1 для использования VM2 в качестве
шлюза по умолчанию.
ДА или НЕТ?

Привет, Ананд,
Ниже приведены сведения об IP моего ноутбука в сети Office:
IP-адрес: 139.73.43.21
Маска подсети: 255.255.252.0
Шлюз по умолчанию: 139.73. 40,3

Я установил Hyper-v, выполнил приведенные выше команды (шаги 2–6), однако не могу подключиться к Интернету внутри виртуальной машины Hyper-v. Команды, которые я запускал на своем локальном хосте, приведены ниже:
New-VMSwitch -SwitchName «NAT-Switch» -SwitchType Internal -Verbose
Get-NetAdapter
New-NetIPAddress –IPAddress 192.168.200.1 -PrefixLength 24 -InterfaceIndex 62 –Подробный
New-NetNAT –Name NATNetwork –InternalIPInterfaceAddressPrefix 192.168.200.0/24 –Подробный
Get-VM | Get-VMNetworkAdapter | Connect-VMNetworkAdapter –SwitchName «NAT-Switch»
Наконец-то я назначил нижеприведенный IP-адрес своей виртуальной машине Hyper-v:
IP-адрес: 192.168.200.11
Подсеть: 255.255.255.0
Шлюз: 192.168.200.1

Не могли бы вы помочь?

Здравствуйте, Венкат,
Я предполагаю, что в вашем офисе используется сеть 192.168.200.0. Попробуйте использовать другую сеть (например, 10.50.50.0/255.255.255.0)

Привет, Ананд,
Спасибо за быстрый ответ. Я проверю его и обновлю статус через несколько минут.
С уважением,
Венкат

Привет, Ананд,
Я использовал сеть 192.168.5.0/255.255.255.0, и это сработало!! Большое спасибо за ваш вклад!! Очень ценю это. Однако я могу подключиться к Интернету на виртуальной машине Hyper-V только тогда, когда я вручную устанавливаю IP-адрес DNS как 8.8.8.8. Я получу IP-адрес DNS при подключении к широкополосному Интернету дома, а также при работе вне офиса. Итак, как заставить мою виртуальную машину Hyper-V использовать IP-адреса DNS, назначенные моему ноутбуку. Это возможно? Без подключения к Интернету мой VPN не будет подключаться.

Привет, Ананд,
Единственный способ заставить мою виртуальную машину Hyper-V подключаться к Интернету — это жестко запрограммировать IP-адреса DNS 8.8.8.8 и 8.8.4.4? Я сравниваю, как работает виртуальная машина на рабочей станции VMWare. В VMWare мне никогда не приходилось вручную указывать IP-адреса, маску подсети, шлюз и DNS-адреса. Все выполняется автоматически в фоновом режиме рабочей станцией VMWare. Пока моя базовая физическая машина имеет подключение к Интернету, моя виртуальная машина VMWare автоматически подключается к Интернету. Проверяю, могу ли я иметь такой же параметр в виртуальной машине Hyper-V.

Как сеть HyperV-NatNetwork связана с физическим адаптером Ethernet? Я не могу пропинговать шлюз своего ПК с виртуальных машин Linux или выйти в Интернет. моя физическая сеть 192.168.254.x, а виртуальная сеть моей виртуальной машины 10.0.0.x. Разве мне не нужен способ соединить эти две сети?

Я застрял на команде «New-NetIPAddress». Если есть какой-то способ проверить команды, это очень помогло бы.

Майк, используйте команду PS: Get-NetIPConfiguration -InterfaceIndex nn — где nn — это номер InterfaceIndex, который вы использовали на шаге 4 выше.

У меня сработала настройка сети NAT, моя виртуальная машина получает доступ к сети с новой сетью NAT. Но виртуальная машина теряет доступ к Интернету, как только я подключаюсь к VPN моей компании. IP-адрес моей машины находится в диапазоне 192.X.X.X, тогда как IP-адреса компании — 10.X.X.X. Я использовал IP-адреса в этом примере, не уверен, почему я не могу получить доступ к Интернету. Я вручную добавил DNS-серверы компании на виртуальную машину.

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

Как изменить тип NAT на ПК

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

Как изменить тип NAT на ПК

Как изменить тип NAT на ПК

Что такое NAT?

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

Цели NAT

Выполнение функций посредника — не единственная обязанность, которую берет на себя NAT. Вот цели, выполняемые преобразованием сетевых адресов (NAT):

  • Предотвращение чрезмерного использования IP-адресов. Первоначально каждое устройство имело собственный IP-адрес, набор цифр, который давал ему уникальную идентификацию в Интернете. Но с ростом числа онлайн-пользователей эти адреса начали заканчиваться. Вот тут и приходит на помощь NAT. NAT преобразует все частные адреса в сетевой системе в один общедоступный адрес, гарантируя, что IP-адреса не будут исчерпаны.
  • Защитите свой частный IP-адрес. Назначая новые адреса всем устройствам в системе, NAT защищает ваш частный IP-адрес. Кроме того, служба также работает как брандмауэр, проверяя данные, поступающие в вашу локальную сеть.

Типы в NAT

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

<р>1. Открытый NAT: как следует из названия, открытый тип NAT не накладывает ограничений на количество или характер данных, которыми обмениваются ваше устройство и Интернет. Приложения, особенно видеоигры, прекрасно работают с этим типом NAT.

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

<р>3. Строгий NAT: вероятной причиной вашего медленного интернет-соединения является строгий тип NAT. Несмотря на исключительную безопасность, строгий тип NAT ограничивает почти каждый пакет данных, получаемый вашим устройством. Частые лаги в приложениях и видеоиграх можно списать на строгий тип NAT.

Как изменить преобразование сетевых адресов (NAT) на ПК с Windows 10

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

Способ 1. Включите UPnP

UPnP или Universal Plug and Play — это набор протоколов, которые помогают устройствам в сети соединяться друг с другом. Служба также позволяет приложениям автоматически перенаправлять порты, что значительно улучшает игровой процесс.

<р>1. Откройте браузер и войдите на страницу конфигурации вашего маршрутизатора. В зависимости от модели вашего устройства адрес панели управления маршрутизатора будет отличаться. Чаще всего этот адрес вместе с именем пользователя и паролем можно найти в нижней части вашего модема.

<р>2. После входа в систему найдите параметр UPnP и включите его.

 Включите UPnP на странице конфигурации маршрутизатора | Как изменить тип NAT на ПК

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

Способ 2. Включите сетевое обнаружение в Windows 10

Еще один способ изменить тип NAT на вашем ПК — включить Network Discovery на вашем устройстве Windows. Эта опция делает ваш компьютер видимым для других сетевых компьютеров и повышает скорость вашего интернета. Вот как вы можете включить Network Discovery в Windows 10:

<р>1. На ПК нажмите кнопку «Пуск» и откройте «Настройки».

<р>2. Нажмите «Сеть и Интернет», чтобы открыть все сетевые настройки.

В настройках приложения нажмите

<р>3. На следующей странице нажмите «Wi-Fi» на панели слева.

На панели слева выберите Wi-Fi | Как изменить тип NAT на ПК

<р>4. Прокрутите вниз до раздела «Связанные настройки» и нажмите «Изменить дополнительные параметры общего доступа».

В разделе

<р>5. В разделе «Сетевое обнаружение» нажмите «Включить сетевое обнаружение», а затем установите флажок «Включить автоматическую настройку устройств, подключенных к сети».

Включить при обнаружении сети | Включить включение обнаружения сети

<р>6. Преобразование сетевых адресов должно быть изменено, что ускорит ваше интернет-соединение.

Способ 3. Используйте переадресацию портов

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

<р>2. Теперь, следуя шагам, указанным в способе 1, перейдите на страницу конфигурации вашего маршрутизатора.

<р>3. Найдите «Переадресация портов». Вероятно, он должен находиться в дополнительных настройках или других аналогичных меню, в зависимости от модели вашего маршрутизатора.

<р>4. На этой странице включите «Post Forwarding» и нажмите на параметр, позволяющий добавить определенные порты.

<р>5. Введите номер порта по умолчанию в пустые текстовые поля, нажмите «Сохранить».

Войти в игру

<р>6. Перезагрузите роутер и снова запустите игру. Ваш тип NAT должен быть изменен.

Способ 4. Использование файла конфигурации

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

<р>1. Еще раз откройте панель конфигурации вашего роутера.

<р>2. Найдите опцию, которая позволит вам сделать резервную копию конфигурации вашего маршрутизатора и сохранить файл на вашем ПК. Конфигурация маршрутизатора будет сохранена в виде файла блокнота.

Сохранить конфигурацию маршрутизатора | Как Изменить тип NAT на ПК

<р>3. Обязательно создайте две копии файла конфигурации, чтобы иметь резервную копию на случай, если что-то пойдет не так.

<р>4. Откройте текстовый файл и нажмите Ctrl + F, чтобы найти определенный текст. Найдите «последняя привязка».

<р>5. В поле «последняя привязка» введите следующий код: «bind application=CONE(UDP) port=0000-0000». Вместо «0000» введите порт по умолчанию вашей игры. Если вы хотите открыть больше портов, вы можете использовать один и тот же код и каждый раз менять значение порта.

<р>6. После внесения изменений сохраните файл конфигурации.

<р>7. Вернитесь в панель управления маршрутизатора и выберите вариант восстановить файл конфигурации

. <р>8. Просмотрите свой компьютер и выберите файл, который вы только что сохранили. Загрузите его на странице конфигурации вашего маршрутизатора и восстановите настройки.

<р>9. Перезагрузите маршрутизатор и компьютер, и ваш тип NAT должен быть изменен.

Часто задаваемые вопросы (FAQ)

В1. Как избавиться от строгого типа NAT?

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

Вопрос 2. Почему мой тип NAT строгий?

NAT означает преобразование сетевых адресов и назначает новый общедоступный адрес вашим частным устройствам. По умолчанию большинство маршрутизаторов имеют строгий тип NAT. Это обеспечивает высокий уровень безопасности и предотвращает попадание подозрительных данных на ваше устройство. Хотя официального способа подтвердить ваш тип NAT не существует, производительности интернет-игр достаточно, чтобы определить, является ли ваш тип NAT строгим или открытым.

Рекомендуется:

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

Мы надеемся, что это руководство было полезным, и вы смогли изменить тип NAT на своем ПК. Если у вас есть какие-либо вопросы, запишите их в разделе комментариев ниже, и мы поможем вам.

Реклама

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

Эта функция очень удобна для предоставления доступа к Интернету виртуальным машинам без подключения адаптеров Wi-Fi или использования сервера RRAS/Linux.

Эта функция не была представлена ​​в пользовательском интерфейсе, вам нужно использовать PowerShell для создания виртуального коммутатора типа «NAT».

Однако хорошая новость заключается в том, что сети NAT по-прежнему можно создавать и настраивать с помощью командлетов PowerShell, но другим способом.

Обзор преобразования сетевых адресов

Каждая виртуальная машина подключена к внутреннему виртуальному коммутатору и будет использовать WinNAT для подключения к частной IP-подсети. WinNAT предоставляет виртуальной машине доступ к сетевым ресурсам, используя IP-адрес и порт хост-компьютера. WinNAT будет выполнять как преобразование сетевых адресов (NAT), так и преобразование адресов портов (PAT) между контейнером/хостом Hyper-V и самими контейнерами/виртуальными машинами.

Конечно, эта функция не включена в пользовательский интерфейс, но вы можете использовать PowerShell для создания внутреннего виртуального коммутатора NAT.

Шаг 1. Создайте внутренний виртуальный коммутатор

Шаг 2. Настройте шлюз NAT

Чтобы настроить шлюз NAT с помощью New-NetIPAddress, вам потребуется немного информации о вашей сети. Используйте следующий синтаксис. Обратите внимание, что дополнительные параметры, включая IPAddress, PrefixLength и InterfaceIndex, можно указать с помощью PowerShell.

  • IP-адрес: адрес IPv4 или IPv6 для использования в качестве IP-адреса шлюза NAT, который будет назначен внутреннему коммутатору (vEthernet).
  • PrefixLength: маска подсети, диапазон значений от 0 до 32. Вы хотите определить маску подсети, которая будет использоваться внутренним коммутатором NAT.
  • InterfaceIndex: это индекс интерфейса внутреннего коммутатора, который мы создали на шаге 1. Вы можете использовать Get-NetAdapter, чтобы определить номер ifIndex. В моем случае индекс интерфейса равен 16.

Шаг 3. Настройка сети NAT

Чтобы настроить сеть NAT с помощью New-NetNat, вам также потребуется немного информации о вашей сети и шлюзе NAT, который мы настроили на шаге 2. Вы должны использовать следующий синтаксис. Обратите внимание на дополнительные параметры, включая Name и InternalIPInterfaceAddressPrefix.

  • Имя: это имя сети NAT. Если вы хотите удалить сеть NAT в будущем, вам нужно использовать Remove-NetNAT –Name .
  • InternalIPInterfaceAddressPrefix: это сеть подсети NAT, описанная как для префикса IP шлюза NAT, так и для маски подсети NAT из шага 2 . В моем случае это сеть подсети NAT (172.31.1.0) и маска подсети (24), что равно 255.255.255.0.

Шаг 4. Подключите виртуальную машину к внутреннему сетевому коммутатору «NAT»

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

На последнем шаге вам необходимо вручную или через DHCP установить IP-адрес (и GW по умолчанию) для виртуальной машины в той же подсети NAT, в моем случае это (172.31.1.0/24) и шлюз по умолчанию ( 172.31.1.1).

Вот и все... Теперь ваши виртуальные машины обмениваются данными с внешним миром

Примечание. На момент написания этой статьи Hyper-V позволял создавать только одну сеть NAT.

Сеть контейнеров

Командлет New-ContainerNetwork также можно использовать для подключения ВМ к сети NAT, если вы установили функцию контейнера на узле Hyper-V, но его следует использовать с осторожностью, поскольку этот командлет был разработан для контейнеров Windows Server и инструктирует сетевую службу хоста выделить IP-адреса контейнерам из сетевого диапазона NAT. Вам придется вручную назначить IP-адрес и шлюз по умолчанию для виртуальной машины и убедиться, что IP-адрес еще не назначен контейнеру. Обратите внимание, что сетевая служба хоста не будет знать, что вы назначили IP-адрес из этого диапазона виртуальной машине, и поэтому может попытаться повторно назначить тот же IP-адрес контейнеру в будущем, таким образом, вы получите сетевой конфликт. Рекомендуемый способ — использовать метод, описанный в этом посте.

Большое спасибо Джейсону Мессеру (программный менеджер Microsoft в команде SDN) за информацию.

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