Menu

Nick Breen

{software,cloud}-{architect,developer}

IPv6 WiFi on Debian/Ubuntu

It seems that NetworkManager does not set up the default route properly for IPv6.

Using /etc/network/interfaces and wpa_supplicant to configure networking system-wide works quite well. Using the roaming feature especially makes for a nice tidy configuration.

Configure wpa_supplicant

Debian ships an example configuration file for wifi roaming: /usr/share/doc/wpa_supplicant/examples/wpa-roam.conf, the minimal configuration required is:

ctrl_interface=DIR=/run/wpa_supplicant GROUP=netdev
network={
    ssid="my-ssid"
    psk="my-password"
}

Given this network does not specify id_str its default value is default.

Configure /etc/network/interfaces

Ensure that /etc/network/interfaces contains source-directory /etc/network/interfaces.d.

Assuming your wireless interface is wlan0, add /etc/network/interfaces.d/wlan0:

auto wlan0
iface wlan0 inet manual
    wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf
iface wlan0 inet6 manual
    wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf
iface default inet dhcp
iface default inet6 dhcp

The two iface wlan0 definitions enable WPA Roaming for the wireless interface wlan0.

The two iface default definitions enable DHCP/DHCP6 for the wireless networks where id_str=default.

For more complex situations read up man 5 wpa_supplicant.conf, man 5 interfaces, and the examples in /usr/share/doc/wpa_supplicant/examples/

Find out about me at these other interesting places: