DHCP (IPv4) relay mistakenly listening on upstream interface
Not sure if this is dhcrelay's intended behaviour, but it is listening on the upstream interface when it's not asked to, and thus duplicates packets coming from inside the upstream network.
- LAN_TN = lan = vmx0 (192.168.2.1/24)
- LAN_UN = opt3 = vmx0.10 (192.168.3.1/24)
- LAN_Docker = opt7 = vmx0.20 (192.168.6.1/24)
DHCP relay is configured as shown in the attached relay_config.png. Config.xml looks like this:
<dhcrelay> <interface>opt7,opt3</interface> <server>192.168.2.8</server> <agentoption></agentoption> <enable></enable> </dhcrelay>
However it starts up listening on the upstream as well:
/usr/local/sbin/dhcrelay -i vmx0.20 -i vmx0.10 -i vmx0 -a -m replace 192.168.2.8
which causes it to catch the broadcast packets on the upstream network and duplicate those requests, as seen on packets.png. pfSense 2.4.4-p2 running on amd64, ESXi VM.
Not critical im my setup, but might be problematic for those whose upstream DHCP server is located on the WAN, for example.
Teach dhcrelay about upstream and downstream interfaces. Fixes #9466
No config changes or UI changes, it is handled automatically.
#1 Updated by Jim Pingle 6 months ago
- Assignee set to Jim Pingle
- Target version set to 2.5.0
- Affected Version changed from 2.4.4_2 to All
Once upon a time that was necessary to see the return traffic. The most recent version of
dhcrelay now supports a concept of separate upstream (
-iu) and downstream (
-id) interfaces so the syntax should be updated to follow that convention. Hopefully that will take care of this.