To simulate a "real" IPv6 service, I'm running OpenWrt on a VPS which tunnels its GUA /56 over WIreguard to a router at home.
This works fine if I manually configure the prefix into the home router. Being a "real" ISP though, it should advertise it on DHCPv6.
Whenever ip6asign is set on an interface, the interface itself takes a prefix out of the pool, reducing the size of the available assignments. This is unnecessary.
I see no reason for an interface that faces downstream (a LAN) to hold a GUA at all (prove me wrong?). The upstream router can be reached as a gateway and DNS server using its ULA. That is how cable modems work (sort of-- there's actually a lot going on inside a cable modem that is supposed to be invisible to the customer).
So I'd like for uchcpd to serve prefixes without the side effect of a GUA being taken away.
The not-working server side configuration that I'm working from is:
config interface 'wg0'
option proto 'wireguard'
option private_key 'XXXXX'
option listen_port '51820'
list addresses 'fe80::1/64'
config interface 'wg0_s'
option proto 'static'
option device '@wg0'
option ip6assign '60'
option ip6class 'local'
option ip6prefix '2600:XXXX:XXXX:XX00::/56'
config wireguard_wg0
option public_key 'XXXXXX'
# list allowed_ips 'fe80::4/128'
list allowed_ips 'fe80::XXXX:XXXX:XXXX:XXXX/128'
list allowed_ips '2600:XXXX:XXXX:XX00::/56'
option route_allowed_ips '1'
/etc/config/dhcp
config dhcp 'wg0'
option interface 'wg0_s'
option dhcpv6 'server'
option dhcpv6_na '0'
option dhcpv6_pd '1'
option dns_service '1'
option ra_flags 'other-config'
option ra_slaac '0'