Can you use DHCP to assign an address to the downstream interface used by dhcrelay?

Renyk de'Vandre r.k.devandre at bham.ac.uk
Wed Feb 28 12:53:20 UTC 2024


Hi All,

Re: below 

Just read this and it had me curious, can you explain why you don't want to or can't set a static IP address on your dhcp relay interface?   It would be good to see your basic topology:

i.e. 

DHCP SERVER  <-->   routing infrastructure <-->  edge router  <--> switched infrastructure 1 <--> dhcprelay requiring dhcp lease for relay interface  <-->  switched infrastructure 2 <--> client requiring dhcp lease

My thoughts were:

1.  (what is the dhcprelay running on)
2.   Are the switched infrastructure 1 and switched infrastructure 2  separate i.e. broadcasts from 2 and 1 are separate?

If that was the case (just thinking out loud here) I first thought you could you put an ip helper on the edge router which would listen for the broadcast from the dhcprelay interface address and assign an address, however this would not work because this would only work for assigning an address to the upstream interface between edge router and switched infrastructure 1....    so I totally agree below I can't see  how this could be made to work....   and if the switched infrastructure 1 and 2 are collapsed with the edge router and dhcprelay on the same switched network then why do you need the dhcprelay instead of using the edge router/vlan interface and ip helpers....   (all conjecture here).

but back to my main thought, what is the reason for not wanting to assign the static address on the dhcp-relay..

Ren

-----Original Message-----
From: dhcp-users <dhcp-users-bounces at lists.isc.org> On Behalf Of Simon
Sent: Friday, February 2, 2024 12:43 PM
To: Users of ISC DHCP <dhcp-users at lists.isc.org>
Subject: Re: Can you use DHCP to assign an address to the downstream interface used by dhcrelay?

CAUTION: This email originated from outside the organisation. Do not click links or open attachments unless you recognise the sender and know the content is safe.


On 2 Nov 2023, at 17:13, Vallevand, Mark K <Mark.Vallevand at UNISYS.com> wrote:

> I have configured dhcrelay upstream and downstream interfaces and a server address.
> DHCP addresses are correctly relayed from machines on the downstream side to the upstream side and back.
> Rather than using a static address in the downstream interface, I would like to assign a DHCP address using dhclient to the downstream interface.
> Dhcrelay does not seem to handle this case.  If the origin of the request is the actual downstream interface, it is not relayed.
> Is this possible?  Can I use dhclient to get an address for the downstream interface used by dhcrelay?

Sorry, I’ve not had time to keep up here for a bit - I see this one seems to have gone unanswered.

Unfortunately, you are in a catch-22 situation here. If the downstream interface doesn’t have an IP address then presumably the relay cannot fill in the GI-Addr field. If it can’t fill in the GI-Addr field, then the server can’t locate the interface in order to offer an address.

To get around this situation, you’d need to configure the device in some way before it could then use DHCP to get an address for the downstream - and once you’ve set this up, you might as well just configure the interface.
Alternatively, you might be able to do some “fudge” to get a subnet from the server (similar to the way IPv6 Prefix Delegations can be done) and then use an algorithm to configure the interface (e.g. pick the lowest usable address in the subnet). The DHCP server would need some way of associating the request with the device - and of course it needs the subnet details (such as router) configured anyway in order to hand them to the clients.

However, I think your observation is a separate implementation specific limitation. Because of the need to handle unaddressed packets (i.e. it needs to receive and send broadcasts from/to the clients before they have an IP address) I assume the relay agent shares code with the server in using a raw packet interface rather than going through the IP stack. You can’t have two bits of software doing this, and in any case running a client would result in a broadcast packet OUT of the interface which would not be seen as an incoming packet by the relay agent.

I assume not the answer you were looking for, but at least you now understand why it isn’t working.


Simon

--
ISC funds the development of this software with paid support subscriptions. Contact us at https://www.isc.org/contact/ for more information.

dhcp-users mailing list
dhcp-users at lists.isc.org
https://lists.isc.org/mailman/listinfo/dhcp-users


More information about the dhcp-users mailing list