OPNsense has its ipv6 gateway set to the link local address of my ISP’s machine.
I ran pcap and saw neighbor solicitations from OPNsense to the ISP link local address.
I also noticed a RA from a GUA address
and when I looked at the Ethernet frame I noticed that the GUA corresponds to the link local address OPNsense is using as the gateway.
I tried pinging that GUA from OPNsense and it works
I also see that icmp-v6 echo requests are sent using the OPNsense link local address. I assume this is part of the issue since the responses won't be routeable, even if the requests aren't dropped by the gateway for using a non GUA address.
Based on all this, I think the issue is that OPNsense itself isn't getting a GUA ipv6 address
This happened automatically, correct? You didn't manually configure this gateway?
Do you also see the corresponding Neighbor Advertisements? Without them, OPNsense won't know the gateway's MAC address, which would make it unreachable.
That's highly unusual. Unless I've missed a significant RFC update, the source address of RAs MUST be link-local.
Which source address did you use for this ping?
Are these echo requests sent to the link-local gateway address? Then these are most likely the gateway monitoring pings (unless you've disabled this feature). They don't have to be routable since the gateway is supposed to be on-link.
IPv6 WAN interface numbering is handled differently depending on the ISP. Some use SLAAC, some use DHCPv6, some don't number the WAN interface at all. This should have no impact on IPv6 Internet access for hosts in the LANs though.
I also tried ping6 google.com from the command line, which doesn't work either. In the pcap I see ICMP6 echo requests that look like this with the source address set as the link local address for the OPNsense router.
If none of OPNsense's interfaces have an ipv6 GUA, I assume ipv6 internet connectivity wouldn't work, right?