Ce billet décrit les manipulations que j'effectue pour "Actualiser les données" du serveur DHCP du site.
Elles sont, en particulier, nécessaire lorsque des postes de travail sont ajoutés ou retirés du réseau local. En effet, mon organisation s'appuie sur un adressage dynamique avec réservations d'adresse.  Je dois donc indiquer au serveur quelle adresse distribuer à la machine qui l'interroge. Si cette indication n'existe pas dans le serveur, celui-ci donnera la 1ère adresse disponible.

L'intérêt de la réservation est qu'un poste de travail reçoit toujours la même adresse IP du serveur DHCP. L'utilisation d'outils de prise en main à distance (VNC - RDP) est donc facilitée car le plan d'adressage est bien mis en place.

La plupart des manipulations sont effectuées sous PowerShell ISE exécuté en mode administrateur


 

Ce billet s'articule en 3 parties :

  1. Présentation succnite du DHCP (en cours d'écriture)
  2. Transformer une adresse dynamique en adresse réservée
  3. Réserver une adresse

Un exemple de plan d'adressage IP


Utilisation des deux derniers octets !

3ème octet :

Centaine : 1 pour le bâtiment A, 2 pour le bâtiment B , 0 pour les postes isolés.
Dizaine : 0 pour RDC, 1 pour 1er, 2 pour 2eme, 3 pour le 3eme , 5 pour les postes isolés....
Unité : Rang de la salle ou étage pour les postes isolés

4ème octet :

Le n° du poste (de 1 à 18 ou les deux derniers chiffres du n° de la salle pour les postes isolés).
Valeur à 253 : Imprimante N&B
Valeur à 252 : Imprimante Couleur

Exemples :

172.16. 223.16 ===> 16ème poste de la 3eme salle info au 2 étage du bat B
172.16.132.2 ===> 2ème poste de la 2eme salle info au 3 étage du bat A
172.16.52.9 ===> poste isolé de la salle d209

Transformer une adresse dynamique en adresse réservée

Le script "powershell"  affiché dans l'image ci-dessus et commenté dans cette partie peut être copier/coller à partir de la zone ci-dessous
NB : Penser à lancer Powershell ISE en mode administrateur ; à adapter le contenu de la variable $Server à votre cas ; à préparer le fichier "lease.csv"

la ligne 1 place dans la variable $server le nom du serveur DHCP du réseau local;
la ligne 2 place dans la variable $csvImport le contenu du fichier "lease.csv"

la ligne 3 se traduit ainsi

  • chaque ligne du fichier "lease.csv" est "placée dans $item
  • et pour chacune des lignes effectuer les actions placées entre les accolades { }

la ligne 8 récupère les informations contenues sur le serveur pour l'IP IPOld (donc attribuées dynamiquement) et ajoute la réservation IPNew en lui affectant les informations récupérés ( nom, description, adresse MAC...)
la ligne 9 envoie sur le terminal la trace de l'action effectuée

Le texte qui apparaît en rouge dans le terminal de la même image s'affiche si la réservation existe déjà sur le serveur. Il faut donc, lors de la réalisation du fichier "lease.csv," vérifier que les adresses de réservation soient bien disponibles. Par exemple, le poste de travail associé à cette réservation a été remplacé, il faut donc supprimer la réservation existante avant de lancer le script.

Ci-dessous le fichier lease.csv utilisé pour la réalisation de l'image.

IPLease,  IPResa
10.175.1.30,  10.175.50.21
10.175.1.56,  10.175.50.24

Dans la 1ère ligne figurent les entêtes des colonnes (séparées par une virgule) et qui permettent le placement dans les variables respectives $IPLease et £IPResa des lignes 5 et 6 du script.
Dans les 2ème ligne et suivantes figure l'IP dynamique à remplacer (10.175.1.30 par exemple) par la réservation (10.175.50.21 respectivement).

NB : vous pouvez utiliser  OpenOffice.Calc pour réaliser un classeur contenant les 2 colonnes intitulées IPLease et IPResa et enregistrer le tout au format csv

Créer des réservations

Le script "powershell" à utiliser, et qui peut être copier depuis la zone ci-dessous,  se résume à :

Import-Csv -Path "Reservations.csv" | Add-DhcpServerv4Reservation -ComputerName "g2017.lurcat.lan"

  • reservations.csv est un fichier au format csv qui contient la liste des réservations à créer. Un exemple figure ci-dessous
  • "g2017.lurcat.lan" est à remplacer par le nom de votre serveur DHCP

Ci dessous le fichier reservation;csv

ScopeId,IPAddress,Name,ClientID
172.16.0.0,172.16.51.3,nipat-BC19-d103.lurcat.lan,64:51:06:52:33:99
172.16.0.0,172.16.51.4,nipat-BC19-d104.lurcat.lan,64:51:06:52:4c:a2
172.16.0.0,172.16.52.3,nipat-BC19-d203.lurcat.lan,8c:dc:d4:21:01:b9
172.16.0.0,172.16.52.4,nipat-BC19-d204.lurcat.lan,64:51:06:52:4c:b3
172.16.0.0,172.16.52.5,nipat-BC19-d205.lurcat.lan,64:51:06:60:1c:e4
172.16.0.0,172.16.52.6,nipat-BC19-d206.lurcat.lan,64:51:06:50:ff:6f
172.16.0.0,172.16.52.7,nipat-BC19-d207.lurcat.lan,64:51:06:51:14:9f
172.16.0.0,172.16.52.8,nipat-BC19-d208.lurcat.lan,64:51:06:52:33:9a

La 1ère ligne contient les entêtes des colonnes ( les noms sont imposés pr l'applet Add-DhcpServerv4Reservation).
ScopeID i
dentifie l'étendue du serveur DHCP qui recevra les réservations;

IPAddress est l'IP à réserver pour la machine Name ayant pour adresse MAC ClientID