Delegated Prefix and IPv6 connectivity

ProperName

New Member
Dec 6, 2021
9
1
1
Hi, my first thread accidentally got deleted by anti-spam measurements, so again:
I try to setup IPv6 on a test machine behind a dynamic internet connection (DHCPv6), without luck so far.
But other freshly installed Debian 12 are able to set up IPv6 in the same network automatically (see picture of the OpenWRT interface):
Setup is fritz.box -> openWRT -> Proxmox
IPv4 works flawlessly.

My objective is to set up IPv6 on Proxmox as well with the given delegated prefix, I tried several config variation and diverse tutorials.
May someone can lend me a helping hand?
Thanks in advance!

Code:
root@pve:~# cat /etc/network/interfaces
# 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

auto enp6s0
iface enp6s0 inet manual
#iface enp6s0 inet6 auto

#iface enp5s0 inet manual

auto vmbr0
iface vmbr0 inet static
    address 192.168.1.200/24
    gateway 192.168.1.1
    bridge-ports enp6s0
    bridge-stp off
    bridge-fd 0
    dns-nameservers 8.8.8.8

iface vmbr0 inet6 dhcp
#    request_prefix 1

Screenshot from 2023-07-07 11-07-51.png
 
Last edited:
Chris wrote:
Hi,
please post the output of sysctl net.ipv6.conf.vmbr0 and sysctl net.ipv6.conf.all. I assume you want to use DHCPv6, not SLAAC, correct?

You will have to add the line iface vmbr0 inet6 dhcp. Then reload all interfaces via ifreload -a and check the output of ip addr and ip route afterwards.

Correctly, DHCPv6.

Code:
root@pve:~# sysctl net.ipv6.conf.all
net.ipv6.conf.all.accept_dad = 0
net.ipv6.conf.all.accept_ra = 1
net.ipv6.conf.all.accept_ra_defrtr = 1
net.ipv6.conf.all.accept_ra_from_local = 0
net.ipv6.conf.all.accept_ra_min_hop_limit = 1
net.ipv6.conf.all.accept_ra_mtu = 1
net.ipv6.conf.all.accept_ra_pinfo = 1
net.ipv6.conf.all.accept_ra_rt_info_max_plen = 0
net.ipv6.conf.all.accept_ra_rt_info_min_plen = 0
net.ipv6.conf.all.accept_ra_rtr_pref = 1
net.ipv6.conf.all.accept_redirects = 1
net.ipv6.conf.all.accept_source_route = 0
net.ipv6.conf.all.addr_gen_mode = 0
net.ipv6.conf.all.autoconf = 1
net.ipv6.conf.all.dad_transmits = 1
net.ipv6.conf.all.disable_ipv6 = 0
net.ipv6.conf.all.disable_policy = 0
net.ipv6.conf.all.drop_unicast_in_l2_multicast = 0
net.ipv6.conf.all.drop_unsolicited_na = 0
net.ipv6.conf.all.enhanced_dad = 1
net.ipv6.conf.all.force_mld_version = 0
net.ipv6.conf.all.force_tllao = 0
net.ipv6.conf.all.forwarding = 0
net.ipv6.conf.all.hop_limit = 64
net.ipv6.conf.all.ignore_routes_with_linkdown = 0
net.ipv6.conf.all.ioam6_enabled = 0
net.ipv6.conf.all.ioam6_id = 65535
net.ipv6.conf.all.ioam6_id_wide = 4294967295
net.ipv6.conf.all.keep_addr_on_down = 0
net.ipv6.conf.all.max_addresses = 16
net.ipv6.conf.all.max_desync_factor = 600
net.ipv6.conf.all.mc_forwarding = 0
net.ipv6.conf.all.mldv1_unsolicited_report_interval = 10000
net.ipv6.conf.all.mldv2_unsolicited_report_interval = 1000
net.ipv6.conf.all.mtu = 1280
net.ipv6.conf.all.ndisc_notify = 0
net.ipv6.conf.all.ndisc_tclass = 0
net.ipv6.conf.all.proxy_ndp = 0
net.ipv6.conf.all.ra_defrtr_metric = 1024
net.ipv6.conf.all.regen_max_retry = 3
net.ipv6.conf.all.router_probe_interval = 60
net.ipv6.conf.all.router_solicitation_delay = 1
net.ipv6.conf.all.router_solicitation_interval = 4
net.ipv6.conf.all.router_solicitation_max_interval = 3600
net.ipv6.conf.all.router_solicitations = -1
net.ipv6.conf.all.rpl_seg_enabled = 0
net.ipv6.conf.all.seg6_enabled = 0
net.ipv6.conf.all.seg6_require_hmac = 0
net.ipv6.conf.all.suppress_frag_ndisc = 1
net.ipv6.conf.all.temp_prefered_lft = 86400
net.ipv6.conf.all.temp_valid_lft = 604800
net.ipv6.conf.all.use_oif_addrs_only = 0
net.ipv6.conf.all.use_tempaddr = 0

Code:
root@pve:~# sysctl net.ipv6.conf.vmbr0
net.ipv6.conf.vmbr0.accept_dad = 1
net.ipv6.conf.vmbr0.accept_ra = 1
net.ipv6.conf.vmbr0.accept_ra_defrtr = 1
net.ipv6.conf.vmbr0.accept_ra_from_local = 0
net.ipv6.conf.vmbr0.accept_ra_min_hop_limit = 1
net.ipv6.conf.vmbr0.accept_ra_mtu = 1
net.ipv6.conf.vmbr0.accept_ra_pinfo = 1
net.ipv6.conf.vmbr0.accept_ra_rt_info_max_plen = 0
net.ipv6.conf.vmbr0.accept_ra_rt_info_min_plen = 0
net.ipv6.conf.vmbr0.accept_ra_rtr_pref = 1
net.ipv6.conf.vmbr0.accept_redirects = 1
net.ipv6.conf.vmbr0.accept_source_route = 0
net.ipv6.conf.vmbr0.addr_gen_mode = 0
net.ipv6.conf.vmbr0.autoconf = 1
net.ipv6.conf.vmbr0.dad_transmits = 1
net.ipv6.conf.vmbr0.disable_ipv6 = 0
net.ipv6.conf.vmbr0.disable_policy = 0
net.ipv6.conf.vmbr0.drop_unicast_in_l2_multicast = 0
net.ipv6.conf.vmbr0.drop_unsolicited_na = 0
net.ipv6.conf.vmbr0.enhanced_dad = 1
net.ipv6.conf.vmbr0.force_mld_version = 0
net.ipv6.conf.vmbr0.force_tllao = 0
net.ipv6.conf.vmbr0.forwarding = 1
net.ipv6.conf.vmbr0.hop_limit = 64
net.ipv6.conf.vmbr0.ignore_routes_with_linkdown = 0
net.ipv6.conf.vmbr0.ioam6_enabled = 0
net.ipv6.conf.vmbr0.ioam6_id = 65535
net.ipv6.conf.vmbr0.ioam6_id_wide = 4294967295
net.ipv6.conf.vmbr0.keep_addr_on_down = 0
net.ipv6.conf.vmbr0.max_addresses = 16
net.ipv6.conf.vmbr0.max_desync_factor = 600
net.ipv6.conf.vmbr0.mc_forwarding = 0
net.ipv6.conf.vmbr0.mldv1_unsolicited_report_interval = 10000
net.ipv6.conf.vmbr0.mldv2_unsolicited_report_interval = 1000
net.ipv6.conf.vmbr0.mtu = 1500
net.ipv6.conf.vmbr0.ndisc_notify = 0
net.ipv6.conf.vmbr0.ndisc_tclass = 0
net.ipv6.conf.vmbr0.proxy_ndp = 0
net.ipv6.conf.vmbr0.ra_defrtr_metric = 1024
net.ipv6.conf.vmbr0.regen_max_retry = 3
net.ipv6.conf.vmbr0.router_probe_interval = 60
net.ipv6.conf.vmbr0.router_solicitation_delay = 1
net.ipv6.conf.vmbr0.router_solicitation_interval = 4
net.ipv6.conf.vmbr0.router_solicitation_max_interval = 3600
net.ipv6.conf.vmbr0.router_solicitations = -1
net.ipv6.conf.vmbr0.rpl_seg_enabled = 0
net.ipv6.conf.vmbr0.seg6_enabled = 0
net.ipv6.conf.vmbr0.seg6_require_hmac = 0
net.ipv6.conf.vmbr0.suppress_frag_ndisc = 1
net.ipv6.conf.vmbr0.temp_prefered_lft = 86400
net.ipv6.conf.vmbr0.temp_valid_lft = 604800
net.ipv6.conf.vmbr0.use_oif_addrs_only = 0
net.ipv6.conf.vmbr0.use_tempaddr = 0

Code:
root@pve:~# ifreload -a

root@pve:~# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: enp6s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq master vmbr0 state UP group default qlen 1000
    link/ether a8:a1:59:9e:6a:c1 brd ff:ff:ff:ff:ff:ff
3: vmbr0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether a8:a1:59:9e:6a:c1 brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.200/24 scope global vmbr0
       valid_lft forever preferred_lft forever
    inet6 fe80::aaa1:59ff:fe9e:6ac1/64 scope link
       valid_lft forever preferred_lft forever

root@pve:~# ip route
default via 192.168.1.1 dev vmbr0 proto kernel onlink
192.168.1.0/24 dev vmbr0 proto kernel scope link src 192.168.1.200

Updating the /etc/network/interfaces as shown in the first post seemingly didn't help.
 
Last edited:
Do you have the firewall enabled? If so, please make sure that you have rules which allow all required DHCPv6 and other IPv6 traffic. You can use the macros for that.

Edit: Also, just for completeness: for IPv6 the command to get the route is ip -6 route, I often forget about the additional required parameter.
 
Last edited:
Do you have the firewall enabled? If so, please make sure that you have rules which allow all required DHCPv6 and other IPv6 traffic. You can use the macros for that.

Edit: Also, just for completeness: for IPv6 the command to get the route is ip -6 route, I often forget about the additional required parameter.
For testing I completely disabled the firewall. (pve-firewall stop)
Code:
root@pve:~# ip -6 route
::1 dev lo proto kernel metric 256 pref medium
fe80::/64 dev vmbr0 proto kernel metric 256 pref medium

At least I was able to use IPv6 at all:
Code:
#iface vmbr0 inet6 dhcp
iface vmbr0 inet6 static
    address 2001:9e8:975:5ffc::6/128
    gateway 2001:9e8:975:5ffc::1
#    request_prefix 1

root@pve:~# ping -6 google.de
PING google.de(ham02s21-in-x03.1e100.net (2a00:1450:4005:802::2003)) 56 data bytes
64 bytes from ham02s21-in-x03.1e100.net (2a00:1450:4005:802::2003): icmp_seq=1 ttl=59 time=42.6 ms
^C
--- google.de ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 42.629/42.629/42.629/0.000 ms

root@pve:~# ip -6 route
::1 dev lo proto kernel metric 256 pref medium
2001:9e8:975:5ffc::6 dev vmbr0 proto kernel metric 256 pref medium
fe80::/64 dev vmbr0 proto kernel metric 256 pref medium
default via 2001:9e8:975:5ffc::1 dev vmbr0 proto kernel metric 1024 onlink pref medium

But still no DHCPv6-IP with the correct prefix (no IPv6 with DHCP at all).
 
Have you tried adding net.ipv6.conf.vmbr0.accept_ra=2 in your /etc/sysctl.conf file and tried rebooting ProxMox.
No, that did not work either.

It's a bit strange, after a reboot even the static variant do not work anymore - sometimes it works with static and the dhcp option simply doesn't do anything and sometimes even the static variant doesn't work, and if so even IPv4 do not work as well, till I remove every IPv6 configuration and do ifreload -a. Aftwarwards I can enable IPv6 again, but dhcp still won't work.
 
For DHCPv6 this is what I have and it works for me but with ProxMox 8 there was some issues with DHCPv6, every time I reboot I will get a new DUID and my Openwrt router will not assign a IPv6 address to proxmox and proxmox would not start. Here is the post for more information https://forum.proxmox.com/threads/l...rating-new-ipv6-duid-for-every-reboot.129429/

This is my interface file for DHCPv6 which also removes the requirement for typing port 8006 and enables https.

Code:
auto lo
iface lo inet loopback

iface eno1 inet manual

iface eno2 inet manual

auto vmbr0
allow-hotplug vmbr0
iface vmbr0 inet dhcp
    gateway 192.168.1.1
    bridge-ports eno1
    bridge-stp off
    bridge-fd 0
    post-up iptables -t nat -A PREROUTING -p tcp -d 192.168.1.10 --dport 443 -j REDIRECT --to-ports 8006

iface vmbr0 inet6 dhcp
    gateway fd00::1
    post-up ip6tables -t nat -A PREROUTING -p tcp -d fd00::10 --dport 443 -j REDIRECT --to-ports 8006
 
Last edited:
For DHCPv6 this is what I have and it works for me but with ProxMox 8 there was some issues with DHCPv6, every time I reboot I will get a new DUID and my Openwrt router will not assign a IPv6 address to proxmox and proxmox would not start. Here is the post for more information https://forum.proxmox.com/threads/l...rating-new-ipv6-duid-for-every-reboot.129429/

This is my interface file for DHCPv6 which also removes the requirement for typing port 8006 and enables https.

[...]
Still no success. With an upgrade from Proxmox7 to Promox8 at least IPv6 doesn't "kill" IPv4 anymore, it just doesn't work.
And I am able to obtain a IPv6 in an unusual way:
Code:
iface vmbr0 inet6 dhcp
        post-up sleep 10 && dhclient -6 -v vmbr0

But without the correct gatway it's worth nothing...
dhclient says:
Code:
root@pve:~# dhclient -6 -v vmbr0
Internet Systems Consortium DHCP Client 4.4.3-P1
Copyright 2004-2022 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/

Listening on Socket/vmbr0
Sending on   Socket/vmbr0
PRC: Confirming active lease (INIT-REBOOT).
XMT: Forming Confirm, 0 ms elapsed.
XMT:  X-- IA_NA 59:9e:6a:c1
XMT:  | X-- Confirm Address 2001:9e8:97c:6afc::d7b
XMT:  V IA_NA appended.
XMT: Confirm on vmbr0, interval 970ms.
RCV: Reply message on vmbr0 from fe80::6238:e0ff:fe0e:685b.
RCV:  X-- Server ID: 00:03:00:01:60:38:e0:0e:68:5b
message status code Success.
PRC: Bound to lease 00:03:00:01:60:38:e0:0e:68:5b.

untitled.png
 
Last edited:
  • Like
Reactions: Willi_H
Since i wasn't able to solve my problem I used a dirty workaround which is tolerable for me:
Code:
crontab -e
adding:

*/2 * * * * perl /root/ipv6_dhcp.pl 1

Code:
iface vmbr0 inet6 dhcp
    post-up sleep 10 && perl /root/ipv6_dhcp.pl


And /root/ipv6_dhcp.pl:
Perl:
#!/usr/bin/perl
use v5.12;
use Data::Dumper;

my $ping_check = $ARGV[0] || 0;

unless ($ping_check) {
    renew_ipv6();
} else {
    renew_ipv6()
    unless is_pingable("2606:4700::6810:85e5", "google.com", "microsoft.com", "cloudflare.com");
}

