You are not logged in.
Hi all,
I am renting a small VPS (running Arch of course) from Hetzner which comes with both an IPv4 and IPv6 assigned to it. However, I am currently unable to make use of the IPv6 connection, no matter what I try, it seems like I'm not getting the global IPv6 assigned that my server is supposed to have. I use systemd-networkd to manage my network configuration. According to the support from Hetzner everything is working fine on their end, so does anybody see anything in my setup that is wrong?
# 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 noprefixroute
valid_lft forever preferred_lft forever
2: enp1s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 96:00:04:1c:af:0b brd ff:ff:ff:ff:ff:ff
altname enx9600041caf0b
inet xxx.xxx.x.xx/32 metric 1024 scope global dynamic enp1s0
valid_lft 85967sec preferred_lft 85967sec
inet6 fe80::9400:4ff:fe1c:af0b/64 scope link proto kernel_ll
valid_lft forever preferred_lft forever
(... and a bunch of local stuff)
# cat /etc/systemd/networkd.conf
[Network]
#SpeedMeter=no
#SpeedMeterIntervalSec=10sec
#ManageForeignRoutingPolicyRules=yes
#ManageForeignRoutes=yes
#ManageForeignNextHops=yes
#RouteTable=
#IPv6PrivacyExtensions=no
#UseDomains=no
[IPv6AcceptRA]
#UseDomains=
[DHCPv4]
#DUIDType=vendor
#DUIDRawData=
#UseDomains=
[DHCPv6]
#DUIDType=vendor
#DUIDRawData=
#UseDomains=
[DHCPServer]
#PersistLeases=yes
# lsmod | grep ip6
ip6table_security 12288 0
ip6table_mangle 12288 0
ip6table_raw 12288 1
ip6table_nat 12288 1
nf_nat 61440 4 ip6table_nat,xt_nat,iptable_nat,xt_MASQUERADE
ip6table_filter 12288 1
ip6_tables 36864 5 ip6table_filter,ip6table_raw,ip6table_nat,ip6table_mangle,ip6table_security
x_tables 65536 20 ip6table_filter,xt_conntrack,ip6table_raw,iptable_filter,iptable_security,ip6table_nat,xt_multiport,xt_tcpudp,xt_addrtype,xt_nat,xt_set,ip6_tables,ipt_REJECT,iptable_raw,ip_tables,iptable_nat,ip6table_mangle,ip6table_security,xt_MASQUERADE,iptable_mangle
# cat /proc/net/if_inet6
00000000000000000000000000000001 01 80 10 80 lo
fe80000000000000940004fffe1caf0b 02 40 20 80 enp1s0
(... and more starting with fe80)
# ping -6 ipv6.google.com
ping: connect: Network is unreachable
# tracepath ipv6.google.com
1: send failed
Resume: pmtu 128000
I'm out of ideas of what to try, nothing seems to work. I would very much appreciate any pointers or hints! If any other info is necessary I'd be more than happy to provide it.
Thanks all,
keineeile
Last edited by keineeile (2025-05-20 09:51:32)
Offline
AFAIK if you configured your VPS to have a public IPv6 address - your VPS gets a whole /64 subnet assigned.
Then you have to assign one of the 2^64 addresses to your VPS by manually configuring it.
Since you didn't share the contents of "/etc/systemd/network" we can't say what's missing.
Offline
maybe my OVH config can help: https://bbs.archlinux.org/viewtopic.php … 8#p2226528
you should get your IPs either from your control panel or ask support
otherwise I recommend have Hetzner setup your server with one of the hier standard images - grab its config (should be similar to mibe) and reinstall Arch
Offline
I'm not using Hetzner but I had to set the gateway for ipv6 connections to fe80::1
Where did you set your ipv4 address? There you should be able to set your ipv6 as well.
Last edited by mithrial (2025-05-20 09:43:10)
Offline
Thanks to you all! I do indeed get a full /64 subnet and tried to configure it manually but didn't do it right. @cryptearth, you rock, your config helped me fix my config and now it works beautifully. This is a working config for Hetzner if anybody else comes across this:
# cat /etc/systemd/network/20-wired.network
[Match]
Name=en*
Name=eth*
[Network]
DHCP=yes
UseDomains=true
Address=xxx.xxx.xxx.xxx
Address=your::ipv6:addr:here::1/64
Gateway=172.31.1.1
Gateway=fe80::1
Last edited by keineeile (2025-05-20 09:52:00)
Offline