[SOLVED] ifupdown2 mess with IPv6 global

lixaotec

Member
Jul 26, 2020
73
2
13
45
Dear folks,

I recently updated my 6.2-4 pve to the latest packages on no-subscription repo that became 6.2-15.

Right after I did installed ifupdown2 in order to acomplish network changes without reboot.

Therefore I notice that after it, my pve host ipv6 (that is assigned auto by slaac) stopped working. The global Ipv6 doesnt assign anymore. I tried reboot and nothing.

I have not changed any config other than installing ifupdown2.

Has anyone been thought that before?

How may I troubleshoot?

Thanks
 
Sure @spirit

Thanks in advance

Code:
# network interface settings; autogenerated
# Please do NOT modify this file directly, unless you know what
# you're doing.
#
# If you want to manage parts of the network configuration manually,
# please utilize the 'source' or 'source-directory' directives to do
# so.
# PVE will preserve these directives, but will NOT read its network
# configuration from sourced files, so do not attempt to move any of
# the PVE managed interfaces into external files!

auto lo
iface lo inet loopback

iface enp5s0 inet manual
#PCI AsRock Gigabit

auto enx9cebe8c3766f
iface enx9cebe8c3766f inet manual
#USB Dell Gigabit

auto vmbr0
iface vmbr0 inet static
        address 192.168.100.10/24
        gateway 192.168.100.1
        bridge-ports enp5s0 enx9cebe8c3766f
        bridge-stp off
        bridge-fd 0

auto vmbr254
iface vmbr254 inet manual
        bridge-ports none
        bridge-stp off
        bridge-fd 0
#Host

auto vmbr50
iface vmbr50 inet manual
        bridge-ports none
        bridge-stp off
        bridge-fd 0
#Internet

auto vmbr1
iface vmbr1 inet manual
        bridge-ports none
        bridge-stp off
        bridge-fd 0
#lan
 
@spirit

I didnt worked

ifupdown2 package seems very tricky with ipv6 and slaac, read their issues and think they do not priorized this.

I regret using it however that will makes me installing proxmox from scratch.
 
@spirit

I didnt worked

ifupdown2 package seems very tricky with ipv6 and slaac, read their issues and think they do not priorized this.

I regret using it however that will makes me installing proxmox from scratch.
you can still rollback, simply reinstall ifupdown1 "apt install ifupdown"
 
  • Like
Reactions: lixaotec
For three months I could not figure out why my VMs themselves had ipv6 just fine but the host itself did not. It's because PVE Enterprise uses ifupdown2 and bridges do not automatically accept router advertisements in ifupdown2 like they do in ifupdown. My VMs, on the other hand, were running primarily stock Debian and/or other GNU/Linux with ifupdown (not ifupdown2). Therefore, you simply need to add "accept_ra 2" to your interfaces file. Here's an example:

Code:
auto lo
iface lo inet loopback

iface enp0s31f6 inet manual

auto vmbr0
iface vmbr0 inet static
        address 71.55.85.100
        gateway 71.55.85.112
        bridge-ports enp0s31f6
        bridge-stp off
        bridge-fd 0
        accept_ra 2

Once I added that line and restarted networking it worked fine. There's no need to populate that parameter to every interface like the solution above, moreover, depending on your setup that could be a security risk or simply not needed. There's also no reason to specify pre-up as the interface will be raised with this parameter upon reboot and/or restarting the service. Now I need to go track down the 10+ stack exchange posts and help folks coming by those.

Hopefully this helps someone else in my predicament and also provides some extra context. I do thank the OP for posting and being the final breadcrumb needed to sort this mess out. I can finally assign static ipv6 to the hypervisor now lmao.
 
you can still rollback, simply reinstall ifupdown1 "apt install ifupdown"
I don't think you can do this with PVE Enterprise (paid). It will uninstall PVE as it requires, sfaik, ifupdown2.
 
Proxmox 9 still have that issue. Adding the accept_ra line did not permit ipv6 auto to work. I used to install ifupdown 1 up to version 8, but in version 9, it breaks it and cannot start properly. What trick would make IPv6 work in Proxmox 9?
 
Ok the accept_ra 2 setting doesn't work but activating RA via sysctl works for me, sysctl net.ipv6.conf.vmbr0.accept_ra=2. Argh I hope the now mandatory ifupdown2 doesn't introduce more problems.
 
Ok the accept_ra 2 setting doesn't work but activating RA via sysctl works for me, sysctl net.ipv6.conf.vmbr0.accept_ra=2. Argh I hope the now mandatory ifupdown2 doesn't introduce more problems.
I tried the command "sysctl net.ipv6.conf.vmbr0.accept_ra=2", then rebooted. The second NIC that I use to test SLAAC still do not receive an SLAAC IPv6 address. This config was working properly with Proxmox 8, before the upgrade to 9 :

auto vmbr2
iface vmbr2 inet static
address 10.0.254.247/24
bridge-ports eth1
bridge-stp off
bridge-fd 0
bridge-vlan-aware yes
bridge-vids 2-4094
iface vmbr2 inet6 auto (I also tried with manual)

vmbr2: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 10.0.254.247 netmask 255.255.255.0 broadcast 0.0.0.0
inet6 fe80::215:5dff:fe00:3f14 prefixlen 64 scopeid 0x20<link>
ether 00:15:5d:00:3f:14 txqueuelen 1000 (Ethernet)
RX packets 967 bytes 151204 (147.6 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 480 bytes 70644 (68.9 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0



Here is a nic from another server still running Proxmox 8 :

auto vmbr2
iface vmbr2 inet manual
bridge-ports ens256
bridge-stp off
bridge-fd 0
bridge-vlan-aware yes
bridge-vids 2-4094
iface vmbr2 inet6 manual

vmbr2: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet6 2001:470:b008:0:250:56ff:feba:e962 prefixlen 64 scopeid 0x0<global>
inet6 fe80::250:56ff:feba:e962 prefixlen 64 scopeid 0x20<link>
ether 00:50:56:ba:e9:62 txqueuelen 1000 (Ethernet)
RX packets 87702016 bytes 7562871930 (7.0 GiB)
RX errors 0 dropped 98 overruns 0 frame 0
TX packets 10 bytes 956 (956.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
 
Last edited: