Static IPv6 address for vmbr2 bridge only works after I do ifup vmbr2

reckless

Well-Known Member
Feb 5, 2019
79
4
48
So I set a static IPv6 address (Unique Local Address) for my vmbr2 bridge and set the default gateway to my router's Link-Local Address.
Everything works just fine, but after a reboot of the Proxmox nodem the IPv6 address ONLY works after I do "ifup vmbr2". It won't come up automatically like IPv4 static addresses do. Why is this, and how can I make the IPv6 address come up automatically without issueing this extra command after a reboot?

Here's /etc/network/interfaces:

Code:
auto enp67s0
iface enp67s0 inet manual
        mtu 9000

auto enp67s0d1
iface enp67s0d1 inet manual
        mtu 9000

auto bond0
iface bond0 inet manual
        bond-slaves enp67s0 enp67s0d1
        bond-miimon 100
        bond-mode 802.3ad
        bond-xmit-hash-policy layer2+3
        mtu 9000

auto vmbr0
iface vmbr0 inet static
        address 192.168.3.3/24
        bridge-ports eno1
        bridge-stp off
        bridge-fd 0

auto vmbr2
iface vmbr2 inet static
        address 192.168.1.2/24
        gateway 192.168.1.1
        bridge-ports bond0
        bridge-stp off
        bridge-fd 0
        mtu 9000

iface vmbr2 inet6 static
        address fdac:0992:3af9::aca/64
        gateway fe80::feec:daff:fed6:617f
        netmask 64

auto vmbr1
iface vmbr1 inet manual
        bridge-ports eno2
        bridge-stp off
        bridge-fd 0
 
do you have tried t remove "netmask 64" , as you already defined /64 on address ?



also, another way, if you use ifupdow2, it's possible to define both ipv4 && ipv6 on same interface.
It's not supported yet by proxmox gui, but you edit manually /etc/network/interfaces like:

Code:
auto vmbr2
iface vmbr2
        address 192.168.1.2/24
        address fdac:0992:3af9::aca/64
        gateway 192.168.1.1
        gateway fe80::feec:daff:fed6:617f
        bridge-ports bond0
        bridge-stp off
        bridge-fd 0
        mtu 9000
 
That's a good idea, I just did and it entered ifup vmbr2. Seems to work fine for now, but for some reason I can't ping vmbr2's address from an LXC container connected to that same bridge, UNTIL I ping that container from the Proxmox host. I don't understand why...
For ease, I assigned all these static IP addresses:
Proxmox host vmbr2 IPv6 address: fdac::a
LXC container (connected to vmbr2): fdac::bb
Windows 10 workstation PC: fdac::ccc

From the Windows workstation I can ping both the Proxmox host (vmbr2 IPv6 address) as well as the LXC container.
From the LXC container I can ping my Windows workstation, but when I ping the Proxmox host (vmbr2) it fails over and over again with this error message: Destination unreachable: Address unreachable

But then, I ping the LXC from the Proxmox host, and it works... then I try the reverse and ping the Proxmox host from the LXC container and now it suddenly works... Why is this? It doesn't make any sense and I don't have these issues with IPv4.
 
Last edited:
I don't believe that's correct spirit. fdac::a is the same address as fdac:0000:0000:0000:0000:0000:0000:000a. In A /64 mask, the bold part is the network portion and the rest of the address is the host portion. This is a completely valid ULA. Obviously it's simplied because it's a small network where we're doing the initial testing, but it should work exactly the same as a randomized 128 bit IPv6 address due to it being a ULA.

For GUAs (Global Unicast Addresses) my example would never work as they're more unique and need to be globally routed (thus the need to be unique), but this is a ULA subnet that will not leave this network amd will never be globally routable, and thus I am using ULA (Unique Local Addresses) which are a (RFC assigned) fd00::/8 range. Therefore fdac::a/64 should be a perfectly fine local address, just like 10.0.0.0/14 or 10.0.0.0/27 is.
 
Last edited: