problem with failover server selection

Glenn Satchell glenn.satchell at uniq.com.au
Wed Mar 16 11:20:52 UTC 2011


Hi Ana

It is quite normal for primary and secondary servers to respond to a 
dhcpdiscover. It is up to the client to choose which response to accept. 
For example the client might choose the address that it has had before, 
or perhaps just take the first reply.

The different addresses offered by primary and secondary is also normal. 
The two servers divide up the available addresses between them, and 
offer an address from their pool of addresses.

There's a somewhat long and detailed discussion in the dhcpd.conf man 
page. It's complicated and might take more than one reading to make 
sense of it :)

regards,
-glenn

On 03/16/11 20:09, Ana Gallardo Gómez wrote:
> Hello,
>
> I'm using ISC DHCP Server 4.1.1-P1 with debian squezze.
>
> I have two ISC DHCP Server running with failover. My problem is that
> sometimes both servers respond to DHCPDISCOVER.
>
> My configuration
> ------------------------
>
> --- PRIMARY SERVER
>
> # cat /etc/dhcp/dhcpd.conf
> include "/etc/dhcp/dhcpd.conf.primary";
> include "/etc/dhcp/dhcpd.conf.subnetprimary";
>
> # cat /etc/dhcp/dhcpd.conf.primary
> failover peer "failover-open" {
>    primary;
>    address 10.253.40.2;
>    port 647;
>    peer address 10.253.40.1;
>    peer port 647;
>    max-response-delay 60;
>    max-unacked-updates 10;
>    mclt 3600;
>    split 128;
>    load balance max seconds 3;
> }
>
> failover peer "failover-8021X" {
>    primary;
>    address 10.254.40.2;
>    port 647;
>    peer address 10.254.40.1;
>    peer port 647;
>    max-response-delay 60;
>    max-unacked-updates 10;
>    mclt 3600;
>    split 128;
>    load balance max seconds 3;
>
> }
>
> # cat /etc/dhcp/dhcpd.conf.subnetprimary
> option domain-name "xxx.es <http://xxx.es>";
> option domain-name-servers a.b.c.d;
> default-lease-time 7200;
> max-lease-time 7200;
> ddns-update-style none;
> authoritative;
> deny duplicates;
> deny declines;
> one-lease-per-client on;
>
> subnet a.b.f.0 netmask 255.255.255.0 {
> }
>
> subnet 10.253.40.0 netmask 255.255.252.0 {
>    option broadcast-address 10.253.43.255;
>    pool {
>      failover peer "failover-open";
>      range 10.253.40.5 10.253.43.254;
>      option routers 10.253.40.2;
>    }
> }
>
> subnet 10.254.40.0 netmask 255.255.255.0 {
>    option broadcast-address 10.254.40.255;
>    pool {
>      failover peer "failover-80211X";
>      range 10.254.40.5 10.254.40.254;
>      option routers 10.254.40.2;
>    }
> }
>
>
> --- SECONDARY SERVER
>
> # cat /etc/dhcp/dhcpd.conf
> include "/etc/dhcp/dhcpd.conf.secondary";
> include "/etc/dhcp/dhcpd.conf.subnetsecondary";
>
> # cat /etc/dhcp/dhcpd.conf.secondary
> failover peer "failover-open" {
>    secondary;
>    address 10.253.40.1;
>    port 647;
>    peer address 10.253.40.2;
>    peer port 647;
>    max-response-delay 60;
>    max-unacked-updates 10;
>    split 128;
>    load balance max seconds 3;
> }
>
> failover peer "failover-8021X" {
>    secondary;
>    address 10.254.40.1;
>    port 647;
>    peer address 10.254.40.2;
>    peer port 647;
>    max-response-delay 60;
>    max-unacked-updates 10;
>    split 128;
>    load balance max seconds 3;
>
> }
>
> # cat /etc/dhcp/dhcpd.conf.subnetsecondary
> option domain-name "xxx.es <http://xxx.es>";
> option domain-name-servers a.b.c.d;
> default-lease-time 7200;
> max-lease-time 7200;
> ddns-update-style none;
> authoritative;
> deny duplicates;
> deny declines;
> one-lease-per-client on;
>
> subnet a.b.g.0 netmask 255.255.255.0 {
> }
>
> subnet 10.253.40.0 netmask 255.255.252.0 {
>    option broadcast-address 10.253.43.255;
>    pool {
>      failover peer "failover-open";
>      range 10.253.40.5 10.253.43.254;
>      option routers 10.253.40.1;
>    }
> }
>
> subnet 10.254.40.0 netmask 255.255.255.0 {
>    option broadcast-address 10.254.40.255;
>    pool {
>      failover peer "failover-80211X";
>      range 10.254.40.5 10.254.40.254;
>      option routers 10.254.40.1;
>    }
> }
>
> LOG PRIMARY:
>
> Mar 15 10:05:12 dhcpd: DHCPDISCOVER from 01:11:5d:21:48:b4 via vlan1223
> Mar 15 10:05:13  dhcpd: DHCPOFFER on 10.253.40.64 to 01:11:5d:21:48:b4
> (usuario1) via vlan1223
> Mar 15 10:05:16  dhcpd: DHCPACK to 10.253.40.64 (01:11:5d:21:48:b4) via
> vlan1223
> Mar 15 10:06:20  dhcpd: DHCPACK to 10.253.40.64 (01:11:5d:21:48:b4) via
> vlan1223
> Mar 15 10:07:23  dhcpd: DHCPACK to 10.253.40.64 (01:11:5d:21:48:b4) via
> vlan1223
>
> Mar 15 12:30:43  dhcpd: DHCPDISCOVER from 01:11:5d:21:48:b4 via vlan1223
> Mar 15 12:30:44  dhcpd: DHCPOFFER on 10.253.40.102 to 01:11:5d:21:48:b4
> (usuario1) via vlan1223
> Mar 15 12:30:44  dhcpd: uid lease 10.253.40.102 for client
> 01:11:5d:21:48:b4 is duplicate on 10.253.40.0/22 <http://10.253.40.0/22>
> Mar 15 12:30:44  dhcpd: DHCPREQUEST for 10.253.40.45 (10.253.40.1) from
> 01:11:5d:21:48:b4 (Tania-PC) via vlan1223: lease owned by peer
> Mar 15 12:30:47  dhcpd: DHCPACK to 10.253.40.45 (01:11:5d:21:48:b4) via
> vlan1223
> Mar 15 12:59:25  dhcpd: DHCPREQUEST for 10.253.40.45 from
> 01:11:5d:21:48:b4 (Tania-PC) via vlan1223
> Mar 15 12:59:25  dhcpd: DHCPACK on 10.253.40.45 to 01:11:5d:21:48:b4
> (usuario1) via vlan1223
> Mar 15 12:59:26  dhcpd: DHCPACK to 10.253.40.45 (01:11:5d:21:48:b4) via
> vlan1223
> Mar 15 13:38:55  dhcpd: DHCPREQUEST for 10.253.40.45 from
> 01:11:5d:21:48:b4 (usuario1) via vlan1223
> Mar 15 13:38:55  dhcpd: DHCPACK on 10.253.40.45 to 01:11:5d:21:48:b4
> (usuario1) via vlan1223
> Mar 15 13:39:08  dhcpd: DHCPREQUEST for 10.253.40.45 from
> 01:11:5d:21:48:b4 (usuario1) via vlan1223
> Mar 15 13:39:08  dhcpd: DHCPACK on 10.253.40.45 to 01:11:5d:21:48:b4
> (usuario1) via vlan1223
> Mar 15 13:39:27  dhcpd: DHCPACK to 10.253.40.45 (01:11:5d:21:48:b4) via
> vlan1223
> Mar 15 13:39:29  dhcpd: DHCPACK to 10.253.40.45 (01:11:5d:21:48:b4) via
> vlan1223
> Mar 15 13:39:54  dhcpd: DHCPREQUEST for 10.253.40.45 from
> 01:11:5d:21:48:b4 (usuario1) via vlan1223
> Mar 15 13:39:54  dhcpd: DHCPACK on 10.253.40.45 to 01:11:5d:21:48:b4
> (usuario1) via vlan1223
> Mar 15 13:40:56  dhcpd: DHCPACK to 10.253.40.45 (01:11:5d:21:48:b4) via
> vlan1223
> Mar 15 13:42:01  dhcpd: DHCPREQUEST for 10.253.40.45 from
> 01:11:5d:21:48:b4 (usuario1) via vlan1223
> Mar 15 13:42:01  dhcpd: DHCPACK on 10.253.40.45 to 01:11:5d:21:48:b4
> (usuario1) via vlan1223
> Mar 15 13:42:11  dhcpd: DHCPACK to 10.253.40.45 (01:11:5d:21:48:b4) via
> vlan1223
> Mar 15 13:46:02  dhcpd: DHCPREQUEST for 10.253.40.45 from
> 01:11:5d:21:48:b4 (usuario1) via vlan1223
> Mar 15 13:46:02  dhcpd: DHCPACK on 10.253.40.45 to 01:11:5d:21:48:b4
> (usuario1) via vlan1223
> Mar 15 13:46:05  dhcpd: DHCPACK to 10.253.40.45 (01:11:5d:21:48:b4) via
> vlan1223
> Mar 15 13:46:59  dhcpd: DHCPREQUEST for 10.253.40.45 from
> 01:11:5d:21:48:b4 (usuario1) via vlan1223
> Mar 15 13:46:59  dhcpd: DHCPACK on 10.253.40.45 to 01:11:5d:21:48:b4
> (usuario1) via vlan1223
> Mar 15 13:47:01  dhcpd: DHCPACK to 10.253.40.45 (01:11:5d:21:48:b4) via
> vlan1223
> Mar 15 13:49:29  dhcpd: DHCPREQUEST for 10.253.40.45 from
> 01:11:5d:21:48:b4 (usuario1) via vlan1223
> Mar 15 13:49:29  dhcpd: DHCPACK on 10.253.40.45 to 01:11:5d:21:48:b4
> (usuario1) via vlan1223
> Mar 15 13:53:14  dhcpd: DHCPREQUEST for 10.253.40.45 from
> 01:11:5d:21:48:b4 (usuario1) via vlan1223
> Mar 15 13:53:14  dhcpd: DHCPACK on 10.253.40.45 to 01:11:5d:21:48:b4
> (usuario1) via vlan1223
> Mar 15 13:53:15  dhcpd: DHCPACK to 10.253.40.45 (01:11:5d:21:48:b4) via
> vlan1223
> Mar 15 13:55:07  dhcpd: DHCPREQUEST for 10.253.40.45 from
> 01:11:5d:21:48:b4 (usuario1) via vlan1223
> Mar 15 13:55:07  dhcpd: DHCPACK on 10.253.40.45 to 01:11:5d:21:48:b4
> (usuario1) via vlan1223
> Mar 15 13:55:11  dhcpd: DHCPACK to 10.253.40.45 (01:11:5d:21:48:b4) via
> vlan1223
> Mar 15 13:56:47  dhcpd: DHCPREQUEST for 10.253.40.45 from
> 01:11:5d:21:48:b4 (usuario1) via vlan1223
> Mar 15 13:56:47  dhcpd: DHCPACK on 10.253.40.45 to 01:11:5d:21:48:b4
> (usuario1) via vlan1223
> Mar 15 13:56:49  dhcpd: DHCPACK to 10.253.40.45 (01:11:5d:21:48:b4) via
> vlan1223
>
> LOG SECONDARY:
>
> Mar 15 10:05:12  dhcpd: DHCPDISCOVER from 01:11:5d:21:48:b4 via vlan1223
> Mar 15 10:05:13  dhcpd: DHCPOFFER on 10.253.40.64 to 01:11:5d:21:48:b4
> (usuario1) via vlan1223
> Mar 15 10:05:13  dhcpd: DHCPREQUEST for 10.253.40.64 (10.253.40.1) from
> 01:11:5d:21:48:b4 (usuario1) via vlan1223
> Mar 15 10:05:13  dhcpd: DHCPACK on 10.253.40.64 to 01:11:5d:21:48:b4
> (usuario1) via vlan1223
> Mar 15 10:05:18  dhcpd: DHCPACK to 10.253.40.64 (01:11:5d:21:48:b4) via
> vlan1223
> Mar 15 10:06:21  dhcpd: DHCPACK to 10.253.40.64 (01:11:5d:21:48:b4) via
> vlan1223
> Mar 15 10:07:25  dhcpd: DHCPACK to 10.253.40.64 (01:11:5d:21:48:b4) via
> vlan1223
>
> Mar 15 12:30:45  dhcpd: DHCPDISCOVER from 01:11:5d:21:48:b4 via vlan1223
> Mar 15 12:30:46  dhcpd: DHCPOFFER on 10.253.40.45 to 01:11:5d:21:48:b4
> (usuario1) via vlan1223
> Mar 15 12:30:46  dhcpd: DHCPREQUEST for 10.253.40.45 (10.253.40.1) from
> 01:11:5d:21:48:b4 (usuario1) via vlan1223
> Mar 15 12:30:46  dhcpd: DHCPACK on 10.253.40.45 to 01:11:5d:21:48:b4
> (usuario1) via vlan1223
> Mar 15 12:30:49  dhcpd: DHCPACK to 10.253.40.45 (01:11:5d:21:48:b4) via
> vlan1223
> Mar 15 12:59:24  dhcpd: DHCPREQUEST for 10.253.40.45 from
> 01:11:5d:21:48:b4 (usuario1) via vlan1223
> Mar 15 12:59:24  dhcpd: DHCPACK on 10.253.40.45 to 01:11:5d:21:48:b4
> (usuario1) via vlan1223
> Mar 15 12:59:28  dhcpd: DHCPACK to 10.253.40.45 (01:11:5d:21:48:b4) via
> vlan1223
> Mar 15 13:38:57  dhcpd: DHCPREQUEST for 10.253.40.45 from
> 01:11:5d:21:48:b4 (usuario1) via vlan1223
> Mar 15 13:38:57  dhcpd: DHCPACK on 10.253.40.45 to 01:11:5d:21:48:b4
> (usuario1) via vlan1223
> Mar 15 13:39:11  dhcpd: DHCPREQUEST for 10.253.40.45 from
> 01:11:5d:21:48:b4 (usuario1) via vlan1223
> Mar 15 13:39:11  dhcpd: DHCPACK on 10.253.40.45 to 01:11:5d:21:48:b4
> (usuario1) via vlan1223
> Mar 15 13:39:29  dhcpd: DHCPACK to 10.253.40.45 (01:11:5d:21:48:b4) via
> vlan1223
> Mar 15 13:39:32  dhcpd: DHCPACK to 10.253.40.45 (01:11:5d:21:48:b4) via
> vlan1223
> Mar 15 13:39:56  dhcpd: DHCPREQUEST for 10.253.40.45 from
> 01:11:5d:21:48:b4 (usuario1) via vlan1223
> Mar 15 13:39:56  dhcpd: DHCPACK on 10.253.40.45 to 01:11:5d:21:48:b4
> (usuario1) via vlan1223
> Mar 15 13:40:58  dhcpd: DHCPACK to 10.253.40.45 (01:11:5d:21:48:b4) via
> vlan1223
> Mar 15 13:42:03  dhcpd: DHCPREQUEST for 10.253.40.45 from
> 01:11:5d:21:48:b4 (usuario1) via vlan1223
> Mar 15 13:42:03  dhcpd: DHCPACK on 10.253.40.45 to 01:11:5d:21:48:b4
> (usuario1) via vlan1223
> Mar 15 13:42:13  dhcpd: DHCPACK to 10.253.40.45 (01:11:5d:21:48:b4) via
> vlan1223
> Mar 15 13:46:04  dhcpd: DHCPREQUEST for 10.253.40.45 from
> 01:11:5d:21:48:b4 (usuario1) via vlan1223
> Mar 15 13:46:04  dhcpd: DHCPACK on 10.253.40.45 to 01:11:5d:21:48:b4
> (usuario1) via vlan1223
> Mar 15 13:46:07  dhcpd: DHCPACK to 10.253.40.45 (01:11:5d:21:48:b4) via
> vlan1223
>
> I can't understand two things:
>
> 1. Why the secondary server offer two diferent IP's: 10.253.40.64 and
> 10.253.40.45??
> 2. Why primary and secondary server respond to the Mar 15 12:30:45
> dhcpd: DHCPDISCOVER??
>
>
> Thank you in advance and sorry for my english.
>
> ::::::::::::::::::::::::::::::::::::
> :: Ana Gallardo Gómez ::
> ::::::::::::::::::::::::::::::::::::
>



More information about the dhcp-users mailing list