다음을 통해 공유


Azure IoT Edge for Linux on Windows의 네트워킹 구성

적용 대상:IoT Edge 1.4 확인 표시 IoT Edge 1.4

Important

IoT Edge 1.5 LTS 및 IoT Edge 1.4는 지원되는 릴리스입니다. IoT Edge 1.4 LTS는 2024년 11월 12일에 수명이 종료됩니다. 이전 릴리스에 있는 경우 IoT Edge 업데이트를 참조하세요.

이 문서는 시나리오에 가장 적합한 네트워킹 옵션을 결정하고 EFLOW(IoT Edge for Linux on Windows) 구성 요구 사항에 대한 인사이트를 제공하는 데 도움이 됩니다.

네트워크를 통해 EFLOW(IoT Edge for Linux on Windows) 가상 머신을 호스트, Windows 호스트의 다른 가상 머신 및 외부 네트워크의 다른 디바이스/위치에 연결하려면 이에 따라 가상 머신 네트워킹을 적절히 구성해야 합니다.

Windows 클라이언트 SKU에서 기본 네트워킹을 설정하는 가장 쉬운 방법은 Windows Hyper-V 기능을 사용하도록 설정할 때 이미 만들어진 기본 스위치를 사용하는 것입니다. 그러나 Windows Server SKU 디바이스에서는 사용할 수 있는 기본 스위치가 없으므로 네트워킹이 좀 더 복잡합니다. Windows Server에 대한 가상 스위치를 만드는 방법에 대한 자세한 내용은 Linux on Windows에 대한 가상 스위치 만들기를 참조하세요.

EFLOW 네트워킹 개념에 대한 자세한 내용은 IoT Edge for Linux on Windows 네트워킹을 참조하세요.

VM 가상 스위치 구성

EFLOW 가상 머신을 배포하기 전의 첫 번째 단계는 사용할 가상 스위치의 형식을 결정하는 것입니다. EFLOW 지원 가상 스위치에 대한 자세한 내용은 EFLOW 가상 스위치 선택을 참조하세요. 사용하려는 가상 스위치 형식이 결정되면 가상 스위치를 올바르게 만들어야 합니다. 가상 스위치를 만드는 방법에 대한 자세한 내용은 Hyper-V 가상 머신에 대한 가상 스위치 만들기를 참조하세요.

참고 항목

Windows 클라이언트를 사용하고 기본 스위치를 사용하려는 경우 스위치를 만들 필요가 없으며 -vSwitchType-vSwitchName 매개 변수가 필요하지 않습니다.

참고 항목

VMware 인프라 및 외부 스위치 내에서 Windows 가상 머신을 사용하는 경우 EFLOW 중첩된 가상화를 참조하세요.

가상 스위치를 만든 후 배포를 시작하기 전에 가상 스위치 이름과 형식이 올바르게 설정되고 Windows 호스트 OS 아래에 나열되는지 확인합니다. Windows 호스트 OS의 모든 가상 스위치를 나열하려면 관리자 권한 PowerShell 세션에서 다음 PowerShell cmdlet을 사용합니다.

Get-VmSwitch

Windows 호스트의 가상 스위치에 따라 출력은 다음과 비슷합니다.

Name           SwitchType NetAdapterInterfaceDescription
----           ---------- ------------------------------
Default Switch Internal
IntOff         Internal
EFLOW-Ext      External

특정 가상 스위치(내부 또는 외부)를 사용하려면 올바른 매개 변수(-vSwitchNamevSwitchType)를 지정해야 합니다. 예를 들어 EFLOW-Ext라는 외부 스위치를 사용하여 EFLOW VM을 배포하려는 경우 관리자 권한 PowerShell 세션에서 다음 명령을 사용합니다.

Deploy-Eflow -vSwitchType "External" -vSwitchName "EFLOW-Ext"

VM IP 주소 할당 구성

