aboutsummaryrefslogtreecommitdiff
path: root/docs/networking.md
diff options
context:
space:
mode:
Diffstat (limited to 'docs/networking.md')
-rw-r--r--docs/networking.md211
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
+```