IPv6 Help

Howdy peeps,

I’ve had some issues with IPv6 and a dedicated server.

I’m running Ubuntu 18.04, with netplan. The setup used to work well, but somewhere along a few docker installs, and some other installations, the IPv6 setup broke.

I was able to ping6 just fine, but now all I get is: connect: Network is unreachable when I try ping6 google.com

Here’s the output of ifconfig:

br-56088100d564: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 172.18.0.1  netmask 255.255.0.0  broadcast 172.18.255.255
        inet6 fe80::42:f9ff:fe99:fc2e  prefixlen 64  scopeid 0x20<link>
        ether 02:42:f9:99:fc:2e  txqueuelen 0  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 296  bytes 29789 (29.7 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

docker0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        inet 172.17.0.1  netmask 255.255.0.0  broadcast 172.17.255.255
        ether 02:42:c1:d7:bf:45  txqueuelen 0  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

enp5s0f1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 169.254.108.161  netmask 255.255.0.0  broadcast 169.254.255.255
        inet6 2a01:xxxx:x:xxxx::5  prefixlen 128  scopeid 0x0<global>
        inet6 2a01:xxxx:x:xxxx::2  prefixlen 128  scopeid 0x0<global>
        inet6 2a01:xxxx:x:xxxx::6  prefixlen 128  scopeid 0x0<global>
        inet6 2a01:xxxx:x:xxxx::3  prefixlen 128  scopeid 0x0<global>
        inet6 fe80::3e4a:92ff:fef3:38cd  prefixlen 64  scopeid 0x20<link>
        inet6 2a01:xxxx:x:xxxx::4  prefixlen 128  scopeid 0x0<global>
        ether 3c:4a:92:f3:38:cd  txqueuelen 1000  (Ethernet)
        RX packets 49260  bytes 34545596 (34.5 MB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 39017  bytes 12228931 (12.2 MB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
        device memory 0xc0460000-c047ffff

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 85180  bytes 52522599 (52.5 MB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 85180  bytes 52522599 (52.5 MB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

vetheb72794: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet6 fe80::40cb:5cff:fe2c:17a2  prefixlen 64  scopeid 0x20<link>
        ether 42:cb:5c:2c:17:a2  txqueuelen 0  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 303  bytes 30535 (30.5 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

vethfb14277: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet6 fe80::d0b6:bff:feee:9b4c  prefixlen 64  scopeid 0x20<link>
        ether d2:b6:0b:ee:9b:4c  txqueuelen 0  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 301  bytes 30339 (30.3 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

wg0: flags=209<UP,POINTOPOINT,RUNNING,NOARP>  mtu 1420
        inet 10.9.0.1  netmask 255.255.255.0  destination 10.9.0.1
        inet6 fd42:42:42::1  prefixlen 64  scopeid 0x0<global>
        unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  txqueuelen 1000  (UNSPEC)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

and here is the output of ip a:

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: enp5s0f0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether 3c:4a:92:f3:38:cc brd ff:ff:ff:ff:ff:ff
3: enp5s0f1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 3c:4a:92:f3:38:cd brd ff:ff:ff:ff:ff:ff
    inet 169.254.108.161/16 brd 169.254.255.255 scope link enp5s0f1
       valid_lft forever preferred_lft forever
    inet 7x.xxx.xx.162/24 brd 7x.xxx.xx.255 scope global enp5s0f1
       valid_lft forever preferred_lft forever
    inet 7x.xxx.xx.163/24 brd 7x.xxx.xx.255 scope global secondary enp5s0f1
       valid_lft forever preferred_lft forever
    inet 7x.xxx.xx.164/24 brd 7x.xxx.xx.255 scope global secondary enp5s0f1
       valid_lft forever preferred_lft forever
    inet 7x.xxx.xx.165/24 brd 7x.xxx.xx.255 scope global secondary enp5s0f1
       valid_lft forever preferred_lft forever
    inet 7x.xxx.xx.166/24 brd 7x.xxx.xx.255 scope global secondary enp5s0f1
       valid_lft forever preferred_lft forever
    inet6 2a01:xxxx:x:xxxx::6/128 scope global
       valid_lft forever preferred_lft forever
    inet6 2a01:xxxx:x:xxxx::5/128 scope global
       valid_lft forever preferred_lft forever
    inet6 2a01:xxxx:x:xxxx::4/128 scope global
       valid_lft forever preferred_lft forever
    inet6 2a01:xxxx:x:xxxx::3/128 scope global
       valid_lft forever preferred_lft forever
    inet6 2a01:xxxx:x:xxxx::2/128 scope global
       valid_lft forever preferred_lft forever
    inet6 fe80::3e4a:92ff:fef3:38cd/64 scope link
       valid_lft forever preferred_lft forever
4: wg0: <POINTOPOINT,NOARP,UP,LOWER_UP> mtu 1420 qdisc noqueue state UNKNOWN group default qlen 1000
    link/none
    inet 10.9.0.1/24 scope global wg0
       valid_lft forever preferred_lft forever
    inet6 fd42:42:42::1/64 scope global
       valid_lft forever preferred_lft forever
5: docker0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default
    link/ether 02:42:c1:d7:bf:45 brd ff:ff:ff:ff:ff:ff
    inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0
       valid_lft forever preferred_lft forever
6: br-56088100d564: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default
    link/ether 02:42:f9:99:fc:2e brd ff:ff:ff:ff:ff:ff
    inet 172.18.0.1/16 brd 172.18.255.255 scope global br-56088100d564
       valid_lft forever preferred_lft forever
    inet6 fe80::42:f9ff:fe99:fc2e/64 scope link
       valid_lft forever preferred_lft forever
8: vethfb14277@if7: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master br-56088100d564 state UP group default
    link/ether d2:b6:0b:ee:9b:4c brd ff:ff:ff:ff:ff:ff link-netnsid 1
    inet6 fe80::d0b6:bff:feee:9b4c/64 scope link
       valid_lft forever preferred_lft forever
10: vetheb72794@if9: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master br-56088100d564 state UP group default
    link/ether 42:cb:5c:2c:17:a2 brd ff:ff:ff:ff:ff:ff link-netnsid 0
    inet6 fe80::40cb:5cff:fe2c:17a2/64 scope link
       valid_lft forever preferred_lft forever

I obviously broke something along the way, somehow. I’m back to uni, so despite messing around with it for quite a while I haven’t been able to fix it. I’d appreciate any help (I’m willing to pay - if you’d like to SSH in) since I don’t really have time to work on it.

I’m sure I’m not providing all the info you probably need, so please ask and I’ll post it.

Thanks again :slight_smile:

Get us the output of ip -6 r please

1 Like
2a01:xxxx:x:xxxx::2 dev enp5s0f1 proto kernel metric 256 pref medium
2a01:xxxx:x:xxxx::3 dev enp5s0f1 proto kernel metric 256 pref medium
2a01:xxxx:x:xxxx::4 dev enp5s0f1 proto kernel metric 256 pref medium
2a01:xxxx:x:xxxx::5 dev enp5s0f1 proto kernel metric 256 pref medium
2a01:xxxx:x:xxxx::6 dev enp5s0f1 proto kernel metric 256 pref medium
fd42:42:42::/64 dev wg0 proto kernel metric 256 pref medium
fe80::/64 dev enp5s0f1 proto kernel metric 256 pref medium
fe80::/64 dev vetheb72794 proto kernel metric 256 pref medium
fe80::/64 dev br-56088100d564 proto kernel metric 256 pref medium
fe80::/64 dev vethfb14277 proto kernel metric 256 pref medium

Well there you go, you don’t have a default route.

ip -6 route add default via your::gateway dev enp5s0f1

2 Likes

Attempting to add the gateway from the provider results in:

ip -6 route add default via 2a01:xxxx:x:xxxx::1 dev enp5s0f1
RTNETLINK answers: No route to host

:confused:

Your setup is properly broken :smiley:

Add a route to the gateway too then… ip -6 route add 2a01:xxx::1 dev enp5s0f1 and then add the default gw

4 Likes

That worked! I can now ping6 google.com :heart:

Any idea how on earth I could’ve screwed this up? (or a way to keep these changes permanently).

You need to add the subnet size to your netplan. Instead of having IPs 2a01::6, 2a01::5 etc… you need to specify 2a01::6/64, 2a01::5/64…
Check your subnet size according to the provider docs - it’s possibly you have a /64, you can have /48, or anything in between and beyond really. That will fix the default route being unreachable and not getting added.

4 Likes

That was it, all is working well now :slight_smile:

Thank you so much, I would’ve never figured it out myself! :smiley:

2 Likes

:partying_face:

1 Like