OPNsense Forum

English Forums => General Discussion => Topic started by: BitStream on September 17, 2025, 12:41:35 AM

Title: DHCPv6 Relay broken with PPPoE WAN — %pppoe0 interface not found
Post by: BitStream on September 17, 2025, 12:41:35 AM
Hi all,

I've run into a problem with OPNsense 25.2 and it still exists in 25.7 (all patch levels so far), when using a PPPoE WAN connection (VDSL, bridged modem).

The setup is quite typical here (Germany/Europe):


The problem

As soon as I enable DHCPv6 on the PPPoE interface (e.g. to request a prefix), the DHCPv6 Relay service stops working.

The log shows:

Notice dhcrelay fatal in dhcrelay6: interface '%pppoe0' not found
Sometimes this log entry doesn't even appear, but the service never starts in this situation.


With PPPoE active + DHCPv6 enabled → dhcp6relay does not run, internal networks receive no IPv6.


So the bug persists until the WAN/PPPoE is removed.

Without DHCPv6 enabled on PPPoE, the relay runs.

root    72882   0.0  0.1 13768  2456  -  Is   22:09      0:00.00 daemon: /usr/local/sbin/dhcrelay6[72932] (daemon)
_dhcp   72932   0.0  0.1 13680  2424  -  I    22:09      0:00.00 /usr/local/sbin/dhcrelay6 -d -o -i vtnet2 df00:1234:1234:140::2%vtnet1

The example comes from a new installation with a VM and Proxmox. I created this to be able to reproduce the problem cleanly; my productive OPNSense runs on real hardware. The problem is identical on both machines.

Reproduced the problem

Create a VLAN under:

Interfaces: Devices: VLAN

Create a PPPoE interface that uses the VLAN created above.

Interfaces: Devices: Point-to-Point

Under

Interfaces: Assignments,

create an interface that uses the PPPoE device. Click on the newly created interface and select "Enable Interface." Now select DHCPv6 under "IPv6 Configuration Type" and save. If you now restart opnsense or turn the ipv6 relay off and on again, the dhcp relay option for ipv6 is no longer functional.

Expected behavior

dhcrelay6 should run correctly on a PPPoE WAN interface with DHCPv6 enabled.
Instead of the invalid placeholder %pppoe0, it should use the actual interface name.

Additional notes


Why this matters


Questions to the community


Notes


I am aware of alternatives like prefix delegation / track interface or using a FritzBox in front.
For my use case these are not options, I specifically need a working DHCPv6 relay behind PPPoE.
Please let's keep the focus on confirming and reproducing the %pppoe interface bug in dhcrelay6.

Thanks for any feedback — and if you see the same behavior, please confirm so we can get this properly tracked/fixed.
Title: Re: DHCPv6 Relay broken when PPPoE is used (invalid %pppoe in parameters)
Post by: meyergru on September 17, 2025, 01:01:44 AM
I do not quite understand what your problem is or what you want to achieve - it seems your IPv6 prefix(es) are dynamic, so the most stable you can get is to keep the lower 64 bits the same.

You can use DHCPv6 or (better) SLAAC to distribute those prefix(es) to your LAN(s).

How (or from where) do you want to get "stable" prefixes and why? I mean, other than using ULAs with NATv6, but then I do not see why?

If your aim is to have routable GUAs in your LAN, you can just follow this guide (https://forum.opnsense.org/index.php?topic=45822.0).
Title: Re: DHCPv6 Relay broken when PPPoE is used (invalid %pppoe in parameters)
Post by: BitStream on September 17, 2025, 01:17:01 AM
Thanks for your reply. I'll try to explain the reasons again:

I have a DHCP server in the internal LAN that assigns ULAs to clients in certain VLANs. Some of these networks also have GUAs. IPv4 addresses are also assigned, but they are not affected by the problem. The problem is that I don't want to have GUAs in all networks and, secondly, I want the clients to be permanently accessible via the ULAs assigned by the DHCP. This is not possible with the provider's dynamic addresses, for example, and in some cases is also undesirable.
Title: Re: DHCPv6 Relay broken with PPPoE WAN — %pppoe0 interface not found
Post by: franco on September 17, 2025, 08:53:49 AM
This was added a few days ago: https://github.com/opnsense/dhcrelay/issues/4

Dhcrelay excludes loopback and pointtopoint devices and likely for a valid reason.


Cheers,
Franco