Host Configuration

The host configuration is a YAML file that resides on the ParaDrop device and controls many aspects of system functioning, particularly network and wireless device configuration. The host configuration may also appear in JSON format when manipulating it through the Local HTTP API or through the cloud controller. This page describes the structure and interpretation of values in the host configuration.

Host Configuration Object

ParaDrop host configuration
type object
properties
  • firewall
Firewall settings that apply to all network interfaces.
type object
properties
  • defaults
Refer to: firewall defaults object.
host-config-firewall-defaults-schema
  • lan
Configuration for LAN interfaces (wired and wireless).
type object
properties
  • dhcp
Refer to: dhcp object
host-config-dhcp-schema
  • firewall
Firewall settings for the LAN interfaces.
type object
properties
  • defaults
Refer to: firewall defaults object.
host-config-firewall-defaults-schema
  • forwarding
Settings for packet forwarding.
type object
  • interfaces
List of wired interfaces to include in the LAN bridge, e.g. eth1.
type array
items
type string
  • ipaddr
IP address to use on the LAN bridge.
type string
  • netmask
Network mask for LAN.
type string
  • proto
Method for setting interface IP address. ‘auto’ will choose a subnet that avoids conflict with the WAN interface.
type string
enum auto, static
  • system
Configure Paradrop system behaviors.
type object
properties
  • autoUpdate
Enable automatically updating system software packages.
type boolean
  • chutePrefixSize
The IP network size to assign to each chute.
type integer
maximum 32
minimum 0
  • chuteSubnetPool
The IP range available for chutes in CIDR notation or ‘auto’. ‘auto’ will choose a subnet that avoids conflict with the WAN interface.
type string
  • onMissingWiFi
Behavior if expected wireless devices are missing on boot.
type string
enum ignore, reboot, warn
  • telemetry
Configure telemetry function for collecting device measurements.
type object
properties
  • enabled
Enable sending device measurements to cloud controller.
type boolean
  • interval
Reporting interval (in seconds).
type integer
minimum 1
  • vlan-interfaces
Configure handling of VLAN tags on wired interfaces.
type array
  • wan
Configuration for WAN interface.
type object
properties
  • firewall
Firewall settings for the WAN interface.
type object
properties
  • defaults
Refer to firewall defaults object.
host-config-firewall-defaults-schema
  • interface
Name of interface to use for WAN.
type string
  • proto
Method of acquiring interface IP address.
type string
enum dhcp
  • wifi
List of physical Wi-Fi devices and their configuration.
type array
items
host-config-wifi-device-schema
  • wifi-interfaces
List of virtual Wi-Fi interfaces and their configuration.
type array
items
host-config-wifi-interface-schema
  • zerotier
Configure ZeroTier service, which enables VPN-like functionality.
type object
properties
  • enabled
Enable the ZeroTier service.
type boolean
  • networks
List of ZeroTier networks to join, using their string IDs.
type array
items
type string
uniqueItems True

DHCP Object

ParaDrop host configuration - dhcp object
type object
properties
  • leasetime
Duration of client leases, e.g. 2h
type string
  • limit
Size of address range beginning at start value.
type integer
minimum 1
  • start
Starting offset for address assignment.
type integer
minimum 0

Firewall Defaults Object

ParaDrop host configuration - firewall defaults object
type object
properties
  • conntrack
  • forward
type string
enum ACCEPT, REJECT, DROP
  • input
type string
enum ACCEPT, REJECT, DROP
  • masq
  • masq_src
List of source addresses or subnets to which SNAT should be applied.
type array
items
type string
uniqueItems True
  • output
type string
enum ACCEPT, REJECT, DROP

Wi-Fi Device Object

Objects in the wifi array define physical device settings such as the channel and transmit power. These settings affect all interfaces in the “wifi-interfaces” array that use the corresponding device.

ParaDrop uses a deterministic system for identifying Wi-Fi devices, so that settings are applied to the same device on startup as long as there have been no hardware changes. ParaDrop numbers PCI and USB devices separately starting from zero, so a ParaDrop host with two PCI Wi-Fi cards and one USB card will have device IDs pci-wifi-0, pci-wifi-1, and usb-wifi-0.

The spectrum band is determined by the hwmode setting and the channel setting. They must be compatible. For 2.4 GHz channels (1-13), set hwmode to 11g. For 5 GHz channels (36-165), set hwmode to 11a.

Higher data rates and channel sizes (802.11n and 802.11ac) are configured with the htmode setting. For a 40 MHz channel width in 802.11n, set htmode=HT40 or htmode=HT40-. Plus means add the next higher channel, and minus means add the lower channel. For example, setting channel=36 and htmode=HT40+ results in using channels 36 and 40 as a 40 MHz channel.

If the hardware supports it, you can enable short guard interval for slightly higher data rates. There are separate settings for each channel width: short_gi_20, short_gi_40, and short_gi_80.

Defines a physical Wi-Fi device and its configuration.
type object
properties
  • channel
Wi-Fi channel number.
type integer
maximum 165
minimum 1
  • htmode
Enable 802.11n or 802.11ac modes.
type string
enum None, HT20, HT40+, HT40-, VHT20, VHT40, VHT80
  • hwmode
Basic operating mode (11b for old hardware, 11g for 2.4 GHz, 11a for 5 GHz).
type string
enum 11b, 11g, 11a
  • id
Physical identifier, e.g. pci-wifi-1 or usb-wifi-0.
type string
  • rx_stbc
Indicates support for receiving frames using STBC.
type integer
maximum 1
minimum 0
  • short_gi_20
Enable short guard interval (higher data rates) in 20 MHz channels, must be supported by device.
type boolean
  • short_gi_40
Enable short guard interval (higher data rates) in 40 MHz channel, must be supported by device.
type boolean
  • short_gi_80
Enable short guard interval (higher data rates) in 80 MHz channel, must be supported by device.
type boolean
  • tx_stbc
Indicates support for transmitting frames using STBC.
type integer
maximum 1
minimum 0

Wi-Fi Interface Object

Objects in the wifi-interfaces array configure virtual interfaces. Each virtual interface has an underlying physical device, but there can be multiple interfaces per device up to a limit determined by the hardware. Virtual interfaces can be configured as APs or in other operating modes (with limited support).

The encryption setting can take a number of different values. The most common options are: “none” for an open access point, “psk2” for WPA2 Personal (PSK), and “wpa2” for WPA2 Enterprise. WPA2 Enterprise requires additional configuration to interact with an external RADIUS server.

ParaDrop host configuration - Wi-Fi interface section
type object
properties
  • device
Physical device used by this interface, must match a device id in the wifi section.
type string
  • encryption
Type of wireless network security to use, e.g. none, psk2, wpa2 (Enterprise).
type string
  • mode
Operating mode for the interface.
type string
enum airshark, ap, managed, monitor
  • network
Network name the interface should be attached to, typically lan for ap mode interfaces.
type string
  • ssid
ESSID for ap and managed mode interfaces.
type string