sub renew_ipv6 {
    my $interface = 'vmbr0';

    `dhclient -6 -r $interface`;
    my @output = `dhclient -6 -v $interface 2>&1`;

    my $gateway;
    for my $line (@output) {
        if ($line =~ m/$interface from (.+)./) {
            $gateway = $1;
            last;
        }
    }

    `ip route replace default via $gateway dev $interface`;
}

sub is_pingable {
    my @hosts = @_;
 
    for my $host (@hosts) {
        my $pingable = `ping -6 -c 1 $host`;
        return 1 if $pingable;
    }

    return 0;
}

Would still prefer a straight forward solution if anybody got one.


Cheers
 
Last edited:
Please check the ifupdown2 logs for errors or hints on why you don't get a DHCPv6 lease. They are located under
/var/log/ifupdown2.
 
Please check the ifupdown2 logs for errors or hints on why you don't get a DHCPv6 lease. They are located under
/var/log/ifupdown2.
Seems to be ok till:
Code:
[...]
2023-07-10 17:07:08,937: MainThread: ifupdown.networkInterfaces: networkinterfaces.py:506:read_file(): info: processing interfaces file /etc/network/interfaces
2023-07-10 17:07:08,937: MainThread: ifupdown2: main.py:85:main(): error: main exception: no ifaces found matching given allow lists
2023-07-10 17:07:08,946: MainThread: ifupdown2: log.py:373:write(): info: exit status 1

And google says almost nothing to: "no ifaces found matching given allow lists".

Corresponding interfaces-file:
Code:
auto lo
iface lo inet loopback

auto enp6s0
iface enp6s0 inet manual

auto vmbr0
iface vmbr0 inet static
        address 192.168.1.200/24
        gateway 192.168.1.1
        bridge-ports enp6s0
        bridge-stp off
        bridge-fd 0
        dns-nameservers 8.8.8.8

iface vmbr0 inet6 dhcp
 
Seems to be ok till:
Code:
[...]
2023-07-10 17:07:08,937: MainThread: ifupdown.networkInterfaces: networkinterfaces.py:506:read_file(): info: processing interfaces file /etc/network/interfaces
2023-07-10 17:07:08,937: MainThread: ifupdown2: main.py:85:main(): error: main exception: no ifaces found matching given allow lists
2023-07-10 17:07:08,946: MainThread: ifupdown2: log.py:373:write(): info: exit status 1

And google says almost nothing to: "no ifaces found matching given allow lists".

Corresponding interfaces-file:
Code:
auto lo
iface lo inet loopback

auto enp6s0
iface enp6s0 inet manual

auto vmbr0
iface vmbr0 inet static
        address 192.168.1.200/24
        gateway 192.168.1.1
        bridge-ports enp6s0
        bridge-stp off
        bridge-fd 0
        dns-nameservers 8.8.8.8

iface vmbr0 inet6 dhcp
The Ifupdown2 error is unrelated. Please post the output of journalctl -b | grep dhclient.
 
Looks like nothing happens on boot directly, entrys from 17:47 and later should be related to my solution from above.

