IoT Edge for Linux on Windows 네트워킹
적용 대상: IoT Edge 1.5 IoT Edge 1.4
Important
IoT Edge 1.5 LTS 및 IoT Edge 1.4 LTS는 지원되는 릴리스입니다. IoT Edge 1.4 LTS는 2024년 11월 12일에 수명이 종료됩니다. 이전 릴리스에 있는 경우 IoT Edge 업데이트를 참조하세요.
이 문서에서는 Windows 호스트 OS와 IoT EFLOW(Edge for Linux on Windows) 가상 머신용 간에 네트워킹을 구성하는 방법에 대한 정보를 제공합니다. EFLOW는 IoT Edge 모듈을 실행하기 위해 CBL-Mariner Linux 가상 머신을 사용합니다. EFLOW 아키텍처에 대한 자세한 내용은 Azure IoT Edge for Linux on Windows란?을 참조하세요.
네트워킹
Windows 호스트 OS와 EFLOW 가상 머신 간의 통신 채널을 설정하기 위해 Hyper-V 네트워킹 스택을 사용합니다. Hyper-V 네트워킹에 대한 자세한 내용은 Hyper-V 네트워킹 기본 사항을 참조하세요. EFLOW의 기본 네트워킹은 간단합니다. 가상 스위치와 가상 네트워크의 두 부분을 사용합니다.
Windows 클라이언트 SKU에서 기본 네트워킹을 설정하는 가장 쉬운 방법은 Hyper-V 기능으로 이미 만들어진 기본 스위치를 사용하는 것입니다. EFLOW 배포 중에 -vSwitchName
및 -vSwitchType
플래그를 사용하여 특정 가상 스위치를 지정하지 않으면 기본 스위치를 사용하여 가상 머신이 만들어집니다.
Windows Server SKU 디바이스에서는 사용할 수 있는 기본 스위치가 없으므로 네트워킹이 좀 더 복잡합니다. 하지만 Azure IoT Edge for Linux on Windows 가상 스위치 만들기에 대한 포괄적인 가이드가 있습니다.
다양한 형식의 네트워킹을 처리하기 위해 다양한 형식의 가상 스위치를 사용하고 여러 가상 네트워크 어댑터를 추가할 수 있습니다.
가상 스위치 선택
EFLOW는 내부 및 외부의 두 가지 형식의 Hyper-V 가상 스위치를 지원합니다. EFLOW 배포 이전에 만들 때 각각 원하는 것을 선택합니다. Hyper-V 관리자 또는 Windows PowerShell용 Hyper-V 모듈을 사용하여 가상 스위치를 만들고 관리할 수 있습니다. 가상 스위치 만들기에 대한 자세한 내용은 Hyper-V 가상 머신용 가상 스위치 만들기를 참조하세요.
가상 스위치를 만든 후 가상 스위치를 일부 변경할 수 있습니다. 예를 들어, 기존 스위치를 다른 형식으로 변경할 수 있지만 그렇게 하면 해당 스위치에 연결된 EFLOW 가상 머신의 네트워킹 기능에 영향을 미칠 수 있습니다. 따라서 실수를 했거나 무언가를 테스트해야 하는 경우가 아니면 가상 스위치 구성을 변경하지 않는 것이 좋습니다.
EFLOW VM이 Windows 클라이언트 SKU 또는 Windows Server SKU 디바이스에 배포되었는지 여부에 따라 다음 표와 같이 다양한 형식의 스위치를 지원합니다.
가상 스위치 유형 | Windows 클라이언트 SKU | Windows Server SKU |
---|---|---|
외부 | ||
Internal | - | |
기본 스위치 | - |
외부 가상 스위치 - 실제 네트워크 어댑터에 바인딩하여 유선 실제 네트워크에 연결합니다. 외부 네트워크의 디바이스와 통신할 수 있도록 실제 네트워크에 대한 가상 머신 액세스를 제공합니다. 또한 동일한 Hyper-V 서버의 가상 머신이 서로 통신할 수 있습니다.
내부 가상 스위치 - 가상 스위치가 있는 호스트에서 실행 중인 가상 머신과 호스트와 가상 머신 사이에서만 사용할 수 있는 네트워크에 연결합니다.
참고 항목
기본 스위치는 Windows 클라이언트 SKU에서 Hyper-V가 사용하도록 설정되면 기본적으로 만들어지는 특정 내부 가상 스위치입니다. 가상 스위치에는 이미 IP 할당을 위한 DHCP 서버, 사용하도록 설정된 ICS(인터넷 연결 공유) 및 NAT 테이블이 있습니다. EFLOW의 경우 기본 스위치는 추가 구성 없이 사용할 수 있는 가상 내부 스위치입니다.
IP 주소 할당
EFLOW VM 네트워크 IP 통신을 사용하도록 설정하려면 가상 머신에 할당된 IP 주소가 있어야 합니다. 이 IP 주소는 고정 IP 또는 DHCP의 두 가지 방법으로 구성할 수 있습니다.
사용되는 가상 스위치 형식에 따라 EFLOW VM은 다음 표와 같이 다양한 IP 할당을 지원합니다.
가상 스위치 유형 | 고정 IP | DHCP |
---|---|---|
외부 | ||
Internal | ||
기본 스위치 | - |
고정 IP - 이 IP 주소는 설치 중에 EFLOW VM에 영구적으로 할당되며 EFLOW VM 또는 Windows 호스트 다시 부팅 시 변경되지 않습니다. 고정 IP 주소에는 일반적으로 IPv4와 IPv6의 두 가지 버전이 있습니다. 그러나 EFLOW는 IPv4 주소에 대해 고정 IP만 지원합니다. 고정 IP를 사용하는 네트워크에서 네트워크의 각 디바이스는 겹치지 않는 주소를 갖습니다. EFLOW 설치 중에 EFLOW VM IP4 주소(
-ip4Address
), IP4 접두사 길이(-ip4PrefixLength
) 및 기본 게이트웨이 IP4 주소(-ip4GatewayAddress
)를 입력해야 합니다. 올바른 구성을 위해 모든 3개의 매개 변수를 입력해야 합니다.예를 들어, 고정 IP 주소가 192.168.0.100인 ExternalEflow라는 외부 가상 스위치를 사용하여 EFLOW VM을 배포하려면 기본 게이트웨이 192.168.0.1 및 접두사 길이가 24인 경우 다음 배포 명령이 필요합니다.
Deploy-Eflow -vSwitchName "ExternalEflow" -vswitchType "External" -ip4Address 192.168.0.100 -ip4GatewayAddress 192.168.0.1 -ip4PrefixLength 24
Warning
고정 IP를 사용하는 경우 3개의 매개 변수(
ip4Address
,ip4GatewayAddres
,ip4PrefixLength
)를 사용해야 합니다. 또한 IP 주소가 유효하지 않거나 네트워크의 다른 디바이스에서 사용 중이거나 게이트웨이 주소가 올바르지 않은 경우 EFLOW VM이 IP 주소를 가져올 수 없으므로 EFLOW 설치가 실패할 수 있습니다.DHCP - 고정 IP와 달리 DHCP를 사용할 때 EFLOW 가상 머신에는 동적 IP 주소가 할당됩니다. 이는 변경될 수 있는 주소입니다. 네트워크에는 동적 IP 주소를 할당하도록 구성되고 작동하는 DHCP 서버가 있어야 합니다. DHCP 서버는 EFLOW VM 및 네트워크에 연결된 다른 VM에 빈 IP 주소를 할당합니다. 따라서 DHCP를 사용하여 EFLOW를 배포할 때 DHCP 서버가 모든 정보를 제공하므로 IP 주소, 게이트웨이 주소 또는 접두사 길이가 필요하지 않습니다.
Warning
DHCP를 사용하여 EFLOW를 배포하는 경우 EFLOW VM 가상 스위치에 연결된 네트워크에 DHCP 서버가 있어야 합니다. DHCP 서버가 없으면 VM이 IP 주소를 가져올 수 없으므로 EFLOW 설치가 실패합니다.
DNS
DNS(Domain Name System)는 사용자가 읽을 수 있는 도메인 이름(예: www.microsoft.com)을 컴퓨터가 읽을 수 있는 IP 주소(예: 192.0.2.44)로 변환합니다. EFLOW 가상 머신은 systemd(컴퓨터 및 서비스 관리자)를 사용하므로 DNS 또는 이름 확인 서비스는 systemd-resolved 서비스를 통해 로컬 애플리케이션 및 서비스에 제공됩니다.
기본적으로 EFLOW VM DNS 구성 파일에는 로컬 스텁 127.0.0.53이 유일한 DNS 서버로 포함되어 있습니다. 이는 시스템에서 사용하는 이름 서버를 추가하는 데 사용되는 /etc/resolv.conf 파일로 리디렉션됩니다. 로컬 스텁은 DNS 쿼리를 해결하기 위해 로컬로 실행되는 DNS 서버입니다. 경우에 따라 이러한 쿼리는 네트워크의 다른 DNS 서버로 전달된 다음 로컬로 캐시됩니다.
특정 DNS 서버 또는 서버 목록을 사용하도록 EFLOW 가상 머신을 구성할 수 있습니다. 이렇게 하려면 Set-EflowVmDnsServers
PowerShell cmdlet을 사용할 수 있습니다. DNS 구성에 대한 자세한 내용은 IoT Edge for Linux on Windows에 대한 PowerShell 함수를 참조하세요.
EFLOW VM에 할당된 DNS 서버를 확인하려면 EFLOW VM 내부에서 resolvectl status
명령을 사용합니다. 명령의 출력에는 각 인터페이스에 대해 구성된 DNS 서버 목록이 표시됩니다. 특히 EFLOW VM 통신의 기본 인터페이스가 될 eth0 인터페이스 상태를 확인하는 것이 중요합니다. 또한 목록의 현재 DNS 서버 및 DNS 서버 필드의 IP 주소를 확인합니다. IP 주소가 없거나 IP 주소가 유효한 DNS 서버 IP 주소가 아닌 경우 DNS 서비스가 작동하지 않습니다.
정적 MAC 주소
Hyper-V를 사용하면 고정 또는 동적 MAC 주소로 가상 머신을 만들 수 있습니다. EFLOW 가상 머신을 만드는 동안 MAC 주소는 임의로 만들어지고 로컬에 저장되어 가상 머신이나 Windows 호스트를 다시 부팅할 때 동일한 MAC 주소를 유지합니다. EFLOW 가상 머신 MAC 주소를 쿼리하려면 다음 명령을 사용할 수 있습니다.
Get-EflowVmAddr
다중 NIC(네트워크 인터페이스 카드)
여러 NIC가 필요한 네트워크 가상 어플라이언스와 시나리오가 많이 있습니다. EFLOW 가상 머신은 여러 NIC 연결을 지원합니다. 여러 NIC를 사용하면 네트워크 트래픽을 더 잘 관리할 수 있습니다. 또한 프런트 엔드 NIC와 백 엔드 NIC 간의 트래픽을 분리하거나, 관리 평면 통신에서 데이터 영역 통신을 분리할 수 있습니다.
예를 들어, EFLOW 가상 머신을 DMZ(완충 영역) 및 모든 OPC UA 호환 디바이스가 연결된 오프라인 네트워크에 연결해야 하는 수많은 업계용 IoT 시나리오가 있습니다. 이는 여러 NIC를 EFLOW VM에 연결하여 지원할 수 있는 여러 시나리오 중 하나일 뿐입니다.
다중 NIC에 대한 자세한 내용은 다중 NIC 지원을 참조하세요.
Warning
EFLOW 다중 NIC 기능을 사용할 때 다른 경로 우선 순위를 설정할 수 있습니다. 기본적으로 EFLOW는 VM에 할당된 ehtX 인터페이스당 하나의 기본 경로를 만들고 임의의 우선 순위를 할당합니다. 모든 인터페이스가 인터넷에 연결되어 있으면 임의의 우선 순위가 문제가 되지 않을 수 있습니다. 그러나 NIC 중 하나가 {b>오프라인오프라인온라인EFLOW 라우팅을 참조하세요.
다음 단계
Azure IoT Edge for Linux on Windows 보안에 대해 자세히 알아봅니다.
EFLOW 네트워킹 관리 방법 알아보기 Azure IoT Edge for Linux on Windows의 네트워킹 구성