Skip to content

Commit 58ff395

Browse files
committed
Formatting
1 parent 9ab6bf4 commit 58ff395

File tree

1 file changed

+52
-44
lines changed

1 file changed

+52
-44
lines changed

articles/iot-edge/tutorial-nested-iot-edge-for-linux-on-windows.md

Lines changed: 52 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,9 @@ To create a hierarchy of IoT Edge devices, you'll need:
5454
* Two Windows devices running Azure IoT Edge for Linux on Windows. Both devices should be deployed using an **external virtual switch**.
5555

5656
> [!TIP]
57-
> It is possible to use **internal** or **default** virtual switch if a port forwarding is configured on the Windows host OS. However, for the simplicity of this tutorial, both devices should use an **external** virtual switch and be connected to the same external network. For more information about netowrking, see [Azure IoT Edge for Linux on Windows networking](./iot-edge-for-linux-on-windows-networking.md) and [Networking configuration for Azure IoT Edge for Linux on Windows](./how-to-configure-iot-edge-for-linux-on-windows-networking.md).
57+
> It is possible to use **internal** or **default** virtual switch if a port forwarding is configured on the Windows host OS. However, for the simplicity of this tutorial, both devices should use an **external** virtual switch and be connected to the same external network.
58+
>
59+
> For more information about netowrking, see [Azure IoT Edge for Linux on Windows networking](./iot-edge-for-linux-on-windows-networking.md) and [Networking configuration for Azure IoT Edge for Linux on Windows](./how-to-configure-iot-edge-for-linux-on-windows-networking.md).
5860
>
5961
> If you need to set up the EFLOW devices on a DMZ, see [How to configure Azure IoT Edge for Linux on Windows Industrial IoT & DMZ configuration](how-to-configure-iot-edge-for-linux-on-windows-iiot-dmz.md).
6062
@@ -64,7 +66,8 @@ To create a hierarchy of IoT Edge devices, you'll need:
6466
* 443: Used between parent and child edge hubs for REST API calls and to pull docker container images.
6567
* 5671, 8883: Used for AMQP and MQTT.
6668

67-
For more information on EFLOW virtual machine firewall, see [IoT Edge for Linux on Windows security](iot-edge-for-linux-on-windows-security.md).
69+
> [!TIP]
70+
> For more information on EFLOW virtual machine firewall, see [IoT Edge for Linux on Windows security](iot-edge-for-linux-on-windows-security.md).
6871
6972
## Configure your IoT Edge device hierarchy
7073

@@ -170,9 +173,8 @@ To configure the IoT Edge runtime, you need to apply the configuration bundles c
170173

