**Cette page a été importée automatiquement de notre ancien wiki mais n'a pas encore été révisée.** ## Failover DHCP master/master Ce mode permet à deux serveurs DHCP de fonctionner simultanément sur un même LAN. Les leases dynamiques sont alors partagés entre les 2 serveurs et synchronisés via un échange réseau entre les serveurs. En cas de panne de l'un deux, l'autre prend alors à sa charge l'ensemble des leases. Pour cela, il est nécessaire d'ajouter une section "failover" sur chacun des serveurs. Exemple : Master : ~~~ failover peer "dhcp-failover" { primary; address 192.0.2.1; peer address 192.0.2.2; port 647; peer port 647; max-response-delay 30; max-unacked-updates 10; load balance max seconds 3; split 128; mclt 1800; } ~~~ Slave : ~~~ failover peer "dhcp-failover" { secondary; address 192.0.2.2; peer address 192.0.2.1; port 647; peer port 647; max-response-delay 30; max-unacked-updates 10; load balance max seconds 3; } ~~~ Il est également nécessaire d'englober la directive "range" et les sections "host" dans une section "pool", et l'on déclarera celle-ci en mode failover. Exemple : ~~~ subnet 192.0.2.0 netmask 255.255.0.0 { option routers 192.2.0.254; pool { failover peer "dhcp-failover"; range 192.0.2.100 192.0.2.200; host host1 { hardware ethernet 08:00:1f:82:7a:72; fixed-address 192.0.2.4 } [...] } ~~~ ## Leases, adresses IP et adresses MAC Les leases sont les distributions d'IP aux clients. Le serveur DHCP les stocke dans `/var/db/dhcpd.leases`. ### Lister et compter les IP attribuées par DHCPD ~~~ awk -F" " '/lease/{print$2}' /var/db/dhcpd.leases | sort -V | uniq awk -F" " '/lease/{print$2}' /var/db/dhcpd.leases | sort -V | uniq | wc -l ~~~ ### Lister les adresses MAC par nombre de leases ~~~ grep hardware /var/db/dhcpd.leases | sort | uniq -c | sort -hr ~~~ Attention, le nombre de leases n'est pas égal au nombre d'IPs attribuées ! ## FAQ ### Abandonned leases Si le serveur DHCP n'arrive plus à attribuer d'adresses IP et log `no free leases on subnet`, il se peut que le liste des baux DHCP attribués par le serveur (`/var/db/dhcpd.leases`) soit plein d'IP `abandonned`. Cela signifie que le serveur considère cette IP comme déjà utilisée et ne l'attribuera, pas à moins qu'il soit à court d'IP disponibles, auquel cas il revérifiera quand même que l'IP n'est pas toujours utilisée, ce qui pourrait tout de même empêcher son attribution.