I have a openwrt-behind-another-router situation. My ISP requires that I use their gateway/router hardware, which can't be set into gateway more. So, my OpenWRT router is behind another router. I'm trying to get global ipv6 addresses for clients behind my OpenWRT router. Unfortunately my ISP has given me a /64 prefix which, from my elementary understanding of ipv6, is best handled with OpenWRT configured as a relay.
I'm not 100% sure what a relay is, but my understanding is that the clients behind the openwrt router will receive addresses assigned by the outer router -- is that correct?
Install tcpudump if not laready installed on the OpenWrt. opkg update; opkg install tcpdump
Then run the following capture and post here the output. tcpdump -i any -evn icmp6 || udp port 547
Then restart the interface of a lan host, wait until it captures some packets, stop with Ctrl c and post here the output.
I think "Request IPv6-prefix of length" in Interfaces > WAN6 should be /64 instead of Automatic. Then the relay starts working, I might be wrong, try it if it works.
I did as saudiqbal suggested and set the request prefix of length to 64.
As for the tcpdump, it looks like I can't put an attachment in here, so I've put it into a pastebin: https://pastebin.com/iRSAKUeh. I can't really tell if it's working -- my client behind openwrt has a ipv6 address now, but ping -6 www.google.com still fails.
No need for attachments, you can paste in preformatted text (the </> button).
Other than that I can see just a couple of router solicitations from the OpenWrt towards the ISP which were answered with router solicitations.
Post also the uci export firewall to verify that there is nothing missing there.
It does not matter to your original issue, but assigning a client vpn connection to the lan zone is wrong. You could clean up a bit the interfaces list of the wan zone.
Apart from these I don't see any other issue.
Still you need to provide a capture showing that the router solicitation from a lan host was not relayed, or the router advertisement was ignored by OpenWrt.
Run this in one terminal tcpdump -i br-lan -evn -evn icmp6 || udp port 547 and tcpdump -i eth1 -evn icmp6 || udp port 547 on another. Try to keep only one lan host active to request IPv6, otherwise filter the traffic from other mac addresses.