The official Debian networking documentation tells to use:

ifup 6to4

But ifup is not found (ifupdown and ifupdown2 are commands not found too, even after having been installed). Does it have something to do with prefix delegation? If so, do I have to configure it?

And the linux documentation project (i.e. tldp.org) says to use

ip -6 addr add <ipv6address>/<prefixlength> dev <interface>

but ONLY when you have a global IPv6 address, which is not my case. I read other tutorials which nevertheless did'nt enabled me to reach a solution, so I'm asking for help here.

I'm using Debian stable 10.4 with Xfce 4.12 and Zsh 5.7.1.

I have a TP-LINK N900 Wireless PCI Express Adapter TL-WDN4800 and a Intel I219-V Gibabit LAN controller.

As a side note, the Ethernet network dialog in the desktop panel prints: "device not managed".

MAIN OBJECTIVE: I need to activate IPv6 connectivity to fetch some IPv6 web servers.

➜ ping6 wiki.debian.org     
connect: Network is unreachable

Whereas echo requests with IPv4 work without any loss:

➜ ping4 wiki.debian.org
PING wilder.debian.org ( 56(84) bytes of data.
64 bytes from wilder.debian.org ( icmp_seq=1 ttl=52 time=35.4 ms
64 bytes from wilder.debian.org ( icmp_seq=2 ttl=52 time=35.3 ms
64 bytes from wilder.debian.org ( icmp_seq=3 ttl=52 time=190 ms
64 bytes from wilder.debian.org ( icmp_seq=4 ttl=52 time=35.3 ms
64 bytes from wilder.debian.org ( icmp_seq=5 ttl=52 time=181 ms
64 bytes from wilder.debian.org ( icmp_seq=6 ttl=52 time=181 ms
--- wilder.debian.org ping statistics ---
6 packets transmitted, 6 received, 0% packet loss, time 12ms
rtt min/avg/max/mdev = 35.277/109.735/190.063/74.440 ms

Here are my network devices:

➜ ip addr show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: enp0s31f6: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN group default qlen 1000
    link/ether 4c:cc:6a:cf:5f:bd brd ff:ff:ff:ff:ff:ff
3: wlp4s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 18:d6:c7:1c:b7:d5 brd ff:ff:ff:ff:ff:ff
    inet brd scope global dynamic noprefixroute wlp4s0
       valid_lft 7171sec preferred_lft 7171sec
    inet6 fe80::b08:601b:a8d8:1474/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever

You can notice in the before-last line that the LOCAL link address (i.e. fe80::) have a /64 mask, which is a GLOBAL one! A local link mask would be /10 where as a global address would start by 2xxx (e.g. 2001::).

Except for lo which probably means localhost, I do not know what are enp0s31f6 and wl4ps0. I only know that enp0s31f6 was renamed from eth0 but that doesn't explain to me anything, apart from the fact I'm using new syntax for network interfaces names:

➜ sudo dmesg | grep -i eth
[    1.701805] e1000e 0000:00:1f.6 eth0: (PCI Express:2.5GT/s:Width x1) 4c:cc:6a:cf:5f:bd
[    1.701809] e1000e 0000:00:1f.6 eth0: Intel(R) PRO/1000 Network Connection
[    1.701912] e1000e 0000:00:1f.6 eth0: MAC: 12, PHY: 12, PBA No: FFFFFF-0FF
[    1.703934] e1000e 0000:00:1f.6 enp0s31f6: renamed from eth0
[    7.706185] Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011)

Here are some settings to help you understand my network configuration:

➜ cat /etc/network/interfaces
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

source /etc/network/interfaces.d/*

# The loopback network interface
auto lo
iface lo inet loopback

auto enp0s31f6
    allow-hotplug enp0s31f6
    iface enp0s31f6 inet dhcp
    iface enp0s31f6 inet6 auto
➜ cat /etc/hosts       localhost       omega.dominion  omega

# The following lines are desirable for IPv6 capable hosts
::1     localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts
➜ cat /etc/resolv.conf
# Generated by NetworkManager

Please can someone help me to correctly set up IPv6 connectivity?


I'm behind a TP-LINK AC1350 wireless router Archer C59 v1.0 (but no proxy configured) (general specs are here: https://www.tp-link.com/us/home-networking/wifi-router/archer-c59/#specifications)

I'm using nn-connection-editor application to manage my network. Here are my current settings:

➜ sudo cat /etc/NetworkManager/system-connections/TP-LINK_902C                






Now I run the diagnostic tool ndisc6:

➜ rdisc6 wlp4s0
Soliciting ff02::2 (ff02::2) on wlp4s0...
Timed out.
Timed out.
Timed out.
No response.

Which is strange because of the LAN discovery on all routers via echo requests seems to work correctly:

➜ ping -c3 -I wlp4s0 ff02::02
ping6: Warning: source address might be selected on device other than wlp4s0.
PING ff02::02(ff02::2) from :: wlp4s0: 56 data bytes
64 bytes from fe80::52c7:bfff:fe90:902c%wlp4s0: icmp_seq=1 ttl=64 time=45.4 ms
64 bytes from fe80::52c7:bfff:fe90:902c%wlp4s0: icmp_seq=2 ttl=64 time=1.65 ms
64 bytes from fe80::52c7:bfff:fe90:902c%wlp4s0: icmp_seq=3 ttl=64 time=1.62 ms

--- ff02::02 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 5ms
rtt min/avg/max/mdev = 1.624/16.230/45.421/20.641 ms

I took some screenshots from web administration's interface (i.e. http://tplinkwifi.net) to help investigating further:

1) IPv6 internet settings

IPv6 internet settings

2) Possible options possible options for IPv6 settings

3) IPv4 general settings IPv4 general settings

4) Their counter-part in IPv6 Their counter-part in IPv6

5) Other wireless network system parameters System parameters

EDIT2: It seems my modem supplied by my ISP doesn't provide any IPV6 connectivity, so it become clear that I need a more recent modem or a IPv6 tunnel. I from now on consider the question answered and I thank you user4556274, Johan Myréen and bey0nd for your insights :)

  • 2
    the link-local address space is fe80::/10, but the link-local address on an end node will be /64. The /64 netmask itself tells you nothing about whether an address is link-local, universal-local, or global. Commented May 10, 2020 at 8:27
  • 1
    You will either need to your ISP to provide IPv6 connectivity, or you need to set up a IPv6 tunnel via tunnel broker. Commented May 10, 2020 at 11:30

1 Answer 1


Maybe some basics first:

A IPv6 address of a host/interface always consists of 128bit which include the prefix (first 64bit) and the interface identification [IID] (last 64bit). Therefor the CIDR notation for a host/interface address is always /64.

The scope of an IPv6 host/interface address is one of the following:

Local-Link: An address out of the fe80::/64 range. As the prefix is always fe80:0:0:0, there is no distinct separation of layer 3 networks and therefore this address is only used for communication in the current layer 2 segment of the connected LAN.
Local : An address out of the fd00::/8 range which consists of a 64bit prefix and a 64bit IID. It should only be routed in the LAN and not over the internet.
Global : An address out of the 2000::/3 range which can be routed over the internet and also consists of a 64bit prefix and a 64bit IID.

Your computer seems to have two network interfaces.
- enp0s31f6 which seems to be a Ethernet interface without connection and
- wlp4s0 which seems to be a wireless network interface connected to an AP.

As there is only a Link-Local address on the wireless interface, it seems that this interface is either
- not configured to accept any automated configuration (SLAAC or DHCPv6) or
- the access point (AP) doesn't provide an IPv6 network.

edit: As the result of rdisc6 wlp4s0 shows, there is no IPv6 autoconfig information broadcasted in your network, even so the router seems to be set to SLAAC + Stateless DHCP. Therefore, as Johan Myréen stated in his comment, you'll need to talk to your ISP to see if there is IPv6 available at all or find a way to tunnel IPv6 with a Tunnel provider.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .