WAN PPPoE IPv6 default route set to wrong interface

Started by Taomyn, Today at 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 <strong>Today</strong> at 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 <strong>Today</strong> at 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