# 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/.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/.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 ```