How to avoid multiple DHCP request forward to all Servers?

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


Hello,

> 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
router.
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
statement.

I moved my scenario a little bit:

Multiple_relay_single_server.png
<http://isc-dhcp-users.2343191.n4.nabble.com/file/n1909/Multiple_relay_single_server.png>  
                                     _______________             __________
                                    |                          |           |                 
|
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 10.1.1.1/24
Server 1 - DHCP server IP pool: 192.168.1.100 - 192.168.1.200
Server 2 - DHCP server IP pool: 192.168.2.100 - 192.168.2.200
Static Route to 192.168.1.0/24 via 10.1.1.2
Static Route to 192.168.2.0/24 via 10.1.1.2

2. Router (R)
IP address on eth1: 192.168.1.1/24
IP address on eth2: 192.168.2.1/24
IP address on eth3: 10.1.1.2/24
Enable IP forwarding for IPv4.
dhcrelay -i eth1 -i eth3 10.1.1.1 -4
dhcrelay -i eth2 -i eth3 10.1.1.1 -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.

Observation:
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
times. 
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: http://isc-dhcp-users.2343191.n4.nabble.com/How-to-avoid-multiple-DHCP-request-forward-to-all-Servers-tp1905p1909.html
Sent from the ISC DHCP Users mailing list archive at Nabble.com.


More information about the dhcp-users mailing list