EVE Network Bootstrap

Change network settings using a USB stick.

These instructions will help to assign an alternative “management” network configuration to a registered EVE device that was originally configured using some other configuration, typically DHCP ethernet. If the EVE device is still connected to ZEDEDA, then this document is not needed because the changes can be made directly, using a ZEDEDA interface (web UI or zcli). This bootstrapping approach is an “out of band” approach – it requires that the edge node be booted with a specially configured USB stick inserted. The USB stick will contain the new configuration, which could be for a static IP address, a proxy network configuration, connecting over Wi-Fi, or for connecting over LTE/cellular. Note that the edge node’s configuration in your ZEDEDA enterprise MUST MATCH the configuration applied by the USB stick. Otherwise, the device will revert to the ZEDEDA configuration once it first reconnects.

Prerequisites

  • Follow “Prepare Your ZEDEDA Enterprise” (see below) to create ausb.jsonfile that matches your ZEDEDA network configuration
  • USB stick (that will be completely overwritten)
  • Edge node running EVE that was previously registered with your ZEDEDA enterprise

Bootstrap Process Summary

The EVE device will be “bootstrapped” with the network settings using a USB stick. First, you will flash a generic debug image onto a USB stick, then you will copy an appropriateusb.jsonfile to it, and finally, you will insert the USB stick into the edge node and boot.

Flash and Configure the USB Stick

First, download the generic debug image from this link:

https://drive.google.com/file/d/1buRYGj8mN1tCSiARpihZzrptzqnLXh3A/view 

Flash the debug image to a USB stick (e.g., using Etcher). Once the image is successfully flashed to the USB stick, mount it on your laptop to see a partition called EVEDPC. It contains two folders ('identity' and 'dump').

Copy yourusb.jsonfile to the USB stick. (See examples at the end of this document.) Put the file in the EVEDPC partition. You should then see the two folders from the originally flashed image, plus the newusb.jsonfile. For example:

$ ls -ltr /Volumes/EVEDPC/
total 24
drwxrwxrwx  1 vijay  staff  4096 Sep  3 22:39 identity
drwxrwxrwx  1 vijay  staff  4096 Sep  3 22:39 dump
-rwxrwxrwx@ 1 vijay  staff   703 Feb 24 16:09 usb.json

Boot Edge Node with USB Stick

Insert the USB stick into the EVE-OS device and power cycle it (reboot). When the device boots, the bootstrapped network settings will be applied. You can remove the USB stick after a couple of minutes.

Note that if the bootstrap settings are valid, and the device can reach the Internet again, it will then fetch the network configuration configured in your ZEDEDA enterprise. Make sure those settings match theusb.jsonconfiguration otherwise the USB settings will be overwritten.

Prepare Your ZEDEDA Enterprise

The usb.json file applied to EVE should match the network configuration in ZEDEDA. If it doesn’t, be sure to update ZEDEDA with the proper settings *before* the node comes online again (which will occur once bootstrapping succeeds). Here’s a screenshot of the ZEDEDA web UI when configured to apply a static IP address. This configuration matches the “static IP” JSON example found later in this document.

 

Static IP Configuration

Here's a sampleusb.jsonfile to assign a static IP address of 192.168.20.25 (plus associated Gateway, DNS, and NTP IP addresses):

{
   "Version": 1,
   "Ports": [{
    "AddrSubnet": "192.168.20.25/24",
    "Dhcp": 1,
    "DnsServers": [
    "192.168.21.1"
    ],
    "DomainName": "",
    "Free": true,
    "Gateway": "192.168.20.1",
    "IfName": "eth1",
    "Name": "Management",
    "IsMgmt": true,
    "NetworkProxyEnable": false,
    "NetworkProxyURL": "",
    "NtpServer": "17.254.0.26",
    "Pacfile": "",
    "Proxies": null,
    "WpadURL": ""
   }]
}

Proxy Configuration

Here's a sampleusb.jsonfile to assign proxy settings of the “OfficeNetwork”:

{
   "Version": 1,
   "timePriority": "2000-01-01T00:00:00Z",
   "Ports": [
     {
     "Dhcp": 4,
     "Free": true,
     "IfName": "eth0",
     "Name": "OfficeNetwork",
     "IsMgmt": true
     }
   ],
   "Proxies": [
     {
     "Server": "proxy.example.com",
     "Port":10127,
     "Type":1
     },
     {
     "Server": "proxy.example.com",
     "Port":10127,
     "Type":0
     },
     {
     "Server": "proxy.example.com",
     "Port":10127,
     "Type":2
     }
   ]
}

Wi-Fi Configuration

Here's a sampleusb.jsonfile to assign Wi-Fi settings for the “ZED-net” network:

{
 "Version": 1,
 "Ports": [{
   "AddrSubnet": "",
   "Dhcp": 4,
   "DnsServers": null,
   "DomainName": "",
   "Exceptions": "",
   "Free": true,
   "Gateway": "",
   "IfName": "wlan0",
   "Name": "Management",
   "IsMgmt": true,
   "NetworkProxyEnable": false,
   "NetworkProxyURL": "",
   "NtpServer": "",
   "Pacfile": "",
   "Proxies": null,
   "WirelessCfg": {
     "WType": 2,
     "Wifi": [{
         "KeyScheme": 1,
         "Password": "EdgeIsSoooC00L",
         "SSID": "ZED-net"
     }]
   }
 }]
}
Was this article helpful?
0 out of 0 found this helpful