DHCPv6 fails to lease addresses

I’m testing out VyOS 1.5 and created the following scenario, but have not yet been able to set up a working IPv6 network.

Home Net |  <<--->>  | (eth0) VyOS (eth1) |  <<--->>  | LAN VMs

VyOS main config summary.

interfaces {
    ethernet eth0 {
        address 192.168.7.253/24
        address dhcpv6
        description WAN

    ethernet eth1 {
        address 10.1.7.1/24
        address 10:1:7::1/64
        description LAN_VM

protocols {
    static {
        route 0.0.0.0/0 {
            next-hop 192.168.7.1 {
                interface eth0

service {
    dhcp-server {
        shared-network-name LAN_VM {
            description "DHCP for internal IPv4 LAN VMs"
            subnet 10.1.7.0/24 {
                default-router 10.1.7.1
                domain-name local.domain
                domain-search 192.168.7.1
                lease 86400
                name-server 192.168.7.1
                range 0 {
                    start 10.1.7.101
                    stop 10.1.7.199

    dns {
        forwarding {
            allow-from 10.1.7.0/24
            allow-from 127.0.0.1/32
            allow-from ::1/128
            allow-from 10:1:7::/64
            cache-size 2000000
            dnssec log-fail
            listen-address 10.1.7.1
            listen-address 127.0.0.1
            listen-address 10:1:7::1
            listen-address ::1
            system

system {
    domain-name local.domain
    domain-search {
        domain local.domain
    }
    name-server 192.168.7.1

So I’ve managed to get IPv4 connectivity and eth0 has a working global IPv6 address. Now I’m trying to set up IPv6 for the testing VMs.
Therefore, with a fixed address for the eth1 interface, I thought of enabling a simple DHCPv6 service.

DHCPv6 configuation:

dhcpv6-server {
    shared-network-name LAN6_VM {
        description "DHCPv6 for internal IPv6 LAN VMs"
        subnet 10:1:7::/64 {
            address-range {
                start 10:1:7::1101 {
                    stop 10:1:7::1199

Show routes:

vyos@vyos:~$ sh ip route
S>* 0.0.0.0/0 [1/0] via 192.168.7.1, eth0, weight 1, 00:27:51
C>* 10.1.7.0/24 is directly connected, eth1, 00:27:53
C>* 192.168.7.0/24 is directly connected, eth0, 00:27:52

vyos@vyos:~$ sh ipv6 route
K>* ::/0 [0/1024] via fe80::3e7c:3fff:fee2:e0c0, eth0, 00:27:56
C>* 10:1:7::/64 is directly connected, eth1, 00:27:56
C>* 2xxx:xxxx:xxxx:xxxx::1158/128 is directly connected, eth0, 00:27:55
C * fe80::/64 is directly connected, eth1, 00:27:56
C * fe80::/64 is directly connected, eth0, 00:27:56
C>* fe80::/64 is directly connected, lo, 00:27:58

In a Windows client VM, the host is unable to get a working IPv6 and the following error is displayed.

An error occurred while renewing interface Ethernet 2 : The cluster resource is not available.

PS C:\Users\win> ipconfig /renew6
An error occurred while renewing interface Ethernet 2 : The cluster resource is not available.
Ethernet adapter Ethernet 2:
   Connection-specific DNS Suffix  . : local.domain
   Link-local IPv6 Address . . . . . : fe80::b6ea:f5e:1cdf:ff36%13
   IPv4 Address. . . . . . . . . . . : 10.1.7.104
   Subnet Mask . . . . . . . . . . . : 255.255.255.0
   Default Gateway . . . . . . . . . : 10.1.7.1

In a Linux client (Oracle Linux 9), DHClient fails to obtain IPv6 with the following error.

RCV: | !-- Status code of no addrs, IA_NA discarded.

[user@linux ~]$ ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 10.1.7.105  netmask 255.255.255.0  broadcast 10.1.7.255
        inet6 fe80::be24:11ff:fefe:acfa  prefixlen 64  scopeid 0x20<link>

[user@linux ~]$ sudo dhclient -v -6
Listening on Socket/eth0
Sending on   Socket/eth0
PRC: Soliciting for leases (INIT).
XMT: Forming Solicit, 0 ms elapsed.
XMT:  X-- IA_NA 11:fe:ac:fa
XMT:  | X-- Request renew in  +3600
XMT:  | X-- Request rebind in +5400
XMT: Solicit on eth0, interval 1090ms.
RCV: Advertise message on eth0 from fe80::be24:11ff:fec4:d1a.
RCV:  X-- IA_NA 11:fe:ac:fa
RCV:  | X-- starts 1703973808
RCV:  | X-- t1 - renew  +0
RCV:  | X-- t2 - rebind +0
RCV:  | X-- [Options]
RCV:  | !-- Status code of no addrs, IA_NA discarded.
RCV:  X-- Server ID: 00:01:00:01:2d:22:56:c3:bc:24:11:27:41:12
PRC: Lease failed to satisfy.

The client VM seems to receive advertising messages, but they may be incomplete.

In VyOS itself, pinging the IPv6 default route is unreachable. But an external IPv6 is reachable.

vyos@vyos:~$ ping6 fe80::3e7c:3fff:fee2:e0c0
PING fe80::3e7c:3fff:fee2:e0c0(fe80::3e7c:3fff:fee2:e0c0) 56 data bytes
From fe80::200:ff:fe00:0%lo icmp_seq=1 Destination unreachable: No route

vyos@vyos:~$ ping6 ipv6.google.com
PING ipv6.google.com(2800:3f0:4001:812::200e (2800:3f0:4001:812::200e)) 56 data bytes
64 bytes from 2800:3f0:4001:812::200e (2800:3f0:4001:812::200e): icmp_seq=1 ttl=56 time=23.2 ms

The VyOS documentation seems very simple and does not offer complex examples, or even complete ones I must say.

I’m probably missing something, but I can’t see it right now.
Any thoughts on this scenario?