Konfigurace Azure IoT Edge pro Linux ve Windows v DMZ
Platí pro: IoT Edge 1.4
Důležité
Podporované verze azure IoT Edge 1.5 LTS a IoT Edge 1.4. IoT Edge 1.4 LTS končí 12. listopadu 2024. Pokud používáte starší verzi, podívejte se na článek Aktualizace IoT Edge.
Tento článek popisuje, jak nakonfigurovat virtuální počítač Azure IoT Edge pro Linux (EFLOW) tak, aby podporoval více síťových karet a připojil se k více sítím. Povolením podpory více síťových adaptérů můžou aplikace spuštěné na virtuálním počítači EFLOW komunikovat se zařízeními připojenými k offline síti a pomocí IoT Edge odesílat data do cloudu.
Požadavky
- Zařízení s Windows s již nastaveným EFLOW. Další informace o instalaci a konfiguraci EFLOW najdete v tématu Vytvoření a zřízení IoT Edge pro Linux na zařízení s Windows pomocí symetrických klíčů.
- Virtuální přepínač se liší od výchozího přepínače použitého při instalaci EFLOW. Další informace o vytvoření virtuálního přepínače najdete v tématu Vytvoření virtuálního přepínače pro Azure IoT Edge pro Linux ve Windows.
Průmyslový scénář
Průmyslové IoT přehání konvergenci informačních technologií (IT) a provozních technologií (OT). Vytváření tradičních prostředků OT inteligentnějších s IT technologiemi ale také znamená větší expozici kybernetickým útokům. Tento scénář je jedním z hlavních důvodů, proč je více prostředí navrženo pomocí demilitarizovaných zón, označovaných také jako DMZ.
Představte si scénář pracovního postupu, ve kterém máte konfiguraci sítě rozdělenou do dvou různých sítí nebo zón. V první zóně můžete mít zabezpečenou síť definovanou jako offline síť. Offline síť nemá žádné připojení k internetu a je omezená na interní přístup. Ve druhé zóně můžete mít demilitarizovanou zónu (DMZ), ve které můžete mít několik zařízení s omezeným připojením k internetu. Při přesunu pracovního postupu, který se má spustit na virtuálním počítači EFLOW, může dojít k problémům s přístupem k různým sítím, protože virtuální počítač EFLOW má ve výchozím nastavení připojenou jenom jednu síťovou kartu.
V tomto scénáři máte prostředí s některými zařízeními, jako jsou programovatelné řadiče logiky (PLC) nebo zařízení kompatibilní s sjednocenou architekturou OPC UA (OPC UA) připojená k offline síti a chcete nahrát všechny informace o zařízení do Azure pomocí modulu OPC Publisher spuštěného na virtuálním počítači EFLOW.
Vzhledem k tomu, že hostitelské zařízení EFLOW a zařízení PLC nebo OPC UA jsou fyzicky připojené k offline síti, můžete k připojení virtuálního počítače EFLOW k offline síti použít Azure IoT Edge pro Linux na virtuálním virtuálním počítači s Windows s několika konfiguracemi síťových adaptérů . Pomocí externího virtuálního přepínače můžete virtuální počítač EFLOW připojit k offline síti a přímo komunikovat s jinými offline zařízeními.
U druhé sítě je hostitelské zařízení EFLOW fyzicky připojené k DMZ (online síť) s připojením k internetu a Azure. Pomocí interního nebo externího přepínače můžete virtuální počítač EFLOW připojit k Azure IoT Hubu pomocí modulů IoT Edge a nahrát informace odeslané offline zařízeními prostřednictvím offline síťové karty.
Shrnutí scénáře
Zabezpečená síť:
- Žádné připojení k internetu – přístup je omezený.
- Připojené počítače nebo zařízení kompatibilní s UPC UA.
- Virtuální počítač EFLOW připojený pomocí externího virtuálního přepínače
DMZ:
- Připojení k internetu – Povolené připojení Azure.
- Virtuální počítač EFLOW připojený ke službě Azure IoT Hub pomocí interního nebo externího virtuálního přepínače.
- Vydavatel OPC spuštěný jako modul uvnitř virtuálního počítače EFLOW, který se používá k publikování dat do Azure.
Konfigurace virtuálních přepínačů sítě virtuálních počítačů
Následující kroky jsou specifické pro sítě popsané v ukázkovém scénáři. Ujistěte se, že se používají virtuální přepínače a konfigurace použité v souladu s vaším síťovým prostředím.
Poznámka:
Kroky v tomto článku předpokládají, že virtuální počítač EFLOW byl nasazen s externím virtuálním přepínačem připojeným k zabezpečené síti (offline). Následující kroky můžete změnit na konkrétní konfiguraci sítě, kterou chcete dosáhnout. Další informace o podpoře více síťových adaptérů EFLOW najdete v tématu Azure IoT Edge pro Linux ve virtuálních několika konfiguracích síťových adaptérů s Windows.
Pokud chcete dokončit zřizování virtuálního počítače EFLOW a komunikovat s Azure, musíte přiřadit další síťovou kartu, která je připojená k síti DMZ (online).
V tomto scénáři přiřadíte externí virtuální přepínač připojený k síti DMZ. Další informace najdete v tématu Vytvoření virtuálního přepínače pro virtuální počítače Hyper-V.
Pokud chcete vytvořit externí virtuální přepínač, postupujte takto:
- Spusťte Správce technologie Hyper-V.
- V akcích vyberte Správce virtuálních přepínačů.
- Ve virtuálních přepínačích vyberte nový přepínač virtuální sítě.
- Zvolte typ Externí a pak vyberte Vytvořit virtuální přepínač.
- Zadejte název, který představuje zabezpečenou síť. Například OnlineOPCUA.
- V části Typ připojení vyberte Externí síť a pak zvolte síťový adaptér připojený k síti DMZ.
- Vyberte Použít.
Po vytvoření externího virtuálního přepínače ho musíte připojit k virtuálnímu počítači EFLOW pomocí následujícího postupu. Pokud potřebujete připojit více síťových rozhraní, přečtěte si téma EFLOW Více síťových karet.
Pro vlastní nový externí virtuální přepínač , který jste vytvořili, použijte následující příkazy PowerShellu k:
Připojte přepínač k virtuálnímu počítači EFLOW.
Add-EflowNetwork -vswitchName "OnlineOPCUA" -vswitchType "External"
Nastavte statickou IP adresu.
Add-EflowVmEndpoint -vswitchName "OnlineOPCUA" -vEndpointName "OnlineEndpoint" -ip4Address 192.168.0.103 -ip4PrefixLength 24 -ip4GatewayAddress 192.168.0.1
Po dokončení máte k virtuálnímu počítači EFLOW přiřazený přepínač OnlineOPCUA . Pokud chcete zkontrolovat více příloh síťových adaptérů, postupujte následovně:
Spuštěním příkazu Spustit jako správce otevřete relaci PowerShellu se zvýšenými oprávněními.
Připojte se k virtuálnímu počítači EFLOW.
Connect-EflowVm
Jakmile budete na virtuálním počítači, vypište všechna síťová rozhraní přiřazená k virtuálnímu počítači EFLOW.
ifconfig
Zkontrolujte konfiguraci PROTOKOLU IP a ověřte, že se zobrazí rozhraní eth0 (připojené k zabezpečené síti) a rozhraní eth1 (připojené k síti DMZ).
Konfigurace směrování sítě virtuálních počítačů
Při použití funkce EFLOW s více síťovými kartami můžete chtít nastavit různé priority tras. Ve výchozím nastavení vytvoří EFLOW jednu výchozí trasu na rozhraní ehtX přiřazené k virtuálnímu počítači. EFLOW přiřadí výchozí trasu náhodnou prioritu. Pokud jsou všechna rozhraní připojená k internetu, náhodné priority nemusí být problém. Pokud je ale některá z síťových adaptérů připojená k offline síti, můžete chtít nastavit prioritu online síťové karty přes offline síťové karty, aby se virtuální počítač EFLOW připojil k internetu.
EFLOW používá službu směrování ke správě alternativ směrování sítě. Pokud chcete zkontrolovat dostupné trasy virtuálních počítačů EFLOW, postupujte následovně:
Spuštěním příkazu Spustit jako správce otevřete relaci PowerShellu se zvýšenými oprávněními.
Připojte se k virtuálnímu počítači EFLOW.
Connect-EflowVm
Jakmile budete na virtuálním počítači, vypište všechny síťové trasy nakonfigurované na virtuálním počítači EFLOW.
sudo route
Tip
Předchozí obrázek ukazuje výstup příkazu trasy s přiřazenými dvěma síťovými adaptéry (eth0 a eth1). Virtuální počítač vytvoří dvě různá výchozí pravidla cílů s různými metrikami. Nižší hodnota metriky má vyšší prioritu. Tato směrovací tabulka se bude lišit v závislosti na scénáři sítě nakonfigurovaném v předchozích krocích.
Konfigurace statických tras
Při každém spuštění virtuálního počítače SFLOW se síťové služby znovu vytvoří všechny trasy a všechny dříve přiřazené priority se můžou změnit. Chcete-li tento problém vyřešit, můžete přiřadit požadovanou prioritu pro každou trasu při každém spuštění virtuálního počítače EFLOW. Můžete vytvořit službu, která se spustí při každém spuštění virtuálního počítače a pomocí route
příkazu nastaví požadované priority tras.
Nejprve vytvořte skript Bash, který provede potřebné příkazy pro nastavení tras. Například po výše zmíněném síťovém scénáři má virtuální počítač EFLOW dvě síťové karty (offline a online sítě). Síťová karta eth0 je připojena pomocí IP xxx.xxx.xxx.xxx brány. Síťová karta eth1 je připojena pomocí IP adresy brány yyy.y.y.yy.
Následující skript resetuje výchozí trasy pro eth0 i *eth1 a pak přidá trasy s požadovanou <číselnou> metrikou. Mějte na paměti, že nižší hodnota metriky má vyšší prioritu.
#!/bin/sh
# Wait 30s for the interfaces to be up
sleep 30
# Delete previous eth0 route and create a new one with desired metric
sudo ip route del default via xxx.xxx.xxx.xxx dev eth0
sudo route add -net default gw xxx.xxx.xxx.xxx netmask 0.0.0.0 dev eth0 metric <number>
# Delete previous eth1 route and create a new one with desired metric
sudo ip route del default via yyy.yyy.yyy.yyy dev eth1
sudo route add -net default gw yyy.yyy.yyy.yyy netmask 0.0.0.0 dev eth1 metric <number>
Pomocí předchozího skriptu můžete vytvořit vlastní skript specifický pro váš síťový scénář. Jakmile je skript definovaný, uložte ho a přiřaďte oprávnění ke spuštění. Pokud je například název skriptu route-setup.sh, můžete přiřadit oprávnění ke spuštění pomocí příkazu sudo chmod +x route-setup.sh
. Můžete otestovat, jestli skript funguje správně, spuštěním ručně pomocí příkazu sudo sh ./route-setup.sh
a následnou kontrolou sudo route
směrovací tabulky pomocí příkazu.
Posledním krokem je vytvoření služby Linuxu, která běží při spuštění, a spuštěním skriptu Bash nastaví trasy. Abyste mohli službu načíst, musíte vytvořit systémový soubor jednotek. Následuje příklad tohoto souboru.
[Unit]
after=network
[Service]
Type=simple
ExecStart=/bin/bash /home/iotedge-user/route-setup.sh
[Install]
WantedBy=default.target
Pokud chcete zkontrolovat, jestli služba funguje, restartujte virtuální počítač EFLOW (Stop-EflowVm
& Start-EflowVm
) a pak Connect-EflowVm
se připojte k virtuálnímu počítači. Uveďte seznam tras, které používají sudo route
, a ověřte, že jsou správné. Měli byste vidět nová výchozí pravidla s přiřazenou metrikou.
Další kroky
Postupujte podle pokynů v tématu Konfigurace sítí pro Azure IoT Edge pro Linux ve Windows a ověřte, že se správně použily konfigurace sítě.