사용할 가상 스위치 형식이 결정되면 두 번째 단계는 가상 스위치의 IP 주소 할당 유형을 결정하는 것입니다. IP 할당 옵션에 대한 자세한 내용은 EFLOW 지원 IP 할당을 참조하세요. 사용하는 가상 스위치 형식에 따라 지원되는 IP 주소 할당 메커니즘을 사용해야 합니다.

기본적으로 고정 IP 주소가 설정되지 않은 경우 EFLOW VM은 DHCP를 사용하여 IP 주소를 가상 스위치에 할당하려고 시도합니다. DHCP 서버가 가상 스위치 네트워크에 있는지 확인합니다. 사용할 수 없는 경우 EFLOW VM 설치에서 IP 주소를 할당하지 못하고 설치가 실패합니다. 기본 스위치를 사용하는 경우 이미 기본적으로 DHCP가 가상 스위치에 있으므로 DHCP 서버를 확인할 필요가 없습니다. 그러나 내부 또는 외부 가상 스위치를 사용하는 경우 다음 단계를 사용하여 확인할 수 있습니다.

  1. 명령 프롬프트가 엽니다.
  2. 모든 IP 구성 및 정보 표시
    ipconfig /all
    
  3. 외부 가상 스위치를 사용하는 경우 가상 스위치를 만드는 데 사용되는 네트워크 인터페이스를 확인합니다. 내부 가상 스위치를 사용하는 경우 스위치에 사용되는 이름을 확인합니다. 스위치가 있으면 DHCP EnabledYes 또는 No인지 확인하고 DHCP server 주소를 확인합니다.

고정 IP를 사용하는 경우 EFLOW 배포 중에 세 가지 매개 변수(-ip4Address, ip4GatewayAddressip4PrefixLength)를 지정해야 합니다. 하나의 매개 변수가 없거나 올바르지 않으면 EFLOW VM 설치에서 IP 주소를 할당하지 못하고 설치가 실패합니다. EFLOW VM 배포에 대한 자세한 내용은 IoT Edge for Linux on Windows용 PowerShell 함수를 참조하세요. 예를 들어 EFLOW-Ext라는 외부 스위치와 고정 IP 구성(IP 주소: 192.168.0.2. 게이트웨이 IP 주소: 192.168.0.1 및 IP 접두사 길이: 24)으로 EFLOW VM을 배포하려는 경우 관리자 권한 PowerShell 세션에서 다음 명령을 사용합니다.

Deploy-Eflow -vSwitchType "External" -vSwitchName "EFLOW-Ext" -ip4Address "192.168.0.2" -ip4GatewayAddress "192.168.0.1" -ip4PrefixLength "24"

EFLOW VM은 다시 부팅 시 주 가상 스위치(배포 중에 사용됨)에 대해 동일한 MAC 주소를 유지합니다. DHCP MAC 주소 예약을 사용하는 경우 Get-EflowVmAddr PowerShell cmdlet을 사용하여 주 가상 스위치 MAC 주소를 가져올 수 있습니다.

IP 할당 확인

EFLOW VM에 할당된 IP 주소를 확인하는 여러 가지 방법이 있습니다. 먼저 관리자 권한 PowerShell 세션을 사용하여 EFLOW cmdlet을 사용합니다.

Get-EflowVmAddr

출력은 다음과 유사해야 합니다.

C:\> Get-EflowVmAddr

[03/31/2022 12:54:31] Querying IP and MAC addresses from virtual machine (DESKTOP-EFLOW)

 - Virtual machine MAC: 00:15:5d:4e:15:2c
 - Virtual machine IP : 172.27.120.111 retrieved directly from virtual machine
00:15:5d:4e:15:2c
172.27.120.111

또 다른 방법은 Connect-Eflow cmdlet을 사용하여 VM에 원격으로 연결합니다. 그런 다음, ifconfig eth0 bash 명령을 사용하여 eth0 인터페이스를 확인할 수 있습니다. 출력은 다음과 같은 형태가 됩니다.

