3.1.0 failover and dynamic bootp clients

Jeff Wieland wieland at purdue.edu
Sat Aug 11 15:07:19 UTC 2007


Carlos Vicente wrote:
> Hi,
> 
> Testing this in the lab, I just saw the two servers responding to a
> bootp request with two different IP addresss.  They both have recorded
> the individual leases as "active".  The configuration is identical on
> both servers.  One of the servers is on the same subnet as the client,
> the other one is behind a router with "ip-helpering" .
> 
> This is the relevant config section:
> 
> subnet xxx.xxx.254.0 netmask 255.255.255.224 {
>    option subnet-mask 255.255.255.224;
>    option broadcast-address xxx.xxx.254.31;
>    option routers xxx.xxx.254.1;
> 
>    pool {
>      failover peer "dhcp-peer";
>      range xxx.xxx.254.18 xxx.xxx.254.30;
>    }
> }
> 
> Here are the dhcpd.leases entries:
> 
> lease xxx.xxx.254.25 {
>   starts 5 2007/08/10 23:21:28;
>   ends 0 2007/09/09 23:21:28;
>   cltt 5 2007/08/10 23:21:28;
>   binding state active;
>   next binding state expired;
>   hardware ethernet 08:00:09:7c:c5:9a;
> }
> lease xxx.xxx.254.27 {
>   starts 5 2007/08/10 23:21:28;
>   ends 0 2007/09/09 23:21:28;
>   cltt 5 2007/08/10 23:21:28;
>   binding state active;
>   next binding state expired;
>   hardware ethernet 08:00:09:7c:c5:9a;
> }
> 
> Aug 10 16:21:28 ns1 dhcpd: BOOTREQUEST from 08:00:09:7c:c5:9a via eth0
> Aug 10 16:21:28 ns1 dhcpd: BOOTREPLY on xxx.xxx.254.25 to
> 08:00:09:7c:c5:9a via eth0
> 
> Aug 10 16:21:28 ns2 dhcpd: BOOTREQUEST from 08:00:09:7c:c5:9a via
> xxx.xxx.254.1
> Aug 10 16:21:28 ns2 dhcpd: BOOTREPLY on xxx.xxx.254.27 to
> 08:00:09:7c:c5:9a via xxx.xxx.254.1
> 
> Is this normal?  I'm guessing it's not.  Any hints appreciated. 
> 
> cv

According to the man page for dhcpd.conf:

CONFIGURING FAILOVER
      In order to configure failover, you need  to  write  a  peer
      declaration  that  configures the failover protocol, and you
      need to write peer references in each pool  declaration  for
      which you want to do failover.   You do not have to do fail-
      over for all pools on a given network segment.     You  must
      not  tell  one  server  it's  doing failover on a particular
      address pool and tell the other it is not.    You  must  not
      have  any  common  address  pools on which you are not doing
      failover.  A pool declaration that utilizes  failover  would
      look like this:

      pool {
           failover peer "foo";
           deny dynamic bootp clients;
           pool specific parameters
      };

      Dynamic BOOTP leases are not compatible with failover,  and,
      as  such,  you  need to disallow BOOTP in pools that you are
      using failover for.

So you need to disable dynamic bootp for any pools for which failover
is enabled.
-- 
           Jeff Wieland            |         Purdue University
    Network Systems Administrator  |        ITN&S Data Networks
        Voice: (765)496-8234       |        501 Harrison Street
         FAX: (765)494-6620        |   West Lafayette, IN 47907-2025


More information about the dhcp-users mailing list