171174
Each device needs its corresponding configuration bundle. You can use a USB drive or [secure file copy](https://www.ssh.com/ssh/scp/) to move the configuration bundles to each device. You'll first need to copy the configuration bundle to the Windows host OS of each EFLOW device and then copy it to the EFLOW VM.
172175

173-
>[!EARNING]
174-
> Be sure to send the correct configuration bundle to each device.
175-
176+
> [!WARNING]
177+
> Be sure to send the correct configuration bundle to each device.
176178
177179
##### Top-layer device configuration
178180

@@ -195,11 +197,13 @@ Each device needs its corresponding configuration bundle. You can use a USB driv
195197
```
196198
197199
1. Get the EFLOW virtual machine IP address - Check for the _inet addr_ field.
198-
```bash
199-
ifconfig eth0
200-
```
201-
>[!NOTE]
202-
> On the **top layer device**, you will receive a prompt to enter the hostname. Supply the appropriate IP or FQDN. You can use either, but be consistent in your choice across devices.
200+
201+
```bash
202+
ifconfig eth0
203+
```
204+
205+
> [!NOTE]
206+
> On the **top layer device**, you will receive a prompt to enter the hostname. Supply the appropriate IP or FQDN. You can use either, but be consistent in your choice across devices.
203207
204208
1. Run the _install.sh_ script - When asked the _hostname_ use the IP address obtained in the previous step.
205209
```bash
@@ -210,32 +214,35 @@ Each device needs its corresponding configuration bundle. You can use a USB driv
210214
![Installing the configuration bundles will update the config.toml files on your device and restart all IoT Edge services automatically](./media/tutorial-nested-iot-edge/configuration-install-output.png)
211215

212216
1. Apply the correct certificate permissions and restart the IoT Edge runtime.
217+
213218
```bash
214219
sudo chmod -R 755 /etc/aziot/certificates/
215220
sudo iotedge system restart
216221
```
217222

218223
1. Check that all IoT Edge services are running correctly.
219-
```bash
220-
sudo iotedge system status
221-
```
224+
225+
```bash
226+
sudo iotedge system status
227+
```
222228

223229
1. Finally, add the appropriate firewall rules to enable connectivity between the lower-layer device and top-layer device.
224-
```bash
225-
sudo iptables -A INPUT -p tcp --dport 5671 -j ACCEPT
226-
sudo iptables -A INPUT -p tcp --dport 8883 -j ACCEPT
227-
sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT
228-
sudo iptables -A INPUT -p icmp --icmp-type 8 -s 0/0 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
229-
sudo iptables-save | sudo tee /etc/systemd/scripts/ip4save
230-
```
231230

232-
If you want a closer look at what modifications are being made to your device's configuration file, see [the configure IoT Edge on devices section of the how-to guide](how-to-connect-downstream-iot-edge-device.md#configure-parent-device).
231+
```bash
232+
sudo iptables -A INPUT -p tcp --dport 5671 -j ACCEPT
233+
sudo iptables -A INPUT -p tcp --dport 8883 -j ACCEPT
234+
sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT
235+
sudo iptables -A INPUT -p icmp --icmp-type 8 -s 0/0 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
236+
sudo iptables-save | sudo tee /etc/systemd/scripts/ip4save
237+
```
233238

234239
1. Run the configuration and connectivity checks on your devices.
235240

236-
```bash
237-
sudo iotedge check
238-
```
241+
```bash
242+
sudo iotedge check
243+
```
244+
245+
If you want a closer look at what modifications are being made to your device's configuration file, see [the configure IoT Edge on devices section of the how-to guide](how-to-connect-downstream-iot-edge-device.md#configure-parent-device).
239246
240247
##### Lower-layer device configuration
241248
@@ -265,36 +272,37 @@ If you want a closer look at what modifications are being made to your device's
265272
If everything was correctly configured, you should be able to see the ping responses from the top-layer device.
266273
267274
1. Get the EFLOW virtual machine IP address - Check for the _inet addr_ field.
268-
```bash
269-
ifconfig eth0
270-
```
271-
>[!NOTE]
272-
> On the **lower layer device**, you will receive a prompt to enter the hostname and the parent hostname. Supply the appropriate **top-layer device** IP or FQDN. You can use either, but be consistent in your choice across devices.sudo
275+
276+
```bash
277+
ifconfig eth0
278+
```
279+
280+
>[!NOTE]
281+
> On the **lower layer device**, you will receive a prompt to enter the hostname and the parent hostname. Supply the appropriate **top-layer device** IP or FQDN. You can use either, but be consistent in your choice across devices.sudo
273282
274283
1. Run the _install.sh_ script - When asked the _hostname_ use the IP address obtained in the previous step.
275-
```bash
276-
sudo sh ./install.sh
284+
```bash
285+
sudo sh ./install.sh
286+
```
277287
278288
1. Apply the correct certificate permissions and restart the IoT Edge runtime.
279-
```bash
280-
sudo chmod -R 755 /etc/aziot/certificates/
281-
sudo iotedge system restart
282-
```
289+
```bash
290+
sudo chmod -R 755 /etc/aziot/certificates/
291+
sudo iotedge system restart
292+
```
283293
284294
1. Check that all IoT Edge services are running correctly.
285-
```bash
286-
sudo iotedge system status
287-
```
288-
289-
If you completed the above steps correctly, you can check your devices are configured correctly.
295+
```bash
296+
sudo iotedge system status
297+
```
290298
291299
1. Run the configuration and connectivity checks on your devices. For the **lower layer device**, the diagnostics image needs to be manually passed in the command:
292300
293-
```bash
294-
sudo iotedge check --diagnostics-image-name <parent_device_fqdn_or_ip>:443/azureiotedge-diagnostics:1.2
295-
```
301+
```bash
302+
sudo iotedge check --diagnostics-image-name <parent_device_fqdn_or_ip>:443/azureiotedge-diagnostics:1.2
303+
```
296304
297-
Once you're satisfied your configurations are correct on each device, you're ready to proceed.
305+
If you completed the above steps correctly, you can check your devices are configured correctly. Once you're satisfied your configurations are correct on each device, you're ready to proceed.
298306
299307
## Deploy modules to your devices
300308

0 commit comments

Comments
 (0)