dhcp not matching subnet if not first address on interface
Simon Hobson
dhcp1 at thehobsons.co.uk
Tue Sep 6 07:00:39 UTC 2011
Steve Clark wrote:
>>I am using dhcp-4.1.1-11.P1 on EL6. I am running dhcpd without
>>specifying an interface
>>expecting dhcpd to match the interface based on the subnet defined
>>in the dhcpd.conf file.
>>This works as expected unless I have multiple addresses on the
>>interface and the
>>subnet that matches the dhcpd.conf file is not the first address
>>listed on the interface.
>>
>>Is this a known problem? Is there a work around?
Yes it's a known problem - it's called "administrator didn't
configure things right"
The workaround is to configure things right - see below !
>Here is an example:
>/etc/dhcp/dhcpd.conf
>#dhcpd.conf
> ddns-update-style interim;
> shared-network DHCP{
> subnet 10.0.1.0 netmask 255.255.255.0 {
> range 10.0.1.1 10.0.1.253;
> option domain-name-servers 10.0.1.254;
> option routers 10.0.1.254;
> option subnet-mask 255.255.255.0;
> option broadcast-address 10.0.1.255;
> default-lease-time 86400;
> max-lease-time 86400;
> deny bootp;
> }}
>
>ip a s eth2
>2: eth2: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state
>DOWN qlen 1000
> link/ether 00:02:b6:36:d1:39 brd ff:ff:ff:ff:ff:ff
> inet 172.16.3.1/24 brd 172.16.3.255 scope global eth2
> inet 10.0.1.254/24 scope global eth2
OK, eth2 is what we call a shared-network - it has two IP ranges on
the same network (you appear to have realised that bit). What you
need to do is define **ALL** subnets on that shared-network and group
them in a shared-network statement like this :
shared-network DHCP{
... shared options
subnet 10.0.1.0 netmask 255.255.255.0 {
... subnet options
}
subnet 172.16.3.0 netmask 255.255.255.0 {
... subnet options
}
}
DHCPD will not work unless you correctly tell it about your network
and it's topology. That means you accurately tell it about **all**
subnets on **all** networks it will be servicing - you forgot to tell
it about a subnet.
What I'm guessing is that you've assumed it will spot the other
subnet at boot time, and since you don't want to declare anything in
it, then you'll accept a default empty subnet. DHCPD doesn't do that
- local subnets attached to local interfaces are effectively a
special case, the general case is that a subnet may or may not be
locally attached and for most operations it doesn't make any
difference. For networks that aren't locally attached, the only
information the server will have about it is what you put in the
config file. It would have been something of a waste of effort to
code auto-config of local subnets - especially since in most cases
the admit would still need to declare them so as to configure options
within them.
--
Simon Hobson
Visit http://www.magpiesnestpublishing.co.uk/ for books by acclaimed
author Gladys Hobson. Novels - poetry - short stories - ideal as
Christmas stocking fillers. Some available as e-books.
More information about the dhcp-users
mailing list