Создание виртуального коммутатора IoT Edge для Linux в Windows
Область применения: IoT Edge 1.5 IoT Edge 1.4
Внимание
Поддерживаются выпуски IoT Edge 1.5 LTS и IoT Edge 1.4 LTS. IoT Edge 1.4 LTS заканчивается жизнью 12 ноября 2024 года. Если вы используете более ранний выпуск, см. статью Обновление IoT Edge.
Azure IoT Edge для Linux в Windows использует виртуальный коммутатор на главном компьютере для взаимодействия с виртуальной машиной. Классические версии Windows включают параметр по умолчанию, который можно использовать, но Windows Server не используется. Прежде чем вы сможете развернуть IoT Edge для Linux в Windows на Windows Server, вам потребуется создать виртуальный коммутатор. Кроме того, с помощью этого руководства вы сможете при необходимости создать собственный виртуальный коммутатор.
В этой статье показано, как создать виртуальный коммутатор на устройстве Windows для установки IoT Edge для Linux в Windows. Этот процесс разделен на следующие шаги:
- Создание виртуального коммутатора
- Создание сервера NAT
- Установка и настройка DHCP-сервера
Необходимые компоненты
- Устройство с Windows. Дополнительные сведения о поддерживаемых версиях Windows см. в разделе "Операционные системы".
- Роль Hyper-V, установленная на устройстве Windows. Дополнительные сведения о том, как включить Hyper-V, см. в статье установка и инициализация Azure IoT Edge для Linux на устройстве Windows.
Создание виртуального коммутатора
Следующие шаги в этом разделе являются универсальными для создания виртуального коммутатора. Убедитесь, что конфигурация виртуального коммутатора соответствует вашей сетевой среде.
Примечание.
Ниже описано, как создать внутренний или частный виртуальный коммутатор. Дополнительные сведения о создании внешнего коммутатора см. в статье "Создание виртуального коммутатора для виртуальных машин Hyper-V". Обратите внимание, что если вы используете виртуальную машину Azure, виртуальный коммутатор не может быть внешним.
Откройте сеанс PowerShell с повышенными привилегиями. Это можно сделать, открыв панель "Пуск " в Windows и введя "PowerShell". Щелкните правой кнопкой мыши приложение Windows PowerShell , которое отображается и выберите "Запуск от имени администратора".
Проверьте виртуальные коммутаторы на узле Windows и убедитесь, что у вас еще нет виртуального коммутатора, который можно использовать. Для этого выполните следующую команду Get-VMSwitch в PowerShell:
Get-VMSwitch
Если виртуальный коммутатор с именем Коммутатор по умолчанию уже создан и создавать настраиваемый коммутатор не требуется, вы сможете установить IoT Edge для Linux в Windows без выполнения остальных действий, изложенных в этом руководстве.
Создайте новый коммутатор виртуальной машины с именем и типом внутреннего или закрытого коммутатора, выполнив следующую команду New-VMSwitch , заменив значения заполнителей:
New-VMSwitch -Name "{switchName}" -SwitchType {switchType}
Чтобы получить IP-адрес созданного коммутатора, необходимо сначала получить его индекс интерфейса. Это значение можно получить, выполнив следующую команду Get-NetAdapter , заменив значение заполнителя:
(Get-NetAdapter -Name "{switchName}").ifIndex
Если при попытке выполнить эту команду, может потребоваться изменить значение
Name
параметра, чтобы следоватьvEthernet ({switchName})
шаблону. Вы должны получить аналогичные выходные данные в следующем примере:Запишите значение индекса интерфейса, так как его необходимо использовать в последующих шагах.
Полученный IP-адрес виртуального коммутатора будет отличаться для каждой среды. Обратите внимание, что для остальных команд в этом руководстве вы будете использовать IP-адреса, производные от семейства 172.20.X.Y . Однако вы можете использовать собственное семейство адресов и IP-адреса.
Вы создадите и используйте следующие IP-адреса:
IP-адрес Template Пример Gateway IP xxx.xxx.xxx.1 172.20.0.1 IP-адрес NAT xxx.xxx.xxx.0 172.20.0.0 Начальный IP-адрес xxx.xxx.xxx.100 172.20.0.100 Конечный IP-адрес xxx.xxx.xxx.200 172.20.0.200 Задайте IP-адрес шлюза, заменив последний октет семейства IP-адресов виртуального коммутатора новым числовым значением. Например, замените последний октет на 1 и получите адрес 172.20.0.1. Выполните следующую команду New-NetIPAddress , чтобы задать новый IP-адрес шлюза, заменив значения заполнителей:
New-NetIPAddress -IPAddress {gatewayIp} -PrefixLength 24 -InterfaceIndex {interfaceIndex}
Выполнение этой команды должно выводить сведения, аналогичные следующему примеру:
Создайте объект преобразования сетевых адресов (NAT), который преобразует внутренний сетевой адрес во внешнюю сеть. Используйте тот же IPv4-адрес, что и на предыдущих шагах. На основе таблицы из шага 6 IP-адрес NAT соответствует исходному семейству IP-адресов , за исключением того, что последний октет заменяется новым числовым значением, например 0. Выполните следующую команду New-NetNat , чтобы задать IP-адрес NAT, заменив значения заполнителей:
New-NetNat -Name "{switchName}" -InternalIPInterfaceAddressPrefix "{natIp}/24"
Выполнение этой команды должно выводить сведения, аналогичные следующему примеру:
Теперь этот параметр создается. Затем вы настроите DNS.
Создание DHCP-сервера
Примечание.
Можно продолжить установку без DHCP-сервера до тех пор, пока виртуальная машина EFLOW развернута с помощью статических IP-параметров (ip4Address
, ip4GatewayAddress
, ). ip4PrefixLength
Если будет использоваться динамическое выделение IP-адресов, убедитесь в продолжении установки DHCP-сервера.
Предупреждение
Для развертывания DHCP-сервера в корпоративной сетевой среде может потребоваться авторизация. Проверьте, соответствует ли конфигурация виртуального коммутатора политикам вашей корпоративной сети. Дополнительные сведения см. в статье "Развертывание DHCP с помощью Windows PowerShell".
Проверьте, установлен ли компонент DHCP-сервера на хост-компьютере. Найдите столбец Install State. Если значение установлено, можно пропустить следующий шаг.
Get-WindowsFeature -Name 'DHCP'
Если DHCP-сервер еще не установлен, выполните следующую команду:
Install-WindowsFeature -Name 'DHCP' -IncludeManagementTools
Добавьте DHCP-сервер в локальные группы безопасности по умолчанию и перезапустите сервер.
netsh dhcp add securitygroups Restart-Service dhcpserver
При запуске DHCP-сервера вы получите следующие предупреждающие сообщения:
WARNING: Waiting for service 'DHCP Server (dhcpserver)' to start...
Чтобы настроить диапазон IP-адресов DHCP,необходимо задать IP-адрес в качестве начального IP-адреса и IP-адреса в качестве конечного IP-адреса. Этот диапазон определяется параметрами StartRange и EndRange в команде Add-DhcpServerv4Scope. При выполнении этой команды также необходимо задать маску подсети, которая будет иметь значение 255.255.255.0. На основе шаблонов IP-адресов и примеров в таблице из предыдущего раздела, установка StartRange как 169.254.229.100 и EndRange как 169.254.229.200 будет доступна 100 IP-адресов. Выполните следующую команду, заменив заполнители собственными значениями:
Add-DhcpServerV4Scope -Name "AzureIoTEdgeScope" -StartRange {startIp} -EndRange {endIp} -SubnetMask 255.255.255.0 -State Active
Эта команда не должна выводить выходные данные.
Назначьте IP-адреса NAT и шлюза, созданные в предыдущем разделе DHCP-серверу, и перезапустите сервер для загрузки конфигурации. Первая команда не должна выводить выходные данные, но перезапуск DHCP-сервера должен выводить те же предупреждающие сообщения, которые вы получили при выполнении этого в третьем шаге этого раздела.
Set-DhcpServerV4OptionValue -ScopeID {startIp} -Router {gatewayIp} Restart-service dhcpserver
Следующие шаги
Выполните действия, описанные в статье Установка и подготовка к работе Azure IoT Edge для Linux на устройстве Windows, чтобы настроить устройство с IOT Edge для Linux в Windows.