Handling of multiple DHCP OFFERs
Hello, I am configuring a network that'll have multiple DHCP servers and I was wondering how Linux handles receiving multiple DHCP OFFERs? More specifically, how does it choose which one to prefer and how long will it wait for a answer from a preferred server if the other server answers first? Thanks.
From: John Musbach <[email protected]>
Date: Mon, 3 Oct 2011 23:18:06 +0000 (UTC)
Quoted 5 lines
Hello, I am configuring a network that'll have multiple DHCP servers and I was wondering how Linux handles receiving multiple DHCP OFFERs? More specifically, how does it choose which one to prefer and how long will it wait for a answer from a preferred server if the other server answers first? Thanks.
There are multiple userspace implementations of DHCP, and the kernel does not usually get involved at all. You'll therefore have to ask the folks who write and maintain the various DHCP implementations.
Quoted 9 lines · David Miller
From: John Musbach<[email protected]>
Date: Mon, 3 Oct 2011 23:18:06 +0000 (UTC)Quoted 5 lines
Hello, I am configuring a network that'll have multiple DHCP servers and I was wondering how Linux handles receiving multiple DHCP OFFERs? More specifically, how does it choose which one to prefer and how long will it wait for a answer from a preferred server if the other server answers first? Thanks.
Quoted 3 lines
There are multiple userspace implementations of DHCP, and the kernel does not usually get involved at all. You'll therefore have to ask the folks who write and maintain the various DHCP implementations.
What about netbooting? Or are you expecting people to use initramfs with a userspace implementation?
Chris
Signature · 5 lines
Chris Friesen Software Developer GENBAND [email protected] www.genband.com
Quoted 10 lines · Chris Friesen
Quoted 9 lines · David Miller
From: John Musbach<[email protected]>
Date: Mon, 3 Oct 2011 23:18:06 +0000 (UTC)Quoted 5 lines
Hello, I am configuring a network that'll have multiple DHCP servers and I was wondering how Linux handles receiving multiple DHCP OFFERs? More specifically, how does it choose which one to prefer and how long will it wait for a answer from a preferred server if the other server answers first? Thanks.
Quoted 9 lines
Quoted 3 lines
There are multiple userspace implementations of DHCP, and the kernel does not usually get involved at all. You'll therefore have to ask the folks who write and maintain the various DHCP implementations.
What about netbooting? Or are you expecting people to use initramfs with a userspace implementation?
Chris
Normally with PXE boot it's the PXE ROM that initially gets the IP address. After the kernel boots up, userspace normally repeats the process.
Quoted 7 lines · Robert Hancock
Quoted 6 lines · Chris Friesen
Quoted 5 lines · David Miller
From: John Musbach<[email protected]>
Date: Mon, 3 Oct 2011 23:18:06 +0000 (UTC)Quoted 2 lines
Hello, I am configuring a network that'll have multiple DHCP servers and I was wondering how Linux handles receiving multiple DHCP OFFERs?
Define "Linux":
The kernel?
- A given distribution?
- All distributions?
- The major ones?
- ISCs dhclient?
- RedHats "pump"?
- Other DHCP clients?
Quoted 3 lines
Quoted 3 lines
Quoted 3 lines
Quoted 3 lines
More specifically, how does it choose which one to prefer and how long will it wait for a answer from a preferred server if the other server answers first? Thanks.
IMHO it doesn't really work in general to have multiple (standalone) DHCP servers in one network.
Perhaps/probably it works if there is no absolutely dynamical allocation from pools but only static ones which are identical across all DHCP servers (as some kind of high-availability).
Quoted 9 lines
Quoted 6 lines
Quoted 3 lines
There are multiple userspace implementations of DHCP, and the kernel does not usually get involved at all. You'll therefore have to ask the folks who write and maintain the various DHCP implementations.
What about netbooting? Or are you expecting people to use initramfs with a userspace implementation?
Normally with PXE boot it's the PXE ROM that initially gets the IP address. After the kernel boots up, userspace normally repeats the process.
I would assume that PXE ROMs also take the first received DHCPOFFER and use it.
Quoted 1 line
From DHCPs point of view, it is the clients decision which DHCPOFFER it
honors or chooses to ignore (and the servers decision it it actually sends an DHCPOFFER).
In reality (and e.g. for ISCs dhclient), usually the first received one will be used (because it's the easiest to implement, it avoids the problems with deciding how long to wait, takes less time on bootup because there is no unnecessary timeout!) and last time I looked into it (which was quite time ago ...), there was no feature to filter or (securely) authenticate anything (which would actually make sense as the client could detect invalid DCHP offers from rogue DHCP servers. Lots of devices have such a beast on board nowadays and I wouldn't bet that all of them are deactivated per default).
Bernd
Signature · 2 lines
Bernd Petrovitsch Email : [email protected] LUGA : http://www.luga.at
Quoted 7 lines · Robert Hancock
Quoted 6 lines · Chris Friesen
Quoted 3 lines · David Miller
There are multiple userspace implementations of DHCP, and the kernel does not usually get involved at all. You'll therefore have to ask the folks who write and maintain the various DHCP implementations.
Quoted 5 lines
Quoted 2 lines
What about netbooting? Or are you expecting people to use initramfs with a userspace implementation?
Normally with PXE boot it's the PXE ROM that initially gets the IP address. After the kernel boots up, userspace normally repeats the process.
I've worked with quite a few boards where PXE boots the kernel, but the kernel needs to do DHCP to get the location of the root filesystem (as well as various DHCP options not understood by PXE).
Chris
Signature · 5 lines
Chris Friesen Software Developer GENBAND [email protected] www.genband.com