Configuring a static address for wlan0 on Raspbian Stretch

Thu 14 June 2018 by Lars Kellogg-Stedman Tags networking raspberrypi

Recent releases of Raspbian have adopted the use of dhcpcd to manage both dynamic and static interface configuration. If you would prefer to use the traditional /etc/network/interfaces mechanism instead, follow these steps.

  1. First, disable dhcpcd and wpa_supplicant.

    systemctl disable --now dhdpcd wpa_supplicant
  2. You will need a wpa_supplicant configuration for wlan0 in /etc/wpa_supplicant/wpa_supplicant-wlan0.conf.

    If you already have an appropriate configuration in /etc/wpa_supplicant/wpa_supplicant.conf, you can just symlink the file:

     cd /etc/wpa_supplicant
     ln -s wpa_supplicant.conf wpa_supplicant-wlan0.conf
  3. Enable the wpa_supplicant service for wlan0:

    systemctl enable --now wpa_supplicant@wlan0
  4. Create an appropriate configuration in /etc/network/interfaces.d/wlan0. For example:

    allow-hotplug wlan0
    iface wlan0 inet static
    iface wlan0 inet6 static
    address 2607:f0d0:2001:000a:0000:0000:0000:0010
    netmask 64
  5. Reboot to make sure everything comes up as expected. With the above configuration, after rebooting you should see:

    root@raspberrypi:~# ip addr show wlan0
    3: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
        link/ether 00:e1:b0:67:98:67 brd ff:ff:ff:ff:ff:ff
        inet brd scope global wlan0
           valid_lft forever preferred_lft forever
        inet6 2607:f0d0:2001:a::10/64 scope global
           valid_lft forever preferred_lft forever
        inet6 fe80::2e1:b0ff:fe67:9867/64 scope link
           valid_lft forever preferred_lft forever