Vous êtes sur le wiki de développement du projet SLIS

DHCP

Le slis fournit un serveur DHCP. A partir de la version 4.2, il est fourni par isc-dhcp.

service fourni

Un serveur DHCP avec une plage dynamique et une plage de réservation. Le serveur DHCP fourni des adresses sur le réseau pédagogique uniquement. Il ne peut en fournir sur la DMZ ou le WAN.

Stockage des données

Les données sont stockées dans la branche computer du DHCP pour les réservations. Les options sont stockées dans la table des options du SLIS, associées au service DHCP.

Au niveau LDAP on va utiliser la classe structurelle device, la classe ipHost et la classe ieee802Device.

La classe device :

  • doit avoir :
    • cn
  • peut avoir :
    • description
    • l : localisation
    • o
    • ou : unité organisationnelle. Correspond au parc principal ?
    • owner : ne sera pas utilise
    • seeAlso : ne sera pas utilise
    • serialNumber : utilisable.

La classe ipHost

  • doit avoir :
    • cn
    • ipHostNumber : l'adress IPV4
  • peut avoir :
    • description
    • l : localisation
    • manager :ne sera pas utilisé

La classe ieee802device

  • peut avoir :
    • macAddress : l'adresse MAC sous forme hexa séparée par des deux points

Un enregistrement sera donc de la forme

  • dn: "cn=ordi-01,ou=Computers,ou=lycee,o=test,c=fr"
  • objectClass: device
  • objectClass: ipHost
  • objectClass: ieee802device
  • description: "poste 1 de la salle A"
  • l: "salle A"
  • ipHostNumber: 172.16.110.1
  • macAddress: 01:02:03:04:05:06
  • serialNumber: JT48908Ag

Utilisation des niveaux pour l'affichage

Un novice peut voir les réservations existantes et effectuer une réservation. Un intermédiaire peut aussi régler les paramètres.

Interface du module

Le module permet les actions suivantes :

La page des réservations

Sur cette page, on trouve la liste des réservations actives du DHCP. On peut supprimer une réservation (association ip/mac) ou supprimer une machine complétement du LDAP à partir de cette page

La page des ajouts

On peut ajouter une machine à partir d'une entrée manuelle ou à partir des machines qui ont une adresse affectée dynamiquement (liste des leases)

La page import/export

Permet d'importer des machines en masse à partir d'un CSV, et d'exporter un CSV à partir du LDAP.

La page de configuration

Permet de mettre au point la configuration du DHCP.

API du module

Le module utilise une classe PHP qui se trouve dans le fichier computer_classe.inc.php

computer-example.php
$computer = new computer("se3") // va lire les références à la machine se3 dans l'annuaire.
$datas = array ( "name" => "coffee-computer",
                  "ip" => "172.16.99.99",
                  "mac" => "01:02:03:04:05:06",
                  "localisation" => "Salle des professeurs",
                  "description" => "Machine a expresso wifi à percolateur quantique");
$computer = new computer($datas) // crée un instance de la classe avec ces données
$computer->insert_into_ldap(); // insère ce nouvel ordinateur dans le LDAP
 
$computer = new computer; // crée un objet computer vide
$computer->name = "obsolete"; 
if ($computer->is_in_ldap()) {  // teste la présence dans le LDAP
  $computer->remove_from_ldap(); // suprrime complétement l'entrée du LDAP correspondant
}
 
$computers_array = computer::read_computers();  // récupère tous les ordinateurs de la branche computer

QR Code
QR Code devel:specifications:dhcp (generated for current page)