Skip to content

Linux Config

Benjamin Riggs edited this page Jan 25, 2020 · 3 revisions

Overview

The Network Manager's primary role is to act as a network router for an AMM system. To do this, it uses dnsmasq for DNS and DHCP, hostapd to provide wifi access, and nftables for routing. For ease of installation (on AMM Linux), the linux-config directory contains an etc directory with all of the files required to configure these services.

Defaults

On the whole, the default configuration of the AMM Network Manager is designed to provide access and security roughly akin to a consumer router & access point, albeit without a convenient GUI.

Wi-Fi

The Network Manager is configured to broadcast a default wireless network with an SSID of AMM and WPA2 passphrase of lift-repeated-manikin. These values are set in etc/hostapd/hostapd.conf.

Currently, there is a bug where the hostapd service fails to stay running at boot, so the etc/rc.local script restarts the service 10 seconds after coming up.

DHCP

By default, LAN traffic is assigned an address in the 172.16/12 IPv4 space with a 12 hour lease, and WLAN traffic is assigned to 192.168/16, again, with a 12 hour lease. These are set in etc/dnsmasq.d/router.conf. Changing these IP ranges may also require updating the static IPs of the gateway interfaces, defined in etc/network/interfaces.d/.

The WAN interface acts as a simple DHCP client.

Routing

The default config file provided in etc/nftables.conf routes all traffic between the LAN & WLAN networks, but only allows SSH traffic in from the WAN interface. Additionally, this establishes an IP masquerade NAT for everything connected on the LAN and WLAN networks, providing internet access if the WAN interface is able to establish a connection.

NetworkManager

NetworkManager is disabled because its internal dnsmasq conflicts with the system version, and it fails to provide sufficient access-point functionality.

Installation and Setup

Instructions for installing and configuring this software are provided in the readme in the linux-config directory.

Clone this wiki locally