eth0      Link encap:Ethernet  HWaddr 00:15:5d:4e:15:2c
          inet addr:172.27.120.111  Bcast:172.27.127.255  Mask:255.255.240.0
          inet6 addr: fe80::215:5dff:fe4e:152c/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:5636 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2214 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:766832 (766.8 KB)  TX bytes:427274 (427.2 KB)

VM DNS 서버 구성

기본적으로 EFLOW 가상 머신에는 DNS 구성이 없습니다. DHCP를 사용하는 배포에서는 DHCP 서버에서 전파하는 DNS 구성을 가져오려고 시도합니다. 고정 IP를 사용하는 경우 DNS 서버를 수동으로 설정해야 합니다. EFLOW VM DNS에 대한 자세한 내용은 EFLOW DNS 구성을 참조하세요.

기본 인터페이스(eth0)에서 사용하는 DNS 서버를 확인하려면 다음 명령을 사용할 수 있습니다.

resolvectl | grep eth0 -A 8

출력은 다음과 비슷합니다. 목록의 "현재 DNS 서버" 및 "DNS 서버" 필드에 대한 IP 주소를 확인합니다. IP 주소가 없거나 IP 주소가 유효한 DNS 서버 IP 주소가 아닌 경우 DNS 서비스가 작동하지 않습니다.

Link 2 (eth0)
      Current Scopes: DNS
       LLMNR setting: yes
MulticastDNS setting: no
  DNSOverTLS setting: no
      DNSSEC setting: no
    DNSSEC supported: no
  Current DNS Server: 172.27.112.1
         DNS Servers: 172.27.112.1

DNS 서버 주소를 수동으로 설정해야 하는 경우 Set-EflowVmDNSServers EFLOW PowerShell cmdlet을 사용할 수 있습니다. EFLOW VM DNS 구성에 대한 자세한 내용은 IoT Edge for Linux on Windows용 PowerShell 함수를 참조하세요.

DNS 확인 검사

DNS 확인을 확인하는 여러 가지 방법이 있습니다.

먼저 EFLOW VM 내부에서 resolvectl query 명령을 사용하여 특정 URL을 쿼리합니다. 예를 들어 microsoft.com 주소에 대해 이름 확인이 작동하는지 확인하려면 다음을 사용합니다.

resolvectl query microsoft.com

출력은 다음과 같은 형태가 됩니다.

PS C:\> resolvectl query
microsoft.com: 40.112.72.205
               40.113.200.201
               13.77.161.179
               104.215.148.63
               40.76.4.15

-- Information acquired via protocol DNS in 1.9ms.
-- Data is authenticated: no

dig 명령을 사용하여 특정 URL을 쿼리할 수도 있습니다. 예를 들어 microsoft.com 주소에 대해 이름 확인이 작동하는지 확인하려면 다음을 사용합니다.

dig microsoft.com

출력은 다음과 같은 형태가 됩니다.

PS C:\> dig microsoft.com
; <<>> DiG 9.16.22 <<>> microsoft.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 36427
;; flags: qr rd ra; QUERY: 1, ANSWER: 5, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 65494
;; QUESTION SECTION:
;microsoft.com.                 IN      A

;; ANSWER SECTION:
microsoft.com.          0       IN      A       40.112.72.205
microsoft.com.          0       IN      A       40.113.200.201
microsoft.com.          0       IN      A       13.77.161.179
microsoft.com.          0       IN      A       104.215.148.63
microsoft.com.          0       IN      A       40.76.4.15

;; Query time: 11 msec
;; SERVER: 127.0

다음 단계

Azure IoT Edge for Linux on Windows 보안에 대해 자세히 알아봅니다.

최신 IoT Edge for Linux on Windows 업데이트를 사용하여 최신 상태를 유지합니다.