For the last year (2013) Archlinux has been recommending users to use netctl to configure their network interfaces.

Netctl's ethernet-dhcp worked well, but not the wireless interface management which never made sense to me.

Upstream's Jouke Witteveen is sadly unhelpful despite my cries for help.

So on the back of systemd's (>210) systemd-networkd, which I previously blogged about when configuring my Droplet, I now have:

$ cat /etc/systemd/network/eth0.network
[Match]
Name=eth0
[Network]
DHCP=yes

Via journalctl -u systemd-networkd.service -f this seems to be able to detect the carrier is on or off without ifplugd. Nice!

Completely optional - systemd-resolved for DNS

Tbh I prefer to hard code /etc/resolv.conf with nameserver 8.8.8.8.

However you can sudo systemctl {run,status,enable} systemd-resolved. For your DNS nameservers, you need to symlink /etc/resolv.conf to /run/systemd/network/resolv.conf

etc$ sudo ln -sf /var/run/systemd/resolve/resolv.conf

Wireless

To do all the WPA authentication stuff:

sudo systemctl enable wpa_supplicant@wlan0.service

You need to make sure /etc/wpa_supplicant/wpa_supplicant-wlan0.conf is in place, as you can see in /usr/lib/systemd/system/wpa_supplicant@.service. I prefer to link in /etc/wpa_supplicant.conf where I've also stored my wireless passwords and things.

/etc/wpa_supplicant$ sudo ln -s /etc/wpa_supplicant.conf wpa_supplicant-wlan0.conf

Now to get the IP address, we use systemd-networkd, with the configuration:

$ cat /etc/systemd/network/wlan0.network
[Match]
Name=wlan0
[Network]
DHCP=yes

Wrap up

systemd-analyze for wlan0 is 3.203s and eth0 is 3.085s. I'm happy !

Currently I manually turn toggle wifi using my Thinkpad's wireless switch, for switching between wired and wireless interfaces.

Update: Guide for the Raspberry PI on Archlinux Arm (alarm)

Acknowledgements: WonderWoofy on the the Archlinux forums

Feedback

Powered by Vanilla PHP feedback form