WAN PPPoE IPv6 default route set to wrong interface

Started by Taomyn, November 05, 2026, 11:45:46 AM

Previous topic - Next topic
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?

Hi!

What is in:

# ifctl -6r -i pppoe0

And which version are you using?


Cheers,
Franco

Quote from: franco on November 05, 2026, 11:51:50 AMHi!

What is in:

# ifctl -6r -i pppoe0

And which version are you using?


Cheers,
Franco

It shows

Quoteifctl -6r -i pppoe0
fe80::b614:89ff:fe08:5d00

I'm on 26.7.8_1-amd64

That's strange. The default route should come from that file.


Cheers,
Franco


Quote from: franco on November 05, 2026, 04:58:46 PMPS: The newwanipv6 logs may help here.
Does this help? I used the UI to reload the WAN which breaks the gateway, then I ran my cron job to fix it, then I exported the system log, set to "notice" for that period.

https://pastebin.com/z5ZjVAHA

If not, let me know what you would like me to get.


Well these pop out immediately:

> Sending Information Request on vtnet0_vlan250
> Sending Information Request on vtnet0_vlan100

What's their purpose? There could be bugs regarding this. I've never seen anyone using this feature in the last decade. Functionally it's not supposed to do anything other than fetching nameserver information.

> /usr/local/etc/rc.newwanipv6: IP renewal starting (reason: request, address: fe80::be24:11ff:fe78:54d5%pppoe0, interface: wan, device: pppoe0)

This looks good...

> Bypassing address release because of -n flag

This is a dangerous setting from a long time ago.

> /usr/local/etc/rc.newwanipv6: ROUTING: entering configure using wan, lan

Routing for IPv6 never produces any default route, which means FreeBSD decides what the default route is based on the RAs it sees, likely from one of the INFOREQ calls.  Why WAN doesn't even bother adding an IPv6 default route I'm not sure of.


Cheers,
Franco

Cheers,
Franco


Quote from: franco on November 05, 2026, 07:47:49 PMWell these pop out immediately:
> Sending Information Request on vtnet0_vlan250
> Sending Information Request on vtnet0_vlan100
What's their purpose? There could be bugs regarding this. I've never seen anyone using this feature in the last decade. Functionally it's not supposed to do anything other than fetching nameserver information.
> /usr/local/etc/rc.newwanipv6: IP renewal starting (reason: request, address: fe80::be24:11ff:fe78:54d5%pppoe0, interface: wan, device: pppoe0)
This looks good...
> Bypassing address release because of -n flag
This is a dangerous setting from a long time ago.
> /usr/local/etc/rc.newwanipv6: ROUTING: entering configure using wan, lan

Routing for IPv6 never produces any default route, which means FreeBSD decides what the default route is based on the RAs it sees, likely from one of the INFOREQ calls.  Why WAN doesn't even bother adding an IPv6 default route I'm not sure of.
Cheers,
Franco
Cheers,
Franco

For vtnet0_vlan100 + vtnet0_vlan250 are just two VLANs on my local network configured in Interfaces: Devices: VLAN, they're quite old although I no longer use vlan250 so I could remove that at some point, and vlan100 is used by one of my WiFi APs to take guest traffic direct to the Internet.

For the -n I have no idea about this, where would this be coming from and what should I do?

It also seems that my workaround has stopped working or my ISP has made another change and broken it, so now I need to re-do my diagnosis again.