Préambule

Avant d'installer le plugin, il faut définir le plan d'adressage de votre réseau et des domaines dont vous disposez.

Attention : il est beaucoup plus simple d'installer le plugin sur une installation fraîche de GLPI. Sinon, il risque d'y avoir des conflits ou des données non cohérentes dans la base de donnée.

Installation des logiciels

Système d'exploitation

Le système a été testé sous Ubuntu Precise Pengolin (12.04 LTS). Tous les packages sont ceux compris en standard dans le dépot officiel de cette distribution. Seul GLPI 0.84 et le plugin, non disponibles dans le dépot ont été directement téléchargés depuis le site officiel de GLPI.
Dans le cadre de la redondance, les deux machines sont équipés des mêmes OS et des mêmes packets.

  • Apache : 2.2.22
  • PHP : 5.3.10

MySQL

La version de MySQL utilisée est la 5.5.24. Nous ne présenterons pas son installation. Au demeurant, nous attirons votre attention sur le fait que ce plugin est un élément clef de la sécurité de votre réseau. Donc, il faut envisager de restreindre au maximum l'accès à cette base de donnée.

ISC-Bind (DNS)

Le plugin a été testé/validé sur deux serveurs ISC-Bind 9.8.1 redondants. La présente documentation ne portera pas sur l'explication de la redondance. Le lecteur pourra se reporter sur les nombreuses documentations sur une installation redondante de serveur DNS (cf. allow-transfer).

Seul le serveur maître contiendra les définitions de zones générées par GLPI. Les serveurs esclaves devront juste définir les zones gérées par GLPI en signalant qu'ils sont esclaves (cf. type slave).

ISC-DHCP (DHCP)

Le plugin a été testé/validé sur deux serveurs ISC-DHCP 4.1 redondants. La présente documentation ne portera pas sur l'explication de la redondance. Le lecteur pourra se reporter sur les documentations sur une installation redondante de serveur DHCP (cf. failover peer).

Le maître et les esclaves contiennent chacun un exemplaire des fichiers de définition des hôtes. GLPI ne prévoit aucun mécanisme pour envoyer les fichiers générés sur le maître vers esclaves. Au demeurant, il est possible d'executer un script à chaque fois que l'on génère le fichiers du serveur DHCP. Ce script peut donc automatiquement faire une copie et relancer le serveur esclave.

FreeRadius

Le plugin a été testé/validé sur un serveur FreeRadius 2.1.1 avec le module MySQL. Le lecteur pourra se reporter aux documentations sur Internet qui montrent l'installation de FreeRadius avec MySQL.

Attention : il faut que le serveur FreeRadius soit opérationnel avant d'activer le module radius du plugin. En effet, ce dernier ajoute des champs dans les tables du serveur Radius.

GLPI et le plugin

Comme tout plugin, il faut commencer par installer le plugin au bon endroit (cf. la page de présentation des plugins).
Ensuite, il faut l'activer (menu plugin => Install/Enable).

Attention : l'ensemble des fichiers et répertoires définis dans les différentes configurations doivent êtres accessibles en écriture pour l'utilisateur du serveur Apache. Le plugin créera les fichiers s'ils n'existent pas. En revanche, l'administrateur du système doit créer les répertoire avec les bons droits.

Pour des raisons de sécurité, il faut créer des répertoire spécifiques pour la destination des fichiers de GLPI. Sinon, la génération pourrait écraser des fichiers importants.

Configuration

La configuration du plugin se fait au travers des onglets IPAM dans la page de configuration générale de GLPI.

Configuration globale

L'onglet IPAM Configuration permet de définir les paramètres globaux du plugin.
La partie Monitoring (qui permet la délégation à des sous-entitées) n'est pas active.
Le module Radius n'est accessible que lorsque les informations de connexion à la base de donnée SQL du serveur Radius sont renseignées.
Pour les modules DNS et DHCP, on a le choix entre IPv4 et/ou IPv6.

DNS

  • Main configuration file of Bind9 : il s'agit du nom du fichier (en absolu) contenant l'ensemble des définitions des zones. Typiquement, ce fichier sera inclus à la fin du fichier /etc/bind/named.conf.
  • Script to launch for Bind9 to reload zones : c'est le nom du script à lancer après chaque génération de zone. GLPI-IPAM ajoute en paramètre du script, l'ensemble des zones qui ont changées. Ainsi, le script de lancement peut ressembler à :
    #!/bin/bash
    
    for i in $* ; do
        echo -n "zone $i : " 
        sudo /usr/sbin/rndc reload $i
    done
    

DHCP

Les parties IPv4 et IPv6 sont identiques. En effet, ISC-DHCP impose l'execution de deux instances du serveur, l'une pour IPv4 et l'autre pour IPv6. Donc, il faut dupliquer les configurations IPv4 et IPv6.

  • Main configuration file : il s'agit du nom du fichier (en absolu) contenant l'ensemble des définitions des hôtes. Typiquement, ce fichier sera inclus à la fin du fichier /etc/dhcp/dhcpd.conf ou /etc/dhcp/dhcpd-6.conf.
  • Directory for files : répertoire contenant les fichiers de définition des hôtes. C'est par exemple utilisé lorsque l'on souhaite avoir un fichier d'hôte par group.
  • Script to reload : script qui permet de relancer le serveur ISC-DHCP lorsque l'un des fichiers a été modifié. Ce script peut ressembler à (sous Ubuntu 12.04 LTS) :
    #!/bin/bash
    
    service isc-dhcp-server restart
    

Configuration globale d'IPAM/DNS

Ces paramètres sont ceux par défaut lorsqu'une zone ne les définit pas.
L'ensemble des informations temporelles peuvent être représentées sous forme numérique (en nombre de secondes) ou sous forme textuelle (1w 2d 3h 4m 5 = 1 semaine + 2 jours + 3 heures + 4 minutes + 5 secondes).

  • Destination path : c'est le répertoire de destination de la zone. Le fichier de zone correspondra au nom de la zone (éventuelle préfixé).
  • Time to live : c'est le paramètre TTL qui est présent en tête du fichier de zone (avant le SOA).
Ensuite viennent les paramètres du SAO (Start of Authority) :
  • Add in zone file header : faut-il intégrer le SOA dans le fichier de la zone ? Cela permet de définir des fichiers de zone nus pouvant être concaténés ;
  • Primary Name server : serveur d'autorité de la zone. Cette information peut être tronquée dans le fichier de zone si la zone correspond au domaine du serveur DNS.
  • Hostmaster mail : adresse e-mail de l'administrateur de la zone. Cette information peut être tronquée dans le fichier de zone si la zone correspond au domaine du serveur DNS.
  • Time to refresh, Time to retry, Time to expire, Minimum time to live : différents paramètre définissant la durée de vie des informations contenues dans la zone.

Configuration IPAM/Radius

  • Radius server host : nom de la machine hôte faisant tourner la base de donnée MySQL de FreeRadius ;
  • Radius SQL user : nom de l'utilisateur pour se connecter à la base de donnée MySQL de FreeRadius ;
  • Radius server password : mot de passe de l'utilisateur pour se connecter à la base de donnée MySQL de FreeRadius ;
  • Radius database name : nom de la base de donnée MySQL de FreeRadius ;