Assigned Static IPv6 setup

Hi all, I'm asking for help getting this setup working.

I have a statically assigned IPv6 prefix, for the sake of example let's say this is
IP = 2000:1111:2222:3300::/56
GW = FE80:1111:2222:3333:4444:5555:6666:7777
on device: eth0

I have tested this by creating a static interface on eth0 entering
as the static IPv6 address and putting in the gateway address as well. This works and I can ping IPv6 addresses on the internet.

Now, to take it to the next stage I create a static WAN6 interface, fill in
IPv6 routed prefix = 2000:1111:2222:3300::/56
IPv6 gateway = FE80:1111:2222:3333:4444:5555:6666:7777
IPv6 address = (blank)

This does then pass down a delegated /64 prefix to the LAN (eth1) interface and assigns it the first ip
Clients connected to the LAN are also getting IPv6 addresses in that /64 prefix.

However, there is no connection. Neither the OpenWrt box itself, nor any connected clients can ping v6 addresses on the internet. If I get this right, when an external request is made, the interface should look for another interface in the routing table that matches and forward it on to that interface. But, when I look at the routes with
ip -6 route list
I was execting to see
default via FE80:1111:2222:3333:4444:5555:6666:7777 dev eth0
But there's nothing there despite me entering that as the default gateway for that interface in LuCI.

Any help woulf be appreciated

EDIT: Edit, okay after further messing around I now do see that route in the table after resetting everything and re-entering the data. BUT!! Now the LAN interface is not getting a /64 prefix assigned to it, there's just the v4 address and that's it :frowning: I am sooooooo cinfused.

Please run the following commands (copy-paste the whole block) and paste the output here, using the "Preformatted text </> " button:
Remember to redact passwords, MAC addresses and any public IP addresses you may have

ubus call system board; \
uci export network; \
uci export dhcp; uci export firewall; \
head -n -0 /etc/firewall.user; \
ip6tables-save -c; nft list ruleset; \
ip -6 addr ; ip -6 ro li tab all ; ip -6 ru; \
ls -l  /etc/resolv.* /tmp/resolv.* /tmp/resolv.*/* ; head -n -0 /etc/resolv.* /tmp/resolv.* /tmp/resolv.*/*

Hi trendy, I'm preparing that now, there's a lot in it to redact so might take me a while to redact and verify I got everything.

When comparing this to another working DHCPv6 setup on a WAN interface I notice quite a few differences. When entering the PD statically in LuCI it appears to assign that PD as an address to the interface, this surely isn't right, the DHCPv6 config doesn't do this. Also the gateway it sets up is different. With static I get
default via FE80:1111:2222:3333:4444:5555:6666:7777 dev eth0
but with DHCPv6 I get
default from 2000:1111:2222:3300::/56 via FE80:1111:2222:3333:4444:5555:6666:7777 dev eth0

There is source routing enabled in IPv6, so that is not weird.

1 Like

Yea, it's functionally the same, but strange that static and dhcp add it differently.
Ya know, I'm not sure what's going on here. Every time I delete the static WAN interface and recreate it, I get different things happening. Sometimes the default route is there, sometimes it isn't. Sometimes the /64 delegated prefix gets passed to the LAN interface, sometimes not. Sometimes the PD is added as an IP to the WAN interface, sometimes it doesn't.

I'm giving up, thanks for replying, but this is way too unstable and inconsistent for a permanent setup or for trying to track down what's happening if the state of the PDs, ips and gateways is different every time I enter it.

If you have a statically assigned prefix, you do not need a PD on WAN6.

You should be able to assign subnets to your various interfaces from your allocation.

You would not put the whole /56 on WAN6 - that will cause an issue with your downstream networks - as you wish to assign subnets there as well.