diff options
Diffstat (limited to 'docs/networking.md')
| -rw-r--r-- | docs/networking.md | 211 |
1 files changed, 211 insertions, 0 deletions
diff --git a/docs/networking.md b/docs/networking.md new file mode 100644 index 00000000..186ddfe0 --- /dev/null +++ b/docs/networking.md @@ -0,0 +1,211 @@ +Networking +========== + +This document describes how to configure networking on **Alice Linux** using `eiwd`/`wpa_supplicant` + `udhcpc`/`dhcpcd`. + +--- + +Overview +-------- + +Alice Linux uses simple, modular networking tools: + +**Link (connection)** + +* LAN: automatic (cable) +* Wi-Fi: `eiwd` or `wpa_supplicant` + +**IP configuration** + +* `udhcpc` - BusyBox DHCP client +* `dhcpcd` - DHCP client + +--- + +Establish Network Link +---------------------- + +Wired (LAN) +--------------- + +Bring interface up: + +``` +ip link set eth0 up +``` + +A physical cable connection is usually sufficient. + +> runit service enabled later will automatically bring up the interface. + +Wi-Fi +------- + +Bring interface up first: + +``` +ip link set wlan0 up +``` + +> runit service enabled later will automatically bring up the interface. + +Then choose ONE method: + +--- + +**Option A: eiwd** + +Install `eiwd` and `resolvconf` + +``` +# apkg -I eiwd resolvconf +``` + +To prevent iwd from scanning continuously while not connected, add the following lines to `/etc/iwd/main.conf`: +``` +[Scan] +DisablePeriodicScan=true +``` + +To prevent iwd from destroying / recreating wireless interfaces at startup, add the following line to `[General]`; +``` +UseDefaultInterface=true +``` + +Add network configuration. +``` +# printf 'password\n' | iwd_passphrase ssid > /var/lib/iwd/<ssid>.psk +``` +> The iwd daemon monitors /var/lib/iwd and automatically loads new network configurations. + +Enable `eiwd` service: +``` +# ln -s /etc/eiwd /var/service +``` + +--- + +**Option B: wpa_supplicant** + +Install `wpa_supplicant` package. +``` +# apkg -I wpa_supplicant +``` + +Configure `wpa_supplicant.conf`: +``` +wpa_passphrase "SSID_NAME" "PASSWORD" > /etc/wpa_supplicant.conf +``` + +Enable `wpa_supplicant` service: +``` +# ln -s /etc/wpa_supplicant /var/service +``` + +--- + +Obtain IP Address (DHCP) +------------------------ + +Once the interface is connected (LAN or Wi-Fi), obtain an IP address. + +> This step is identical for both LAN and Wi-Fi. + +--- + +**Option A: udhcpc (BusyBox)** + +Enable `udhcpc` service: +``` +# ln -s /etc/sv/udhcpc /var/service +``` +> Interface and DNS settings can be adjusted in /etc/sv/udhcpc/conf. + +--- + +**Option B: dhcpcd** + +Install `dhcpcd` first: +``` +# apkg -I dhcpcd +``` + +Enable `dhcpcd` service: +``` +# ln -s /etc/sv/dhcpcd /var/service +``` + +--- + +Static Network Configuration +----------------------------- + +To use a static configuration instead of DHCP: + +``` +# vi /etc/sv/net-static/conf +``` + +Set the following variables: + +* IFACE +* IP +* NETMASK +* GATEWAY + +``` +# ln -s /etc/sv/net-static /var/service +``` + +--- + +Troubleshooting +--------------- + +Check interfaces: + +``` +ip addr +``` + +Test connectivity: + +``` +ping -c 3 8.8.8.8 +``` + +Test DNS: + +``` +ping -c 3 google.com +``` + +--- + +Quick Reference +--------------- + +LAN (DHCP) + +``` +# ip link set eth0 up +# ln -s /etc/sv/udhcpc /var/service +``` + +Wi-Fi (iwd + DHCP) + +``` +# ip link set wlan0 up +# printf 'password\n' | iwd_passphrase ssid > /var/lib/iwd/<ssid>.psk +# ln -s /etc/sv/eiwd /var/service +# ln -s /etc/sv/udhcpc /var/service +``` + +Wi-Fi (wpa_supplicant + DHCP) + +``` +# ip link set wlan0 up +# wpa_passphrase "SSID" "PASS" > /etc/wpa_supplicant.conf +# ln -s /etc/sv/wpa_supplicant /var/service +# ln -s /etc/sv/udhcpc /var/service +``` |