I have setup ipv6 functionality through unifi on the USG 3 i can SSH into my USG and it successfully pings an ipv6 site, it also successfully passes ipv6 addresses along to everything on the LAN, however, what it does not seem to do it pass internet down over ipv6 if i ping an ipv6 site on my desktop which is connected through the USG it times out but ipconfig /all shows it has an ipv6 address from the USG.
I have the LAN network setup to use prefix delegation not sure if this is the cause or not but so far only the USG when I ssh into it can successfully connect to the internet via ipv6
IPv4 still works for the internet but i would like the get the ipv6 functionality working as well any suggestions on what may be the issue and how to possibly fix it?
skip to bottom for TLDR
Update 2-25-2020: Just so this is documented in case someone else has similar issues
My ISP (spectrum) has a prefix length of /64 well for some reason i do not understand (ipv6 is a complex beast) this means Local networks behind the modem need to fall within this /64 range as well as the designated prefix they assign. Coming from the ipv4 world where the LAN and WAN are separate networks only connected via routing tables caused a lot of confusion on my part.
Now I am not claiming to understand this 100% but apparently, due to the nature of ipv6 you as the customer are assigned a block of ips you can use within the prefix they assign and within the constraints of a /64 network (from what i understand the prefix length is this block amount), given how it appears the ISP assumes you expose 100% of your computers to the WAN directly thus it needs to assign a publicly accessible ipv6 address to every device on the network. I have read this is more a misunderstanding of how the ipv6 space is ideally used by ISPs not so much a flaw of the protocol itself.
This becomes an issue in my case where the USG (the gateway i am using but would be whatever you chose) successfully gets an IP from the ISP but it tries to act in a similar fashion to how ipv4 works and NAT the ipv6 address routing all local addresses through it (should note NAT as i understand it was created as a workaround for the limited ipv4 space allowing users to have multiple devices using one ipv4 public address in an effort to conserve ipv4 public addresses) this does not seem to be necessary on ipv6 given the sheer number of available addresses but should theoretically still be possible.
Now that my overall issue, as I understood it has been better explained the workaround i found, is this, While /64 is the max offered per public IP/prefix block you buy from spectrum (the isp in my case) and given that they seem to have their dual-stack equipment set up to issue an /64 prefix block of ipv6 addresses per purchased ipv4 public IP , it is apparent to me that the issue was the USG in my case was trying to assign all my LAN devices a public ipv6 that changed prefixes (not sure this is the actual issue as mentioned ipv6 is messy and complex) since ipv6 is not set up by charter to support NAT6 (or whatever the ipv6 equivalent is being called). Solution ended up being very simple, set the USG (or whatever gateway you use) to request less addresses in the prefix issued for example /64 is the maximum but requesting /56 instead of /64 on the gateway some how allows the USG to them assign fully working ipv6 internet-capable addresses to all the vlans on the network and the issue of being assigned an ipv6 address but no internet on LAN devices goes away.
I am not 100% sure why this works based on what i tried to explain i would imagine it has something to do with slicing up that /64 prefix block of ipv6 addresses into smaller blocks for each vlan.
Feel free to correct any of my logic (or lack their of) in this post regarding ipv6 i am interested in learning more how it works
Anyway TLDR for those who do not want to read my rambling when using spectrum request a prefix length of /56 instead of /64 and your vlans (provided you set them up for prefix delegation) should have internet access through IPv6