Ipv6 clients cannot route ipv6 packet to route if only allocated with ULA address

my purpose is allocate all ipv6 clients with ULA:ddf5:8256:6405::/48, no any other public ipv6 address from ISP, and ipv6 clients can communicate with each other and public ipv6 server.

my network toplogic is:
ISP --> Openwrt --> clients(windows macos linux android ios)

my route config ULA: ddf5:8256:6405::/48, all wan interfaces's DHCP has disabled, lan interface DHCP RA service and DHCPv6 service all setted to server mode.
now all client's allocated ddf5:8256:6405::/48 address and no public ipv6 address from ISP,

  1. clients can communicate with each other.
  2. clients cannot comunicate with public server,
  3. router(openwrt) cannot comunicate with clients via ULA address,
  4. router(openwrt) and clients can comunicate with each other via local address,
  5. router(openwrt) can communicate with public server
  6. public server cannot communicate with router

it seems router doesn't tell clients how to route public ipv6, how to let client route all public ipv6 packets to router, then router transfer lan packet to wan interface? and router clients can communicate with each other via ULA address

resolved by enable Wan6 RA service to relay mode

If you want to continue in using only ULA you need

  • A default route which includes the source of the ULA space
  • You need network prefix translation to translate the ULA prefix into a GUA prefix on the outgoing wan interface.

May I ask why you don't just allocate GUA to your LAN interface?!