Vous êtes sur la page 1sur 7

Configuration de serveur et relais DHCP

sous LINUX
DHCP : Dynamic Host Configuration Protocol
Le protocole utilise le protocole de transport UDP.
Le serveur DHCP : port 67.
Le client DHCP : port 68
Le protocole de ngociation :
Exemple de fichiers de conf sur Ubuntu forum
Configuration d'un serveur DHCP (dhcp3-server)
Installation basique :
apt-get install dhcp3-server
Par scurit avant paramtrage, faire une copie de fichier de configuration:
cp /etc/dhcp3/dhcp.conf /etc/dhcp3/dhcp.conf.SAVE
Dclaration d'une plage d'attribution
Exemple de configuration simple:
default-lease-time 86400; # 24 hours
max-lease-time 172800; # 48 hours
subnet 192.168.1.0 netmask 255.255.255.0 {
option subnet-mask 255.255.255.0;
range 192.168.1.200 192.168.1.250;
}
Rservation d'addresse IP en filtrant sur l'addresse MAC
Dclaration des attributions IP par @MAC :
avantage de la scurit / contrle et prcision du rseau
subnet 192.168.1.0 netmask 255.255.255.0 {
use-host-decl-names on;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.1.255;
option routers 192.168.1.1;
host SRV2K3 {
# le filtre sur @MAC du host #
hardware ethernet 00:0C:29:A1:68:4E ;
# Il aura toujours l'adresse IP #
fixed-address 192.168.1.205;
}
host SRVDMZ {
hardware ethernet 00:0C:29:7D:1A:06 ;
fixed-address 192.168.1.210;
}
host client_linux {
hardware ethernet 00:0C:29:f2:11:b4 ;
fixed-address 192.168.1.215;
}
host client_windows {
hardware ethernet 00:0C:29:F6:05:F4 ;
fixed-address 192.168.1.220;
}
}
Configuration de Failover/Load-balancer DHCP
Pour des raisons de haute disponibilit, mieux vaut disposer d'un service DHCP rpartit sur 2
serveurs.
Double avantage :
la continuit du service en cas de panne du serveur primaire (FAILOVER)
la rpartition des charges au niveau des baux attribus (LOAD-BALANCING)
Configuration du serveur primaire
vi /etc/dhcp/dhcpd.conf
Dclaration du serveur primaire du pool :
# FAILOVER DHCP #
failover peer "MONPOOL" {
primary;
address 172.16.1.1;
port 647;
peer address 172.16.1.2;
peer port 847;
max-response-delay 60;
max-unacked-updates 10;
mclt 3600;
split 128;
load balance max seconds 3;
}
# Dfinition de la plage adressable #
subnet 172.16.1.0 netmask 255.255.255.0 {
option domain-name-servers 172.16.1.151, 172.16.1.152;
option domain-name "domaine.fr";
option routers 172.16.1.254;
option broadcast-address 172.16.1.255;
default-lease-time 7200;
max-lease-time 14400;
pool {
failover peer "MONPOOL";
range 172.16.1.10 172.16.1.20;
}
}
Configuration du serveur secondaire
vi /etc/dhcp/dhcpd.conf
Seule la dfinition du failover change :
#### FAILOVER DHCP
failover peer "MONPOOL" {
secondary;
address 172.16.1.2;
port 847;
peer address 172.16.1.1;
peer port 647;
max-response-delay 60;
max-unacked-updates 10;
load balance max seconds 3;
}
# Dfinition de la plage adressable #
subnet 172.16.1.0 netmask 255.255.255.0 {
option domain-name-servers 172.16.1.151, 172.16.1.152;
option domain-name "domaine.fr";
option routers 172.16.1.254;
option broadcast-address 172.16.1.255;
default-lease-time 7200;
max-lease-time 14400;
pool {
failover peer "MONPOOL";
range 172.16.1.10 172.16.1.20;
}
}
La notion de rpartition de charge est ralis automatiquement par les serveurs qui se
communiquent les baux attribus.
Synchronisation visible dans les logs.
Enfin, rien n'empche d'avoir plusieurs plages IP sur diffrents rseaux, certaines dclares en
failover et d'autres sur un seul des serveurs !
Mise en place d'un relais DHCP (dhcp3-relay)
Le relais DHCP doit tre situ dans le mme domaine de diffusion (rseau) que les clients
DHCP.
Son action transformera la requte multicast des client (broadcast) en adressage unicast. Il
pourra donc transmettre les requtes un serveur DHCP situ sur un autre rseau par
exemple.
Configuration :
Installer le paquet adquate (ubuntu/debian dhcp3-relay) :
aptitude search dhcp
aptitude install dhcp3-relay
L'installation est trs simple, la conf est stocke dans /etc/default/dhcp3-relay :
######## RELAIS DHCP ########
# Adresse du serveur DHCP
SERVERS="192.168.1.1"
# Interfaces d'coute
INTERFACES="eth0"
#Options additionnelles (ici excution silencieuse)
OPTIONS="-q"
Lister les baux en cours
Le daemon dhcpd crit les baux dans un fichier nomm dhcpd.leases.
Trouver le fichier :
locate dhcpd.leases
Visualiser les baux attribus :
cat /var/lib/dhcp3/dhcpd.leases
DHCP (DHCP3-SERVER) & DNS (BIND9)
Configurer DHCP avec DNS :
Configurer DHCP (DHCP3-SERVER) pour envoyer les MAJ au serveur DNS:
vi /etc/dhcp/dhcpd.conf
ddns-update-style interim; # Mise jour envoy au DNS par le DHCP
ddns-updates on; # Active les enregistrements dynamiques
ignore-client-updates; # Force les MAJ par le serveur DHCP
updates-static-leases on; # Enregistrement DNS des rservations
ddns-domain-name "aldebaran.local" # Suffixe DNS indiquer au DHCP
Autoriser les enregistrements dynamiques dans DNS (BIND9):
vi /etc/bind/named.conf
zone "test.local" {
type master;
file "test.local.db";
allow-update { 192.168.0.0/24; };
};
zone 1.168.192.in-addr.arpa" {
type master;
file "1.168.192.inv";
allow-update { 192.168.0.0/24; };
};
Surveillez les logs pour voir la MAJ dynamiques effectues au cous d'une demande
DHCP :
tail -f /var/log/syslog
Scuriser les MAJ dynamiques DHCP-DNS:
Il est possible de scuriser la conversation entre DHCP et DNS au moyen d'une clef partag !
Modifier comme ci-dessous le dhcpd.conf :
vi /etc/dhcp/dhcpd.conf
# DECLARATION DE LA CLEF PARTAGE
key DHCP_UPDATE {
algorithm hmac-md5;
secret PaSSworD; # Clef partag
};
# DECLARATION DES ZONES
zone test.local. {
primary 192.168.1.1; # DNS serveur
key DHCP_UPDATE;
}
zone 1.168.192.in-addr.arpa. {
primary 192.168.1.1;
key DHCP_UPDATE;
}
Renseigner DNS l'utilisation de cette clef partage :
vi /etc/bind/named.conf
# DECLARATION DE LA CLEF PARTAGE
key DHCP_UPDATE {
algorithm hmac-md5;
secret PaSSworD; # Clef partag
};
# UTILISER LA CLEF POUR LES MAJ
zone "test.local" {
type master;
file "test.local.db";
allow-update { DHCP_UPDATE; };
};
zone 1.168.192.in-addr.arpa" {
type master;
file "1.168.192.inv";
allow-update { DHCP_UPDATE; };
};