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 (82.195.75.112) 56(84) bytes of data.
64 bytes from wilder.debian.org (82.195.75.112): icmp_seq=1 ttl=52 time=35.4 ms
64 bytes from wilder.debian.org (82.195.75.112): icmp_seq=2 ttl=52 time=35.3 ms
64 bytes from wilder.debian.org (82.195.75.112): icmp_seq=3 ttl=52 time=190 ms
64 bytes from wilder.debian.org (82.195.75.112): icmp_seq=4 ttl=52 time=35.3 ms
64 bytes from wilder.debian.org (82.195.75.112): icmp_seq=5 ttl=52 time=181 ms
64 bytes from wilder.debian.org (82.195.75.112): icmp_seq=6 ttl=52 time=181 ms
^C
--- 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 127.0.0.1/8 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 192.168.0.189/24 brd 192.168.0.255 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
127.0.0.1 localhost
127.0.1.1 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
nameserver 192.168.0.1
Please can someone help me to correctly set up IPv6 connectivity?
EDIT:
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
[connection]
id=TP-LINK_902C
uuid=f2fef445-f44e-4216-8d51-eb4dd4e23ea6
type=wifi
permissions=
timestamp=1589139366
[wifi]
mac-address-blacklist=
mode=infrastructure
seen-bssids=50:C7:BF:90:90:2C;
ssid=TP-LINK_902C
[wifi-security]
key-mgmt=wpa-psk
psk-flags=1
[ipv4]
dns=8.8.8.8;8.8.4.4;
dns-search=
method=auto
[ipv6]
addr-gen-mode=eui64
dns-search=
ip6-privacy=2
method=auto
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
5) Other wireless network 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 :)
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.