How to avoid multiple DHCP request forward to all Servers?

priyankrathi priyankrathi731 at
Fri Apr 7 08:25:14 UTC 2017


> If the OP really wants requests from client1 to go to server 1, and
> requests from client 2 to go to server 2, then he either needs to
> introduce some sort of filtering in the relay agent (probably not
> supported), or run two relay agents (probably not supported on the
> router). 

Thanks for your suggestion. I tried running multiple relay agent on the
By doing so the earlier mentioned scenario started working. The request from
Client1 is forwarded ONLY to Server1 and similarly, request from Client2 is
forwarded only to Server2.

But running multiple relay agent helped me finding new more serious problem

I moved my scenario a little bit:

                                     _______________             __________
                                    |                          |           |                 
Client 1 ----[S/W]--------|  Relay Agent 1    |           |  Server 1    |
                                    |                          |           |                 
                                    |     Router (R)      |-------- |      
(S)      |
                                    |                          |           |                 
Client 2 ---[S/W]---------|   Relay Agent 2   |           |   Server 2   |
                                    |______________|            |__________|

1. Server Machine (S)
IP address on eth1 is
Server 1 - DHCP server IP pool: -
Server 2 - DHCP server IP pool: -
Static Route to via
Static Route to via

2. Router (R)
IP address on eth1:
IP address on eth2:
IP address on eth3:
Enable IP forwarding for IPv4.
dhcrelay -i eth1 -i eth3 -4
dhcrelay -i eth2 -i eth3 -4

3. Client1:
eth1 has a DHCP client which is connected to the same network of R:eth1.

4. Client2:
eth1 has a DHCP client which is connected to the same network of R:eth2.

After doing this configuration:
Client1 got the IP from Server1's Pool.
Client2 got the IP from Server2's Pool.

While observing the packet capture, I found that both the relay agent is
forwarding the request received from Client1 the server multiple times.
Similarly, the request from Client2 is also forwarded to the server multiple
My assumption is when a request comes on from Client1 from R:eth1 it
forwards the packet from R:eth3. As the same time, the second relay which is
running on R:eth2 and R:eth3 also listens to the packets and try again
forward it to the server. Request from any for the client gets looped
between both the relay agents and forwarded multiple times to server.
Basically, both relay agent starts flooding the network unless the max hop
count of the packet becomes zero.

-- Thanks and Regards,
Priyank Rathi
View this message in context:
Sent from the ISC DHCP Users mailing list archive at

More information about the dhcp-users mailing list