[SOLVED] IPv6 DHCPv6 Routing Issue

ride

New Member
Jan 28, 2023
3
1
3
Hello.
I am having an issue with IPv6 dhcp on my bridge interface.
I have a DHCPv6 server on my router, it has a static lease for the Proxmox host IPv6 address.
The Proxmox-7.3-4 host will get the proper IPv6 address, but uses a /128 and never sets the proper default route.
the IPv6 network is unreachable.

If I set the IPv6 statically then it works.
The problem is that I use prefix delegation for IPv6, our ISP sets the prefix and it can change from time to time.

I've tried lots of different things in /etc/network/interface and nothing works except setting as static address which I just can't do.

This is the current file, it is about as close to working as I can get:
Code:
iface enp2s0 inet manual
auto vmbr0
iface vmbr0 inet dhcp
  bridge-ports enp2s0
  bridge-stp off
  bridge-fd 0
 
iface vmbr0 inet6 dhcp
  bridge-ports enp2s0
  bridge-stp off
  bridge-fd 0

which results in this:
Code:
ip a
<snip>
vmbr0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether xc:x9:x5:x6:x4:x5 brd ff:ff:ff:ff:ff:ff
    inet X.X.X.222/24 brd X.X.X.255 scope global dynamic vmbr0
       valid_lft 3570sec preferred_lft 3570sec
    inet6 xxxx:xxxx:xxxx:xxxx::222/128 scope global  
       valid_lft forever preferred_lft forever
    inet6 fe80::xxxx:xxxx:xxxx:xxxx/64 scope link  
       valid_lft forever preferred_lft forever

Code:
ip -6 route
::1 dev lo proto kernel metric 256 pref medium
xxxx:xxxx:xxxx:xxxx::222 dev vmbr0 proto kernel metric 256 pref medium
fe80::/64 dev vmbr0 proto kernel metric 256 pref medium
fe80::/64 dev enp3s0 proto kernel metric 256 pref medium

It is setting the IPv6 address's "netmask" incorrectly and not setting any default route!
I've been pulling my hair out for a few days on this and I have very little left, Is there some setting I am missing??
 
if I add this to the interface configuration for "inet6" then it works:
up ip -6 route add default via fe80::xxxx:xxxx:xxx:d93c dev vmbr0

like this:
Code:
iface vmbr0 inet6 dhcp
  bridge-ports enp2s0
  bridge-stp off
  bridge-fd 0
  dhcp 1
  up ip -6 route add default via fe80::xxxx:xxxx:xxx:d93c dev vmbr0

The routers link local address shouldn't change (unless it gets replaced), but this still seems like a "hack" to get it to work properly with IPv6.
I guess it'll work for now though.
 
Last edited:
I did test some more, found that the root cause of my issues was also the missing/wrong default route...

I have two bridges to two interfaces, one is dhcp (over which the ui/ssh is accessible) the other is manual (for VMs only).
The interface that is set to manual gets the default IPv6 route assigned, the dhcp one does not...

I can disable IPv6 on the manual bridge to prevent it getting the default route. Still don't understand what goes wrong.
On my other Debian based server with two NICs (on static one dhcp) routes are set up correctly.
 
+100
Nice find!
I'll try it.
Something like that should be in the docs.
*edit
I remember trying that now, but I think I put in the wrong place for sysctl and it never picked it up.
It works now! Many Kudos to you good sir!!

:D
 
Last edited:
  • Like
Reactions: Aluveitie

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!