[SOLVED] Hi, I stumble upon ipv6 SLAAC issue after updating to PVE8.0.3

sontjer

New Member
Jun 26, 2023
7
0
1
Hi, guys! IPV6 SLAAC always works fine on PVE 7.x, and all VMs and CTs as well. Once I update to the current PVE8.0.3, vmbr0 is not able to acquire IPV6 global address automatically with 'iface vmbr0 inet auto' line in /etc/network/interfaces , only comes up with the address with prefix 'fe80:', I have to manually edit the /etc/network/interfaces as follows to acquire the ipv6 global address. How am I suppose to do to get SLAAC back to work? Any help appreciated!

################
auto lo
iface lo inet loopback

iface enp1s0 inet manual

iface enp2s0 inet manual

auto vmbr0
iface vmbr0 inet static
address 192.168.1.4/24
gateway 192.168.1.3
bridge-ports enp1s0
bridge-stp off
bridge-fd 0
#request_prefix 1Management Port

iface vmbr0 inet6 static
address 210:xxxx:yyyy:210:e6b9:7aff:feea:2b9f/64
gateway 210:xxxx:yyyy:210:b435:ff:fe0d:1c86

auto vmbr1
iface vmbr1 inet manual
bridge-ports enp2s0
bridge-stp off
bridge-fd 0
#iface vmbr1 inet6 auto
#WAN
#############################
Here is the sysctl -p results:

root@pve:~# sysctl -p
fs.inotify.max_user_watches = 524288
fs.inotify.max_user_instances = 524288
net.ipv4.ip_forward = 1
net.ipv6.conf.all.forwarding = 1
net.ipv6.conf.all.accept_ra = 2
net.ipv6.conf.default.accept_ra = 2
net.ipv6.conf.vmbr0.accept_ra = 2
net.ipv6.conf.all.autoconf = 1
net.ipv6.conf.default.autoconf = 1
net.ipv6.conf.vmbr0.autoconf = 1
 
Last edited:
Hi,
previously on proxmox7, "inet6 auto" , or "accept_ra" && "autoconf" in /etc/network/interfaces was not working.

It has been implemented in last ifupdown2 version. (Maybe they are some bug, but I have done the implementation, and It was working fine)

to enable slaac, you have 2 possibility:
- use "inet6 auto" (if you don't have any static additional ip)

or

add "accept_ra 1|2 + autoconf 1" in your vmbr0 if you have another static ips


(and I'm not sure, but if the problem is on your vmbr1, maybe try to remove "inet manual" from the main vmbr1. (maybe it's overriding auto, I'm not sure)


'iface vmbr0 inet auto' line in /etc/network/interfaces ,

inet auto or inet6 auto ? (because it need to be "inet6 auto")


I have to manually edit the /etc/network/interfaces as follows to accquire the ipv6 global address.
can you send non working config && working config that your fixed ? (I'm not sure if you have posted the non working or fixed config)
 
Last edited:
Sorry for the confusion. The above is the workaround version, which uses a static ipv6 address instead, however, my initial thought was I wanted the SLAAC ipv6 distribution method to be implemented. Just tried adding 'iface vmbr0 inet6 auto', and then 'service networking restart', no magic.
 
Sorry for the confusion. The above is the workaround version, which uses a static ipv6 address instead, however, my initial thought was I wanted the SLAAC ipv6 distribution method to be implemented. Just tried adding 'iface vmbr0 inet6 auto', and then 'service networking restart', no magic.

so, with "iface vmbr0 inet static" for ipv4 ?

if yes, can you try with "iface vmbr0" ? (ifupdown2 allow to not set "inet static")



just to be sure, can you post the full non working config ?
 
Here are my interfaces configuration and ifreload -a -d with non working config. Hope you can dig something worth noting out.
 

Attachments

  • interfaces.txt
    1 KB · Views: 24
  • ifreload.txt
    12.2 KB · Views: 11
Last edited:
thanks you ! Indeed, looking at the log, I think that "auto inet6" it's currently doing nothing on bridges.
I'll look to fix that.

As workaround, can you test

Code:
auto vmbr0
iface vmbr0 inet static
        address 192.168.1.4/24
        gateway 192.168.1.6
        bridge-ports enp1s0
        bridge-stp off
        bridge-fd 0
        accept_ra 2
        autoconf 1

?

(inet6 auto is simply setting sysctl accept_ra=1 && autoconf=1)
Note that if you need accept_ra=2 , afaik, the normal behaviour is to setup it manually and don't use auto. (It's like that with classic ifupdown1).
accept_ra=2 is needed if you have sysctl forwarding enabled on the interface.
 
Last edited:
  • Like
Reactions: sontjer
thanks you ! Indeed, looking at the log, I think that "auto inet6" it's currently doing nothing on bridges.
I'll look to fix that.

As workaround, can you test

Code:
auto vmbr0
iface vmbr0 inet static
        address 192.168.1.4/24
        gateway 192.168.1.6
        bridge-ports enp1s0
        bridge-stp off
        bridge-fd 0
        accept_ra 2
        autoconf 1

?

(inet6 auto is simply setting sysctl accept_ra=1 && autoconf=1)
Note that if you need accept_ra=2 , afaik, the normal behaviour is to setup it manually and don't use auto. (It's like that with classic ifupdown1).
accept_ra=2 is needed if you have sysctl forwarding enabled on the interface.
Thanks for your diligence for the community. I'll give it a try. Pls let me know if you have it fixed in the coming days.
 
Last edited:
ok, it was easy to fix.

can you this package:

wget https://mutulin1.odiso.net/ifupdown2_3.2.0-1+pmx2_all.deb
dpkg -i ifupdown2_3.2.0-1+pmx2_all.deb

(not related, but do an "apt install ethtool" before, because they are another feature in this feature)


then do a "ifreload -a -d" and send me result.

Edit: patch sent to pve-devel mailing list
https://lists.proxmox.com/pipermail/pve-devel/2023-June/057920.htm
Performed a full reboot, after installing deb file and ethtool and adding 'iface vmbr0 inet6 auto' to interfaces configuration file.Now I got a global ipv6 address! Thanks sir! Here's the successful output.
 

Attachments

  • ifreload (2).txt
    12.8 KB · Views: 20
Last edited:
ok, thanks for your time for testing !

It should be available officially in some days in proxmox repositories.
Hi, there's a situation I feel like reporting to you, I had installed ifupdown2.deb and everything seemed normal, after an system update(apt update&&apt dist-upgrade) in which I noticed something like ifupdown2 was updated to ifupdown2 (3.2.0-1+pmx3) during the batch of updates, SLAAC then was broken again. Luckily I got your ifupdown2.deb to get SLAAC back on track.
 
Last edited:
Hi, there's a situation I feel like reporting to you, I had installed ifupdown2.deb and everything seemed normal, after an system update(apt update&&apt dist-upgrade) in which I noticed something like ifupdown2 was updated to ifupdown2 (3.2.0-1+pmx3) during the batch of updates, SLAAC then was broken again. Luckily I got your ifupdown2.deb to get SLAAC back on track.
slaac patches are not yet released in proxmox repo, it should be done in some days. Just be carefull until it's done.
 

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!