Netcup IPv6 Intermittant

Hi everyone,
I am aware there are a number of threads about this both here on FreeBSD's forums and on netcup itself, but largely the end result is to use another provider. Which is fine, but I've just entered a 6 month lease of a VPS with Netcup so would be nice to have a solution.
For those unaware, it seems to be an issue when running FreeBSD (seemingly 13 and above judging by forum posts, I am running 14.2) on Netcup VPSs that IPv6 connectivity is very intermittant. My experience has been that IPv6 works for about 5 minutes after reboot, then drops off and stops working until next reboot. Others have had connectivity come back and drop off again spuriously, but I have not had this happen yet.
My rc.conf ipv6 settings are something like the below:

Code:
ifconfig_vtnet0_ipv6="inet6 xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx prefixlen 64"
ipv6_defaultrouter="fe80::1%vtnet0"
Note: It seems SLAAC fails on netcup with FreeBSD as well as my VPS did not have any IPv6 connectivity before I manually set it., despite having `inet6 accept_rtadv` set in rc.conf

Netcup provide a subnet of IPv6 addresses to each customer, and I have picked a few different IPv6 addresses in this range, each of them seem to suffer the same problem - reboot the server, `ping6 netcup.de` works for a short while, then I get kicked off ssh due to timeout and upon reconnecting IPv6 no longer works.

Some forum posts seem to think this has something to do with the use of fe80::1 as the gateway, in that eventually (and my understand here is poor) the fact the host IP and gateway are on different subnets causes an issue and routing stops working properly for it.

