Wired Ethernet WPA2-Enterprise authentication using iwd (ead)
2025-08-11
My college uses WPA2-Enterprise authentication in order to manage access not only to its wireless network (a.k.a. Eduroam) but also to the wired network. Most guides online do not even mention the possibility of using authentication on a wired interface, even iwd
's documentation is quite lacking in this realm.
The configuration of the wired interface is quite similar to the wireless one, with the difference being that the tool we are now using is called ead
instead of iwd
. Don't worry, you don't have to install anything, since a typical iwd
installation already includes ead
even though it isn't mentioned even on ArchWiki.
All you have to do is to put the following into /var/lib/ead/default.8021x
(for wireless put the same into /var/lib/iwd/eduroam.8021x
), obviously replacing the certificate path, username and password:
[Security]
EAP-Method=PEAP
EAP-Identity=anonymous@school.edu
EAP-PEAP-CACert=/etc/ssl/certs/your_certificate.pem
EAP-PEAP-Phase2-Method=MSCHAPV2
EAP-PEAP-Phase2-Identity=azurediamond@school.edu
EAP-PEAP-Phase2-Password=hunter2
and start/enable the ead
service, e.g. users of systemd can run
systemctl enable ead.service --now
For debugging you can run /usr/lib/iwd/ead -d
, similarly you can run /usr/lib/iwd/ead -i eth0
to only attempt authentication on one interface. For making this setting permanent, you can override the distribution-provided service file using systemctl edit ead.service
and put
[Service]
ExecStart=
ExecStart=/usr/lib/iwd/ead -i eth0
between the comments in the override file (don't forget to change the name of the interface).
One last touch, now you can point your favorite DHCP client to your ethernet interface and voila, you have working internet!