serveur DHCP en failover

Si vous utilisez un serveur dhcp sur votre réseau c’est peut être un source de problème, en fait c’est un ‘single point of failure’. Pour éviter des problèmes vous pouvez soit:
– partager la plage d’adresse sur plusieurs serveurs par exemple la moitié sur un serveur et le reste sur un autre
– configurer le failover sur deux serveurs et partager la configuration

Dans l’exemple, j’ai utilisé Debian GNU/Linux et le logiciel ISC DHCP. J’ai choisi le failover car c’est plus pratique pour moi. J’ai des postes qui ont des IPs fixes selon leur adresse MAC donc je dois écrire/supprimer 2 fois sur les 2 serveurs. Avec le failover je copie sur le secondaire le fichier via scp et je redémarre à distance le dhcpd.

Pour la configuration suivante, il faut que l’heure sur les 2 serveurs soit pareil, le port utilisé est libre avec les bonnes configurations aussi sur votre firewall.

Installation sur le serveur primaire (172.16.0.252) :

aptitude install dhcp3-server

Éditer le fichier /etc/dhcp3/dhcpd.conf


ddns-update-style none;
default-lease-time 86400; # 1 day
max-lease-time 604800; #1 week
authoritative;
log-facility local7;
failover peer "dhcp-failover" {
primary;
address 172.16.0.252; #primary server
port 647;
peer address 172.16.0.253; #secondary server
peer port 647;
max-response-delay 30;
max-unacked-updates 10;
load balance max seconds 3;
mclt 1800;
split 128;
}
include "/etc/dhcp3/dhcpd.master.conf";

Le fichier dhcpd.master.conf sera copié sur le second serveur, il contient la configuration de votre serveur.
Dans l’exemple dhcpd.master.conf contient :


option domain-name "company.local";
option domain-name-servers 172.16.0.252, 172.16.0.253;
subnet 172.16.0.0 netmask 255.255.255.0 {
pool {
failover peer "dhcp-failover";
range 172.16.0.1 172.16.0.250;
}
option subnet-mask 255.255.255.0;
option routers 172.16.0.254;
}

Après l’installation de dhcpd sur le serveur secondaire, le fichier dhcpd.conf sera :


ddns-update-style none;
default-lease-time 86400; # 1 day
max-lease-time 604800; #1 week
authoritative;
log-facility local7;
failover peer "dhcp-failover" {
secondary;
address 172.16.0.253; #secondary server
port 647;
peer address 172.16.0.252; #primary server
peer port 647;
max-response-delay 30;
max-unacked-updates 10;
load balance max seconds 3;
mclt 1800;
split 128;
}
include "/etc/dhcp3/dhcpd.master.conf";

J’ai un petit script que je lance pour dupliquer le fichier dhcpd.master.conf sur le second serveur :


#!/bin/sh
if /etc/init.d/dhcp3-server restart
then
scp /etc/dhcp3/dhcpd.master.conf root@172.16.0.253:/etc/dhcp3/
ssh root@172.16.0.253 '/etc/init.d/dhcp3-server restart'
fi

Si le serveur primaire tombe sur dans le /var/log/syslog de votre serveur il y aura :


Jun 28 12:53:57 secondary dhcpd: failover peer dhcp-failover: I move from normal to communications-interrupted

Si le primaire devient up :


Jun 28 12:55:10 secondary dhcpd: failover peer dhcp-failover: I move from communications-interrupted to normal

Vita tompoko!

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s