[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: dhcp server - one mac on multiple subnets



Erik Persson wrote:
> Hello!
> 
> We have a dhcp-server (isc dhcpd v 2.0p15) that is responsible for
> multiple subnets. This is the standard debian sarge version of the
> server (not version 3 though).
> Between the subnets and the dhcp-server we have a router which is doing
> dhcp-relaying.
> 
> I was under the impression that you could have the same mac-adress on
> multiple subnets and that the dhcp server would offer the correct ip
> adress based on which subnet the request originated from.
> This doesn't seem to be the case in our setup however.
> 
> Is this a setup question or am I wrong?
> 
> Sep 24 16:49:56 shere dhcpd: DHCPDISCOVER from 00:0f:ea:b3:ec:cc via
> 192.168.11.254
> Sep 24 16:49:56 shere dhcpd: DHCPOFFER on 192.168.5.209 to
> 00:0f:ea:b3:ec:cc via 192.168.11.254
> Sep 24 16:49:56 shere dhcpd: DHCPREQUEST for 192.168.5.209 from
> 00:0f:ea:b3:ec:cc via 192.168.11.254
> Sep 24 16:49:56 shere dhcpd: DHCPACK on 192.168.5.209 to
> 00:0f:ea:b3:ec:cc via 192.168.11.254
> 
> Regards,
> Erik Persson.
> 
> 

Greetings Erik:

>From your description, it sounds like you have multiple subnets on the
same physical network (a multihomed server).  While isc dhcpd can be set
up to handle this situation, it won't do what you want it to do. (from
the man page...)

If any subnet in a shared network has addresses available for dynamic
allocation, those addresses are collected into a  common  pool  for that
shared network and assigned to clients as needed.  There is no way to
distinguish on which subnet of a shared network a client should boot.

When the client issues a DHCPDISCOVER, there is no way for the server to
tell which of the different subnets the request came from.  You could
probably work around the problem by setting up address pools for each of
your subnets and then assigning the clients to different pools via MAC
address.  Any solution that you come up with is going to have to be
based on MAC address, because that is the only thing that the client has
for the initial request.

Good luck.


-Scott



Reply to: