Поделиться через


Создание виртуального коммутатора IoT Edge для Linux в Windows

Область применения: Флажок IoT Edge 1.5 IoT Edge 1.5 Флажок IoT Edge 1.4 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-сервера

Необходимые компоненты

Создание виртуального коммутатора

Следующие шаги в этом разделе являются универсальными для создания виртуального коммутатора. Убедитесь, что конфигурация виртуального коммутатора соответствует вашей сетевой среде.

Примечание.

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

  1. Откройте сеанс PowerShell с повышенными привилегиями. Это можно сделать, открыв панель "Пуск " в Windows и введя "PowerShell". Щелкните правой кнопкой мыши приложение Windows PowerShell , которое отображается и выберите "Запуск от имени администратора".

  2. Проверьте виртуальные коммутаторы на узле Windows и убедитесь, что у вас еще нет виртуального коммутатора, который можно использовать. Для этого выполните следующую команду Get-VMSwitch в PowerShell:

    Get-VMSwitch
    

    Если виртуальный коммутатор с именем Коммутатор по умолчанию уже создан и создавать настраиваемый коммутатор не требуется, вы сможете установить IoT Edge для Linux в Windows без выполнения остальных действий, изложенных в этом руководстве.

  3. Создайте новый коммутатор виртуальной машины с именем и типом внутреннего или закрытого коммутатора, выполнив следующую команду New-VMSwitch , заменив значения заполнителей:

    New-VMSwitch -Name "{switchName}" -SwitchType {switchType}
    
  4. Чтобы получить IP-адрес созданного коммутатора, необходимо сначала получить его индекс интерфейса. Это значение можно получить, выполнив следующую команду Get-NetAdapter , заменив значение заполнителя:

    (Get-NetAdapter -Name "{switchName}").ifIndex
    

    Если при попытке выполнить эту команду, может потребоваться изменить значение Name параметра, чтобы следовать vEthernet ({switchName}) шаблону. Вы должны получить аналогичные выходные данные в следующем примере:

    Снимок экрана: выходные данные из команды Get-NetAdapter, в которой выделено значение индекса интерфейса.

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

  5. Полученный 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
  6. Задайте IP-адрес шлюза, заменив последний октет семейства IP-адресов виртуального коммутатора новым числовым значением. Например, замените последний октет на 1 и получите адрес 172.20.0.1. Выполните следующую команду New-NetIPAddress , чтобы задать новый IP-адрес шлюза, заменив значения заполнителей:

    New-NetIPAddress -IPAddress {gatewayIp} -PrefixLength 24 -InterfaceIndex {interfaceIndex}
    

    Выполнение этой команды должно выводить сведения, аналогичные следующему примеру:

    Снимок экрана: выходные данные выполнения команды New-NetIPAddress.

  7. Создайте объект преобразования сетевых адресов (NAT), который преобразует внутренний сетевой адрес во внешнюю сеть. Используйте тот же IPv4-адрес, что и на предыдущих шагах. На основе таблицы из шага 6 IP-адрес NAT соответствует исходному семейству IP-адресов , за исключением того, что последний октет заменяется новым числовым значением, например 0. Выполните следующую команду New-NetNat , чтобы задать IP-адрес NAT, заменив значения заполнителей:

    New-NetNat -Name "{switchName}" -InternalIPInterfaceAddressPrefix "{natIp}/24"
    

    Выполнение этой команды должно выводить сведения, аналогичные следующему примеру:

    Снимок экрана: выходные данные выполнения команды New-NetNat.

Теперь этот параметр создается. Затем вы настроите DNS.

Создание DHCP-сервера

Примечание.

Можно продолжить установку без DHCP-сервера до тех пор, пока виртуальная машина EFLOW развернута с помощью статических IP-параметров (ip4Address, ip4GatewayAddress, ). ip4PrefixLength Если будет использоваться динамическое выделение IP-адресов, убедитесь в продолжении установки DHCP-сервера.

Предупреждение

Для развертывания DHCP-сервера в корпоративной сетевой среде может потребоваться авторизация. Проверьте, соответствует ли конфигурация виртуального коммутатора политикам вашей корпоративной сети. Дополнительные сведения см. в статье "Развертывание DHCP с помощью Windows PowerShell".

  1. Проверьте, установлен ли компонент DHCP-сервера на хост-компьютере. Найдите столбец Install State. Если значение установлено, можно пропустить следующий шаг.

    Get-WindowsFeature -Name 'DHCP'
    
  2. Если DHCP-сервер еще не установлен, выполните следующую команду:

    Install-WindowsFeature -Name 'DHCP' -IncludeManagementTools
    
  3. Добавьте DHCP-сервер в локальные группы безопасности по умолчанию и перезапустите сервер.

    netsh dhcp add securitygroups
    Restart-Service dhcpserver
    

    При запуске DHCP-сервера вы получите следующие предупреждающие сообщения: WARNING: Waiting for service 'DHCP Server (dhcpserver)' to start...

  4. Чтобы настроить диапазон 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
    

    Эта команда не должна выводить выходные данные.

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

    Set-DhcpServerV4OptionValue -ScopeID {startIp} -Router {gatewayIp}
    Restart-service dhcpserver
    

Следующие шаги

Выполните действия, описанные в статье Установка и подготовка к работе Azure IoT Edge для Linux на устройстве Windows, чтобы настроить устройство с IOT Edge для Linux в Windows.