Code:
root@pve:~# journalctl -b| grep dhclient
Jul 10 17:07:08 pve audit[2666]: AVC apparmor="STATUS" operation="profile_load" profile="unconfined" name="/usr/lib/connman/scripts/dhclient-script" pid=2666 comm="apparmor_parser"
Jul 10 17:07:08 pve audit[2666]: AVC apparmor="STATUS" operation="profile_load" profile="unconfined" name="/{,usr/}sbin/dhclient" pid=2666 comm="apparmor_parser"
Jul 10 17:47:08 pve dhclient[146616]: Created duid "\000\001\000\001,>\344|\250\241Y\236j\301".
Jul 10 17:47:08 pve dhclient[146618]: Internet Systems Consortium DHCP Client 4.4.3-P1
Jul 10 17:47:08 pve dhclient[146618]: Copyright 2004-2022 Internet Systems Consortium.
Jul 10 17:47:08 pve dhclient[146618]: All rights reserved.
Jul 10 17:47:08 pve dhclient[146618]: For info, please visit https://www.isc.org/software/dhcp/
Jul 10 17:47:08 pve dhclient[146618]:
Jul 10 17:47:08 pve dhclient[146618]: Listening on Socket/vmbr0
Jul 10 17:47:08 pve dhclient[146618]: Sending on   Socket/vmbr0
Jul 10 17:47:08 pve dhclient[146618]: XMT: Solicit on vmbr0, interval 1030ms.
Jul 10 17:47:08 pve dhclient[146618]: RCV: Advertise message on vmbr0 from fe80::6238:e0ff:fe0e:685b.
Jul 10 17:47:09 pve dhclient[146618]: XMT: Request on vmbr0, interval 920ms.
Jul 10 17:47:09 pve dhclient[146618]: RCV: Reply message on vmbr0 from fe80::6238:e0ff:fe0e:685b.
Jul 10 17:47:18 pve dhclient[147035]: Killed old client process
Jul 10 17:47:19 pve dhclient[147035]: XMT: Release on vmbr0, interval 1080ms.
Jul 10 17:47:19 pve dhclient[147090]: Internet Systems Consortium DHCP Client 4.4.3-P1
Jul 10 17:47:19 pve dhclient[147090]: Copyright 2004-2022 Internet Systems Consortium.
Jul 10 17:47:19 pve dhclient[147090]: All rights reserved.
Jul 10 17:47:19 pve dhclient[147090]: For info, please visit https://www.isc.org/software/dhcp/
Jul 10 17:47:19 pve dhclient[147090]:
Jul 10 17:47:19 pve dhclient[147090]: Listening on Socket/vmbr0
Jul 10 17:47:19 pve dhclient[147090]: Sending on   Socket/vmbr0
Jul 10 17:47:19 pve dhclient[147090]: XMT: Solicit on vmbr0, interval 1080ms.
Jul 10 17:47:19 pve dhclient[147090]: RCV: Advertise message on vmbr0 from fe80::6238:e0ff:fe0e:685b.
Jul 10 17:47:20 pve dhclient[147090]: XMT: Request on vmbr0, interval 960ms.
Jul 10 17:47:20 pve dhclient[147090]: RCV: Reply message on vmbr0 from fe80::6238:e0ff:fe0e:685b.
Jul 10 18:12:26 pve dhclient[147090]: PRC: Renewing lease on vmbr0.
Jul 10 18:12:26 pve dhclient[147090]: XMT: Renew on vmbr0, interval 10480ms.
Jul 10 18:12:26 pve dhclient[147090]: RCV: Reply message on vmbr0 from fe80::6238:e0ff:fe0e:685b.
[...]
Jul 11 02:36:37 pve dhclient[147090]: RCV: Reply message on vmbr0 from fe80::6238:e0ff:fe0e:685b.
Jul 11 02:37:19 pve dhclient[147090]: PRC: Renewing lease on vmbr0.
Jul 11 02:37:19 pve dhclient[147090]: XMT: Renew on vmbr0, interval 9820ms.
Jul 11 02:37:19 pve dhclient[147090]: RCV: Reply message on vmbr0 from fe80::6238:e0ff:fe0e:685b.
[...]
Jul 11 02:38:00 pve dhclient[147090]: XMT: Renew on vmbr0, interval 10800ms.
Jul 11 02:38:00 pve dhclient[147090]: RCV: Reply message on vmbr0 from fe80::6238:e0ff:fe0e:685b.
Jul 11 02:38:01 pve dhclient[147090]: PRC: Rebinding lease on vmbr0.
Jul 11 02:38:01 pve dhclient[147090]: XMT: Rebind on vmbr0, interval 10150ms.
Jul 11 02:38:01 pve dhclient[147090]: RCV: Reply message on vmbr0 from fe80::6238:e0ff:fe0e:685b.
Jul 11 02:38:02 pve dhclient[147090]: PRC: Rebinding lease on vmbr0.
Jul 11 02:38:02 pve dhclient[147090]: XMT: Rebind on vmbr0, interval 10710ms.
Jul 11 02:38:02 pve dhclient[147090]: PRC: Address 2001:9e8:95a:f6fc::3a0 depreferred.
Jul 11 02:38:02 pve dhclient[147090]: RCV: Reply message on vmbr0 from fe80::6238:e0ff:fe0e:685b.
Jul 11 02:38:02 pve dhclient[147090]: PRC: Address 2001:9e8:95a:f6fc::3a0 depreferred.
Jul 11 02:38:02 pve dhclient[147090]: PRC: Address 2001:9e8:95a:f6fc::3a0 expired.
Jul 11 02:38:02 pve dhclient[147090]: PRC: Bound lease is devoid of active addresses.  Re-initializing.
Jul 11 02:38:03 pve dhclient[147090]: XMT: Solicit on vmbr0, interval 1050ms.
Jul 11 02:38:03 pve dhclient[147090]: RCV: Advertise message on vmbr0 from fe80::6238:e0ff:fe0e:685b.
Jul 11 02:38:04 pve dhclient[147090]: XMT: Solicit on vmbr0, interval 2170ms.
Jul 11 02:38:04 pve dhclient[147090]: RCV: Advertise message on vmbr0 from fe80::6238:e0ff:fe0e:685b.
[...]
Jul 11 03:39:30 pve dhclient[147090]: XMT: Solicit on vmbr0, interval 129310ms.
Jul 11 03:39:30 pve dhclient[147090]: RCV: Advertise message on vmbr0 from fe80::6238:e0ff:fe0e:685b.
Jul 11 03:39:30 pve dhclient[147090]: XMT: Request on vmbr0, interval 1090ms.
Jul 11 03:39:30 pve dhclient[147090]: RCV: Reply message on vmbr0 from fe80::6238:e0ff:fe0e:685b.
[...]
Jul 11 14:23:51 pve dhclient[147090]: PRC: Renewing lease on vmbr0.
Jul 11 14:23:51 pve dhclient[147090]: XMT: Renew on vmbr0, interval 10400ms.
Jul 11 14:23:51 pve dhclient[147090]: RCV: Reply message on vmbr0 from fe80::6238:e0ff:fe0e:685b.
 
