After many years my ISP has finally sorted IPv6 for my connection (over PPPoE IPv4) but it seems OPNsense is not setting the default route correctly i.e. uses vtnet0_vlan100 instead of pppoe0, and thus traffic fails to leave my firewall.
The gateway is scoped to the parent VLAN but the output interface is a different VLAN:
Quotedefault fe80::be24:11ff:fe78:54d5%vtnet0_vlan100 UG vtnet0_vlan1
Should be:
Quotedefault fe80::be24:11ff:fe78:54d5%pppoe0 UG pppoe0
Impact: LAN clients get SLAAC addresses and default routes from radvd but packets are dropped at the firewall ("No route" ICMPv6).
Workaround:
Quoteroute -6 delete default
route -6 add default fe80::be24:11ff:fe78:54d5%pppoe0
- UI reload of WAN does NOT fix it (re-triggers the bad route even when removed using the workaround)
- net.inet6.ip6.forwarding is 1
- radvd config is correct, RAs are being sent
- IPv4 over the same PPPoE link works fine
Possibly related: https://github.com/opnsense/core/issues/2186 but was closed due to inactivity
For now I can utilise a cron job to fix it, but is there another way I'm missing?
That's strange. The default route should come from that file.
Cheers,
Franco