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


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

Применимо к:IoT Edge 1.5 флажок IoT Edge 1.5

Внимание

IoT Edge 1.5 LTS — это поддерживаемый выпуск. IoT Edge 1.4 LTS достиг срока окончания службы 12 ноября 2024 года. Если вы используете более ранний выпуск, ознакомьтесь с Update IoT Edge.

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

В этой статье показано, как создать виртуальный коммутатор на устройстве Windows для установки IoT Edge для Linux на Windows. Этот процесс разделен на следующие шаги:

  • Создание виртуального коммутатора
  • Создание таблицы NAT
  • Установка и настройка DHCP-сервера

Предварительные требования

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

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

Примечание.

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

  1. Откройте сеанс PowerShell с повышенными привилегиями. Это можно сделать, открыв панель Start на Windows и введя текст в PowerShell. Щелкните правой кнопкой мыши приложение Windows PowerShell которое отображается и выберите Run as administrator.

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

    Get-VMSwitch
    

    Если виртуальный коммутатор с именем Default Switch уже создан, и вам не нужен настраиваемый виртуальный коммутатор, вы сможете установить 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-адрес Шаблон Пример
    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-сервера в корпоративной сетевой среде может потребоваться авторизация. Проверьте, соответствует ли конфигурация виртуального коммутатора политикам вашей корпоративной сети. Дополнительные сведения см. в статье Deploy 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 в качестве 172.20.0.100 и EndRange как 172.20.0.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.