Vous êtes sur la page 1sur 3

Configuration de DHCP-LDAP

DHCP signifie Dynamic Host Configuration Protocol. Il s’agit d’un protocole qui permet à un ordinateur qui
se connecte sur un réseau d’obtenir dynamiquement (c’est-à-dire sans intervention particulière) sa
configuration (principalement, sa configuration réseau). Vous n’avez qu’à spécifier à l’ordinateur de se
trouver une adresse IP tout seul par DHCP. Le but principal étant la simplification de l’administration d’un
réseau.
Installation
apt-get install isc-dhcp-server
apt-get install isc-dhcp-server-ldap
Configuration
On fait une copie de shema de dhcp avec les commande suivantes :
cd /usr/share/doc/isc-dhcp-server-ldap/
gunzip dhcp.schema.gz
cp dhcp.schema /etc/ldap/schema/
Après on crée un fichier /tmp/dhcp.conf qui contient cette ligne :
include /etc/ldap/schema/dhcp.schema

Après on exécute les commandes suivantes : # mkdir /tmp/dhcp


# slaptest -f /tmp/dhcp.conf -F /tmp/dhcp
Après la création du fichier ldif dans le répertoire /tmp/dhcp/cn\=config/cn\=schema/cn\=\{0\}dhcp.ldif

on supprime les lignes au dessous


structuralObjectClass : olcSchemaConfig
entryUUID : 9bcf5d1c-ee67-1033-8cfe-8d23f897bb77
creatorsName : cn=config
createTimestamp : 20141022184725Z
entryCSN : 20141022184725.031859Z000000000000000
modifiersName : cn=config
modifyTimestamp : 20141022184725Z
et on change la configuration (lignes 3,4 et5) :
dn : cn=dhcp,cn=schema,cn=config
objectClass : olcSchemaConfig
cn : dhcp

# ldapadd -Q -Y EXTERNAL -H ldapi:/// -f /tmp/dhcp/cn\=config/cn\=schema/cn\=\{0\}dhcp.ldif

D’autre fichiers ldif sont nécessaires (arborescence dhcp):

dhcp.ldif
dn : ou=dhcp,dc=fstt,dc=lan
ou : dhcp
objectClass : top
objectClass : organizationalUnit
description : DHCP Servers
dhcpserver.ldif
dn : cn=server,ou=dhcp,dc=fstt,dc=lan
cn : server
objectClass : top
objectClass : dhcpServer
dhcpServiceDN : cn=config,ou=dhcp,dc=fstt,dc=lan
dhcpservice.ldif
dn : cn=config, ou=dhcp,dc=fstt,dc=lan
cn : config
objectClass : top
objectClass : dhcpService
dhcpPrimaryDN : cn=server,ou=dhcp,dc=fstt,dc=lan
dhcpStatements : ddns-update-style none
dhcpStatements : get-lease-hostnames true
dhcpStatements : use-host-decl-names true
dhcpsubnet.ldif
dn : cn=192.168.1.0, cn=config, ou=dhcp,dc=fstt,dc=lan
cn : 192.168.1.0
objectClass : top
objectClass : dhcpSubnet
objectClass : dhcpOptions
dhcpNetMask : 24
dhcpRange : 192.168.1.150 192.168.1.200
dhcpStatements : default-lease-time 600
dhcpStatements : max-lease-time 7200
dhcpOption : netbios-name-servers 192.168.1.16
dhcpOption : subnet-mask 255.255.255.0
dhcpOption : routers 192.168.1.1
dhcpOption : domain-name-servers 192.168.1.11
dhcpOption : domain-name "fstt.lan"
host.ldif
dn : cn=client01, cn=config, ou=dhcp,dc=fstt,dc=lan
cn : client01
objectClass : top
objectClass : dhcpHost
dhcpHWAddress : ethernet 00 :16 :3e :3d :eb :87
dhcpStatements : fixed-address 192.168.1.111

Après l’exécution des ces fichiers on aura besoin de configurer le serveur dhcp : /etc/dhcp/dhcpd.conf
ldap-server "serveur.fstt.lan" ;
ldap-port 389 ;
ldap-base-dn "ou=dhcp,dc=fstt,dc=lan" ;
ldap-method static ;
ldap-debug-file "/var/log/dhcp-ldap-startup.log" ;
ldap-dhcp-server-cn "server" ;

Avec
• dap-server : Nom DNS du serveur LDAP.
• Dap-port :Le numéro de port TCP du serveur LDAP.
• Ldap-base-dn :Chemin de base à l'intérieur de l'arbre.
• Ldap-dhcp-serveur-cn : Le nom du serveur dont l'objet est objectClass : dhcpServer (Exemple : cn
= server)
• ldap-debug-file : Fichier journal, utile pour le débogage. Ce fichier génère des données au format
de fichier dhcpd.conf
• ldap-method : Méthode d'obtention des données du serveur LDAP :

◦ static - toutes les données sont chargées une fois au démarrage du serveur ;
◦ dynamic - données de objectClass : les objets dhcpHost sont chargés sur demande, le reste est
chargé au démarrage du serveur, lorsque les paramètres sont modifiés, un redémarrage est
nécessaire.

# /etc/init.d/slapd stop

Maintenant on doit ajouter les lignes suivants au fichier nano /etc/ldap/slapd.d/cn\=config/olcDatabase\=\


{1\}mdb.ldif

olcDbIndex: cn eq
olcDbIndex: gidNumber eq
olcDbIndex: memberUid eq
olcDbIndex: uid eq
olcDbIndex: uidNumber eq
olcDbIndex: uniqueMember eq

sudo -u openldap slapindex -F /etc/ldap/slapd.d/


Probablement vous pouvez avoir un problème avec cette commande alors on doit recalculer le
checksum et le remplacer dans le fichier.

- On copie le fichier dans un repertoire temporaire


cp /etc/ldap/slapd.d/cn\=config/olcDatabase\=\{1\}mdb.ldif /tmp
- On supprime les premiers deux lignes du fichier
tail -n +3 /tmp/olcDatabase\=\{1\}mdb.ldif> /tmp/fixed.ldif
Télécharger l’outil de CRC http ://freecode.com/projects/checkcrc/
Extraire le fichier téléchargé # tar xvfz check-4.3-src.tgz
Installer le package zlib #apt-get install zlib1g-dev

compiler l’outil CRC cd check-4.3


# check4-3# gcc -O3 -Wall -DUSE_ZLIB -I/usr/include -o check check.c -L/usr/lib64 -lz
-Calculer le nouveau checksum check-4.3 # ./check /tmp/fixed.ldif
fixed.ldif CRC-32 = 61e6182a, size = 582 bytes
- Remplacer le CRC par sa nouvelle valeur
# vi /etc/ldap/slapd.d/cn=config/olcDatabase=1hdb.ldif
→ CRC32 61e6182a

# sudo -u openldap slapindex -F /etc/ldap/slapd.d/


# /etc/init.d/slapd start

Vous aimerez peut-être aussi