0

I have a void linux server, and some websites don't work on it. If I ping google.com, I get timeout errors

PING google.com(fra24s04-in-x0e.1e100.net (2a00:1450:4001:827::200e)) 56 data bytes
^C
--- google.com ping statistics ---
12 packets transmitted, 0 received, 100% packet loss, time 11258ms

Trying to use wget also results in timeout errors

--2022-06-28 22:03:18--  https://releases.ubuntu.com/22.04/ubuntu-22.04-desktop-amd64.iso
Resolving releases.ubuntu.com (releases.ubuntu.com)... 2620:2d:4000:1::17, 2001:67c:1562::28, 2620:2d:4000:1::1a, ...
Connecting to releases.ubuntu.com (releases.ubuntu.com)|2620:2d:4000:1::17|:443... failed: Connection timed out.
Connecting to releases.ubuntu.com (releases.ubuntu.com)|2001:67c:1562::28|:443... failed: Connection timed out.
Connecting to releases.ubuntu.com (releases.ubuntu.com)|2620:2d:4000:1::1a|:443... failed: Connection timed out.
Connecting to releases.ubuntu.com (releases.ubuntu.com)|2001:67c:1562::25|:443...

ip -6 addr outputs

    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 state UP qlen 1000
    inet6 2a01:7e01::7c6e:8f34:70a3:3aa4/64 scope global dynamic mngtmpaddr noprefixroute 
       valid_lft 5284sec preferred_lft 1684sec
    inet6 fe80::bf7e:a39f:fdf4:2bb1/64 scope link 
       valid_lft forever preferred_lft forever

ip -6 route outputs

fe80::/64 dev eth0 proto kernel metric 256 pref medium
default via fe80::1 dev eth0 proto ra metric 1002 mtu 1500 pref medium

ip -6 rule outputs

32766:  from all lookup main

ip6tables-save outputs nothing

Some IP addresses and websites work, but not many. I tried changing DNS servers and network managers, but nothing works. How do I fix this and get the internet working?

4
  • What's your output of ip -6 addr, ip -6 route, ip -6 rule, and maybe ip6tables-save if you have that installed? Commented Jun 28, 2022 at 22:29
  • @user1686 i updated the question Commented Jun 29, 2022 at 7:07
  • Which network management tools are you using? If you're using dhcpcd, try changing from slaac private to slaac hwaddr in its config. If you're using NetworkManager, try setting ipv6.addr-gen-mode to "eui64". Commented Jun 29, 2022 at 8:54
  • @user1686 I changed it and restarted dhcpcd, and now it works perfectly, thanks so much!!!!!!!! Commented Jun 29, 2022 at 11:22

1 Answer 1

0

All of your "not working" examples show IPv6 connections – meaning that the server probably has a real IPv6 address and an IPv6 default route (otherwise it wouldn't be trying this), but for some reason it's still not able to send v6 packets to anywhere.

According to ip addr output, the server has an IPv6 address from one of Linode's "shared" subnets (where each server chooses its own address using SLAAC).

However, Linode datacenters don't allow servers to choose any random address – they have anti-spoofing filtering in place, so they require servers to use only their MAC-based (aka EUI64-based) IPv6 address.

Meanwhile your current IPv6 address definitely is not EUI64-based – it's missing the ff:fe infix that would be inserted in the middle of a MAC-based address, meaning it's probably an RFC7217 "opaque" address. (Network management tools increasingly use opaque IPv6 addresses for privacy reasons – precisely to avoid revealing the MAC address, which is important for mobile devices, but less so for virtual servers.)

If you want to continue using automatic IPv6 configuration via SLAAC, you need to make the SLAAC client always use EUI64 addresses:

  • dhcpcd:

    Edit your dhcpcd.conf to say slaac hwaddr instead of slaac private.

  • NetworkManager:

    Run nmcli con modify "Profile name here" ipv6.addr-gen-mode eui64.

  • systemd-networkd (EUI64 is already the default):

    Specify Token=eui64 (or just do not specify a token at all) in the [IPv6AcceptRA] section of your *.network profile.

  • Kernel built-in SLAAC client (EUI64 is already the default):

    Add net.ipv6.conf.eth0.addr_gen_mode = 0 to your sysctl.d.

You must log in to answer this question.

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