DHCP-relay agent package replacement


It's not possible to use DHCP-relay agent over OpenVPN(L3/vtun) uplink beause of ISC DHCP-relay agent limitations/bug.
If I use the vyos DHCP-relay it's necessary to configure the LAN and the uplink interface to DHCP server in dhcp-relay config section. But OpenVPN TUN interfaces can't be used as dhcp-relay interfaces because they has no MAC addresses.

Tools like dnsmasq(>=version 2.67) and dhcp-helper from Simon Kelley use only one interface for dhcp-relay function.

In my lab configuration I use a central VyOS router(r1-core) and 3 site VyOS routers(r1-site1,r1-site2,r1-site3) with OpenVPN uplink connections to central r1-core.
There is is a central DHCP server on r1-core that is reachable from all site over OpenVPN(over L3) and has scopes for the site LANs.
All is working with the included ISC dhcp-relay expect the answer from the DHCP server(DHCP offer packets) dosn't reach the dhcp client.
I have monitored the traffic on the OpenVPN TUN(vtun1) interface and the LAN ethernet interface on the sites for debugging with tshark.
The result was there are the right DHCP offers packets on the TUN interface but nothing expect the DHCP discover packets on the LAN interface.
So at the moment there is no solution to get this configuration to work.


Difficulty level
Unknown (require assessment)
Why the issue appeared?
Will be filled on close
This request is:
Service Request
msc created this task.Sep 1 2017, 6:05 PM
msc updated the task description. (Show Details)Sep 1 2017, 8:12 PM
msc updated the task description. (Show Details)Sep 1 2017, 8:22 PM
msc added a comment.Sep 5 2017, 7:13 PM

As workaround I used Beta/development build and get it working in my lab with dnsmasq(2.72) from

Version: VyOS 999.201708312137
Built by: autobuild@vyos.net
Built on: Thu 31 Aug 2017 21:37 UTC
Build ID: 4126462b-bb91-4151-9f19-1e1229de2fdc

I deleted the dhcp-relay section from config and add the following line to /config/scripts/vyatta-postconfig-bootup.script for automatic start after boot

dnsmasq --dhcp-relay=<local interface address>,<dhcp-server address>

for two or more local interface I used

dnsmasq --dhcp-relay=<local interface1 address>,<dhcp-server address> --dhcp-relay=<local interface2 address>,<dhcp-server address>

syncer triaged this task as Low priority.Dec 21 2017, 9:52 PM
dmbaturin moved this task from Need Triage to Wishlist on the VyOS 1.2.x board.Thu, May 31, 12:16 AM