# Connect to eduroam on Linux WARNING: You will have to reintroduce all WiFi passwords saved in your system. 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`, the first network is for UPVNET/eduroam and the second is an example of a home network. ``` 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="user@alumno.upv.es" password="password" 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 ``` Credit goes to [baudlord](https://github.com/baudlord)