I am having a hell of a time getting IPv6 address connectivity set up on my new VPS. I thought I knew what I was doing but apparently networkd disagrees, I keep getting issues when trying to add a default route.
Here is the networking information provided to me by my ISP:
Subnet 2001:19f0:6:2::/64 Gateway 2001:19f0:6::1 Nameserver 2001:4860:4860::8888 Nameserver 2001:4860:4860::8844 Interface: ens3 OS: Ubuntu 18.04.02 Systemd version: 237
Current Setup
I can easily set up my IP address and add a route to the gateway with the following systemd file:
[Match] Name=ens3 [Network] Address=209.222.17.197/26 Gateway=209.222.17.193 DNS=8.8.8.8 [Network] Address=2001:19f0:6:2::1337/64 [Route] Destination=2001:19f0:6::1
I get no errors in journalctl, I can successfully ping 2001:19f0:6::1
, but of course I don't have a default gateway or internet access. I can easily use 2001:19f0:6::1
as my default gateway with the following command: sudo ip -6 route add default via 2001:19f0:6::1
This gives me full ipv6 routing, I can ping ipv6.google.com
.
The Problem
I can't seem to get the default gateway set up in networkd, I've spent so many hours trying different combinations of options I think this might be a bug. For example, if I amend my configuration to look like this:
[Match] Name=ens3 [Network] Address=209.222.17.197/26 Gateway=209.222.17.193 DNS=8.8.8.8 [Network] Address=2001:19f0:6:2::1337/64 [Route] Destination=2001:19f0:6::1 [Route] Gateway=2001:19f0:6::1 GatewayOnlink=true
I get the following error in the journalctl log:
May 27 19:31:46 public-NY systemd-networkd[2452]: ens3: Could not set route: No route to host
I always see that damn error "no route to host", if there's no route to 2001:19f0:6::1
then why the hell can I ping it?!
I'm fed up with this issue, but I'd like to use netplan and therefore systemd-networkd for my networking. Am I just doing something stupid or is something as critical as networkd really this broken?