diff --git a/README.md b/README.md new file mode 100644 index 0000000..cf68cc2 --- /dev/null +++ b/README.md @@ -0,0 +1,68 @@ +# Connect to eduroam on Linux + +:warning: You will lose all WiFi passwords saved in your system :warning: + +These instructions have been tested in ArchLinux without NetworkManager installed. It should work if NetworkManager is disabled and stopped (`sudo systemctl --disable now NetworkManager`). + +You will need `systemd-networkd` and `wpa_supplicant`, both of which are normally in default installations of GNU/Linux. To configure it, you will need to find your WiFi and Ethernet interfaces (`ifconfig` or `ip` should display them, they should look like `enpXsY`, `ethX`, `wlanX` or `wlpXsY`). + +All files belong to `root:root` + +* `/etc/wpa_supplicant/wpa_supplicant-WIFI_INTERFACE.conf`, with permissions `600` + +``` +ctrl_interface=/var/run/wpa_supplicant +ctrl_interface_group=wheel +update_config=1 + +network={ + ssid="UPVNET" + key_mgmt=WPA_EAP + eap=PEAP + phase1="peaplabel=auto tls_disable_tlsv1_2=1" + phase2="auth=MSCHAPV2" + ca_cert="/etc/ssl/certs/thawte_Primary_Root_CA.pem" + identity="x@alumno.upv.es" + password="y" + priority=10 +} + +network={ + ssid="your_home_network_name" + psk="your_home_network_password" +} +``` + +* `/etc/systemd/network/WIFI_INTERFACE.network`, with permissions `644` + +``` +[Match] +Name=WIFI_INTERFACE + +[Network] +DHCP=yes +UseDomains=yes +IPv6PrivacyExtensions=true +``` + +* `/etc/systemd/network/ETHERNET_INTERFACE.network`, with permissions `644` + +``` +[Match] +Name=ETHERNET_INTERFACE + +[Network] +DHCP=yes +``` + +Then, run this: + +```bash +mv /etc/resolv.conf{,.bak} +ln -s /usr/lib/systemd/resolv.conf /etc/resolv.conf +``` + +Finally, enable and start `systemd-networkd`, `systemd-resolved` and `wpa_supplicant@WIFI_INTERFACE`: +``` +sudo systemctl enable --now systemd-networkd systemd-resolved wpa_supplicant@WIFI_INTERFACE +```