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 a
usb.json
file 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.json
file 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.json
file 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.json
file. 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.json
configuration 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.
Here’s a screenshot of the static IP configuration being assigned to eth1 on an edge node.
Static IP Configuration
Here's a sampleusb.json
file 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.json
file 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.json
file 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"
}]
}
}]
}