Help setting up dhcpv6 relay with pfsense upstream dhcp server, dynamic IPv6


I’ve recently started using VyOS and I’m not very knowledgeable with ipv6 either. My goal is to set VyOS to act as a DHCPv6 relay for the hosts connected to it, using pfsense as upstream DHCPv6 server and I’ve hit a few snags along the way.

So, VyOS is a core router with pfsense as the edge firewall. Pfsense gets a dynamic IPv6 address and a /56 PD. On Pfsense, I’ve enabled DHCPv6 server and RA for the interface where VyOS sits. VyOS got an IPv6 /128 address from pfsense on eth0 and I’m trying to set the dhcp-relay listen-interface to eth1.14 (so, a VLAN).

Now, I’ve tried to enable the relay like so:

set service dhcpv6-relay listen-interface eth1.14
set service dhcpv6-relay upstream-interface eth0

When I commit, I get the following error:

[ service dhcpv6-relay ]
Must set at least one listen and upstream interface addresses.

According to the VyOS docs I should also set an upstream-interface server, but I can’t do that since the IPv6 for the server is dynamic. AFAIK VyOS uses DHCP-Wide and the manpage in ubuntu says:

     -s serveraddr
             Specifies the DHCPv6 server address to relay packets to.  If not specified, packets
             are relayed to ff05::1:3 (All DHCPv6 servers).

So I assume it should work in VyOS too?

Then, there’s this reddit post suggesting I should get an IPv6 address for the listen-interface so I’ve enabled dhcpv6 on eth1.14 but I’m not getting an IPv6 address on the interface and I don’t see any requests in pfsense’s logs either.

Any pointers are appreciated.

I want to say two points. 1. I am good at narrowing down possible problems from the error message in this situation. According to your error message, there is an error in your settings. Because it is a proxy setting, you need at least one listening port and an upstream according to the prompt. Interface, if there is a document description in, it is recommended to test according to the example of the document. If there is a problem, you can submit a bug report. Second, if there is no special requirement, you can also consider using SLAAC instead of RA+ Dhcpv6

I’ve tried setting it exactly as in vyos’ docs too and I’m getting the same error. Updated VyOS today to the latest version. I’m trying to troubleshoot more before I submit a bug report because I’m leaning towards inexperience instead of it being a bug. SLAAC isn’t sufficient for what I need.

You can try to search Python code in the code base and vyos, and try to modify the code for fault investigation

sudo find / -type f -name ""

Search file name as The location of the code file for
Since vyos uses vyos-configd, remember to execute the following code after modifying Python code:

sudo systemctl restart vyos-configd

Hey bro, I had the same problem, and solved it.
There is a mistake in Vyos docs, and I don’t know when it solved.

The right solution - on listen-iface you should write your router’s ipv6 address on listen-iface.
And in the parameter “address” on upstream-interface it is needed to write multicast ipv6 address for DHCPv6 servers (ff02::1:2).

For example, this is part of config of part of my network.

On WinServer I have just an ipv6 scope, without any additional options, just options from the process of creation of new ipv6 scope (address pool, name, and lifetime)

Hope it will help you, good luck! And Удачи бро)

Hey, thanks for that. I’ve just tried this out and I think it works for me too.

But it doesn’t work for VLANs on the same interface. So I’ve tried enabling dhcpv6 client on the VLAN itnerface with set interfaces ethernet eth1 vif 15 address dhcpv6 and it resulted in error: WARNING: Global source-validation is set to "strict "this overrides per interface setting! . Then I’ve set firewall source-validation disable but that didn’t help either.

I think I’ll spin up a fresh test VM since I mucked around a lot with this one trying to get relay working.

Edit: actually, I’ve tried this again on 1.4 rolling and it doesn’t work anymore. I’m not even getting an IP address on WAN after enabling relay. I’m gonna wait this out a little longer.

Edit2: I dug deeper and it seems I don’t fully understand how dhcp relays work yet. I just now understood some of ipv4 relaying. I’ll get back to this topic when I learn some more.