Some other forums posts have said that people have had success in purchasing an additional IPv6 subnet. I have tried this but still get the same problem (I am still using fe80::1 as the gateway as do not know any other available gateway to use.

So, I guess my question is: Has anyone managed to get IPv6 on Netcup working reliably with FreeBSD and if so, would you mind sharing your related configurations so I could potentially borrow your knowledge to get mine working too?

Any other advice or ideas of things to try would be greatly appreciated.

Otherwise, I guess I'm just stuck with IPv4 for the life of this lease and will find something else when it comes to an end!

Thanks everyone!
 
I have the same problem with OpenBSD 7.6.
Interesting thing is that I can't even ping google.com, but I can ping6 their competitor hetzner.com.

Using fe80::1%ifname is advised in their documentation, so hardly a problem, but this could be an issue given my traceroute6 weird output.

I also can't obtain IPv4 from DHCP and I have to use static configuration, which raises suspician that they are doing wonky things.

I raised a ticket with the support and I adive you the same.

Also, please do the following tests (I'm using OpenBSD commands here, so you'll have to map):
1. ping6 -i 10 yourhost.com and leave it for few hours. You should see occasional From 2a00:11c0:47:3::123 icmp_seq=90 Destination unreachable: Address unreachable lasting few minutes - this ...::123 IP can vary, but it's not your network.
2. tcpdump -i vio0 icmp6 and pay attention to solicitation messages coming from other networks
3. traceroute6 google.com goes into 31 weird places for me
4. ping6 -c4 google.com - 100% loss for me
5. ping6 -c4 hetzner.com - ok

Compile a report into a PDF and send it to their support.

Why PDF? Becase their form allows JPG and PDF attachments. (-:
 
Thanks for your reply, good to know I'm not the only one still!
I have the same problem with OpenBSD 7.6.
Yep, I've found this on Netcup's community forum which seems to suggest it's an issue with all BSDs - KAME implementation perhaps?
(in German, browser translate did a pretty good job for me)



I also can't obtain IPv4 from DHCP and I have to use static configuration, which raises suspician that they are doing wonky things.
Odd, my IPv4 DHCP works fine - but I'd prefer to set it statically, so no real concern there for me.

Also, please do the following tests (I'm using OpenBSD commands here, so you'll have to map):
1. ping6 -i 10 yourhost.com and leave it for few hours. You should see occasional From 2a00:11c0:47:3::123 icmp_seq=90 Destination unreachable: Address unreachable lasting few minutes - this ...::123 IP can vary, but it's not your network.
2. tcpdump -i vio0 icmp6 and pay attention to solicitation messages coming from other networks
3. traceroute6 google.com goes into 31 weird places for me
4. ping6 -c4 google.com - 100% loss for me
5. ping6 -c4 hetzner.com - ok

Will do, thanks. Although mine tends to just drop off about 10 minutes after reboot and never comes back (or at least, I haven't noticed it come back up). I started running tcpdump -i vtnet0 inet6 last night though and that is giving me some information to investigate - things are trying to communicate by the looks of it, but something doesn't like it in the middle.
It's looking very much like this post on the netcup forum suggests in that if my ipv6 subnet is 2a03:4000:006c:1234::/64 and the [actual] gateway is an ipv6 in the subnet 2a03:4000:006c::/48 then the two ipv6's are not on the same subnet and "something" happens to stop them communicating. This is what changing your ipv6 /64 to /48 is supposed to help, and has done for some people - but not working for me!

Compile a report into a PDF and send it to their support.

Why PDF? Becase their form allows JPG and PDF attachments. (-:
Oh dear! 🤣

I will be contacting Netcup support too. So will also see what they say!
 
Sounds like your FreeBSD VM might not be able to send or receive neighbor and/or router solicitation+advertisements.

Do you have pf or ipfw running on your VM?

Also, if Netcup hands out IPv6 via SLAAC instead of DHCPv6, can you check the lifetime of the router advertisements?

e.g.

sudo tcpdump -vvvv -ttt -i vtnet0 icmp6 and 'ip6[40] = 134'

and

ndp -a

I have had similar issues on IONOS, maybe these cases are related?
 
subnetspider thanks for your notes. This could well be something to do with router solicitation and advertisements. I can't say I know enough about that to investigate it just yet though.

I do have pf running, though in my testing I did disable pf and experienced the same issues.
I haven't had any luck at all with SLACC with FreeBSD on Netcup, but something to look at too.

I've done quite a bit of research at this point and have documented my findings here: https://paulwilde.uk/ponderings/my-battles-with-netcup-ipv6-on-freebsd/

Ending up with I have a semi-stable, sort of, solution - but I would appreciate any comments if anyone has any.
 
I just remembered one thing: dual-dhclient


I followed this blog post to set up a DHCP + DHCPv6 client for FreeBSD on a IONOS Linux VPS (you can ignore the installation part).

Maybe this will be worth a try.
 
Thanks.
I don't really want to use DHCP. I appreciate the IP is always going to be the same (as that's one Netcup have given me) but I feel much more confident having it set statically as this server accepts incoming requests, the last thing I want is for the IP to change without me knowing.
Right now, with my solution in my post above, it's currently working pretty well. I've had it pinging away for about an hour now with only a couple of minor drops, which self-healed after about 10 seconds.
Progress! :)
 
Hi everyone,
I am aware there are a number of threads about this both here on FreeBSD's forums and on netcup itself, but largely the end result is to use another provider. Which is fine, but I've just entered a 6 month lease of a VPS with Netcup so would be nice to have a solution.
For those unaware, it seems to be an issue when running FreeBSD (seemingly 13 and above judging by forum posts, I am running 14.2) on Netcup VPSs that IPv6 connectivity is very intermittant. My experience has been that IPv6 works for about 5 minutes after reboot, then drops off and stops working until next reboot. Others have had connectivity come back and drop off again spuriously, but I have not had this happen yet.
My rc.conf ipv6 settings are something like the below:

Code:
ifconfig_vtnet0_ipv6="inet6 xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx prefixlen 64"
ipv6_defaultrouter="fe80::1%vtnet0"
Note: It seems SLAAC fails on netcup with FreeBSD as well as my VPS did not have any IPv6 connectivity before I manually set it., despite having `inet6 accept_rtadv` set in rc.conf

Netcup provide a subnet of IPv6 addresses to each customer, and I have picked a few different IPv6 addresses in this range, each of them seem to suffer the same problem - reboot the server, `ping6 netcup.de` works for a short while, then I get kicked off ssh due to timeout and upon reconnecting IPv6 no longer works.

Some forum posts seem to think this has something to do with the use of fe80::1 as the gateway, in that eventually (and my understand here is poor) the fact the host IP and gateway are on different subnets causes an issue and routing stops working properly for it.

Some other forums posts have said that people have had success in purchasing an additional IPv6 subnet. I have tried this but still get the same problem (I am still using fe80::1 as the gateway as do not know any other available gateway to use.

So, I guess my question is: Has anyone managed to get IPv6 on Netcup working reliably with FreeBSD and if so, would you mind sharing your related configurations so I could potentially borrow your knowledge to get mine working too?

Any other advice or ideas of things to try would be greatly appreciated.

Otherwise, I guess I'm just stuck with IPv4 for the life of this lease and will find something else when it comes to an end!

Thanks everyone!

I had this issue awhile ago and am one of the posters on the Netcup forum. The issue back then was that packets would go out(icmp) but replies come back using a different route causing a long delay, some up to a minute and this goes on intermittently. The delay is probably their switching. The alternative suggestion was to purchase an additional /64 which for most isn't going to happen.

I just logged in to the box to check and it seems the first hop out is a '::2' address from my /64 subnet. I tried your method and it seems to work. Here's what I did:-

Rich (BB code):
ifconfig vtnet0 inet6 2a03:xx:xx::1 -alias
ifconfig vtnet0 inet6 2a03:xx:xx::1/48 alias
ping -S 2a03:xx:xx::1 forums.freebsd.org <-- get's replies instantly using 'fe80::1%vtnet0' gateway
route -6n change default 2a03:xx:xx::2
ping -S 2a03:xx:xx::1 forums.freebsd.org <-- get's replies instantly, yay
netstat -rn6 | grep default <-- just to confirm it's using the '::2' gateway address

pinging from a remote machine get instant replies as well. So we'll see if it's still intermittent.

I ran this on a remote machine to see how long till an ssh session cut's off:

time ssh netcup-box tee
 
Back
Top