I have a similar problem. Freshly installed Debian 12 they successfully received the RA from the router and set the global IPv6 address.
In Debian 12, ifupdown2 dpkg version is 3.0.0-1.1 ,but proxmox-ve 8.0, ifupdown2 dpkg version is 3.2.0-1+pmx3. NOT SAME.
Perhaps the proxmox version of ifupdown2 does not have the code to handle RA working properly.
 
I have a similar problem. Freshly installed Debian 12 they successfully received the RA from the router and set the global IPv6 address.
In Debian 12, ifupdown2 dpkg version is 3.0.0-1.1 ,but proxmox-ve 8.0, ifupdown2 dpkg version is 3.2.0-1+pmx3. NOT SAME.
Perhaps the proxmox version of ifupdown2 does not have the code to handle RA working properly.
RA is supported by this patch https://git.proxmox.com/?p=ifupdown2.git;a=commitdiff;h=9e5b857e452135e5ac382af16b8c79c1bd6889d6 which is included in 3.2.0-1+pmx3
 
  • Like
Reactions: ribbon
I tested this with a fresh OpenWRT and Proxmox VE 8.0 install and it seems that the dhcpv6 client does not work as expected in case of dhcp on the bridge. I opened a bug report where progress on this issue can be tracked https://bugzilla.proxmox.com/show_bug.cgi?id=4845
 
I referred to the following URL
https://gist.github.com/zwindler/de85225f86f6b03d43dbf2b8088e05f1
And,
/etc/sysctl.conf.
net.ipv6.conf.vmbr0.accept_ra = 2
I have written Then an IPv6 address was assigned.
However, the assigned address was,
"global dynamic mngtmpaddr" only,
"global temporary dynamic" was not allocated.
 

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!