Bonjour à tous, aujourd’hui je souhaite vous partager une expérience que j’ai eue il y a quelques années. J’ai participé à la migration de l’infrastructure système d’une entreprise et nous en avons profité pour moderniser l’existant.

Dans le but de simplifier l’intégration d’un poste sur notre réseau et d’avoir un listing complet de nos équipements, j’ai proposé à mon collègue de mettre en place le service DHCP sur tous nos équipements finaux, filaires ou non. La problématique était que l’intégralité du réseau se trouvait en IP fixe. Nous avons choisi d’intégrer des réservations DHCP via un fichier csv en utilisant PowerShell.

Etape 1 : Création d’un script de scan IP

Pour scanner notre réseau, nous avons installé Fing sur un de nos serveurs ayant accès au VLAN visé. Ce logiciel peut être utilisé en ligne de commande offrant un plus haut niveau de personnalisation.
Pour que ce scanne opère de manière régulière, nous avons mis en place le script suivant dans une tache planifiée qui s’exécuterait toutes les heures.
Nous avons au préalable créé le dossier de destination c:\resultats_scans\

@echo off
echo scan VLAN 1
fing -n 10.100.1.0/24 -r 1 -o log,csv,c:\resultats_scans\scan_ip.csv

Cette commande a permis de scanner le réseau (ici 10.100.1.0/24) une seule fois, de logger les informations dans un fichier CSV et de compléter le fichier lors des itérations suivantes (option “log”).
Cette commande permet d’extraire le nom de l’hôte, l’adresse IP et l’adresse MAC dans un fichier csv.
Les ordinateurs n’étant pas tous allumés simultanément, nous avons mis cette commande dans une tâche planifiée qui s’exécuterait toutes les heures pendant 2 mois.

Etape 2 : Modification du csv

Le csv, tel qu’il est produit par Fing, n’est pas formaté proprement pour la commande PowerShell que nous allions utiliser.

2018/03/06 16:23:30;up;10.100.1.10;;SRV05;90:1B:0A:28:65:22;Fujitsu Technology Solutions 
2018/03/06 16:23:30;up;10.100.1.11;;SRV01.dom.local;03:0C:29:0A:79:7A;VMware 
2018/03/06 16:23:30;up;10.100.1.20;;SRV03.dom.local;03:50:56:86:78:F5;VMware

Il était donc nécessaire de baser notre formatage sur les paramètres demandés par la CMDLET PowerShell « Add-DhcpServerv4Reservation ». Les voici :

  • ScopeId (Identifiant du réseau)
  • IPAddress (adresse IP)
  • Name (nom d’hôte)
  • ClientId (adresse MAC de l’hôte)
  • Description

Il fallait donc formater notre csv de la façon décrite ci-dessous :

 

Les paramètres suivants étaient à respecter :

  • Les chaines de caractères devaient être séparées par des virgules
  • L’adresse MAC devait utiliser le format avec les tirets
Etape 3 : Création d’étendues DHCP

Avant d’intégrer nos réservations via PowerShell il fallait installer le rôle serveur DHCP et créer des étendues. Si vous avez pas installé le rôle DHCP, voici un article à ce sujet

La première étape était de créer une étendue nommée « vlan_1 » ayant pour plage 10.100.1.50 à 10.100.1.100, sur un masque 255.255.255.0.

Add-DhcpServerv4Scope -Name "vlan_1" -StartRange 10.100.1.50 -EndRange 10.100.1.100 -SubnetMask 255.255.255.0

Dans le but de sécuriser notre réseau toutes les adresses de l’étendue étaient bloquées par défaut:

Add-DHCPServerV4ExclusionRange -ScopeId 10.100.1.0 -StartRange 10.100.1.50 -EndRange 10.100.1.100

Nous avons définit la passerelle par défaut 10.100.1.254, grâce à l’option DHCP n°3 :

Set-DhcpServerv4OptionDefinition -OptionId 3 -DefaultValue 10.100.1.254

Puis nous avons fait de même avec le DNS correspondant à l’option n°6. J’ai choisi l’adresse de DNS 10.100.1.5.

Set-DhcpServerv4OptionDefinition -OptionId 6 -DefaultValue 10.100.1.5

Quant au suffixe DNS, correspondant au nom de domaine de l’entreprise, il correspond à l’option n°15. Dans l’exemple ci-dessous, je définis domaine.local.

Set-DhcpServerv4OptionDefinition -OptionId 15 -DefaultValue domaine.local

Enfin, pour finir, nous avons activé l’étendue que nous venions de configurer :

Set-DhcpServerv4Scope -ScopeId 10.100.1.0 -Name "vlan_1" -State Active
Etape 4 : Intégration des réservations

Une fois les étendues créées, nous avons utilisé une CMDLET PowerShell afin d’intégrer les paramètres présents dans le fichier csv.
Cette CMDLET PowerShell identifie l’étendue grâce à la colonne « ScopeID » :

Import-Csv –Path c:\resultats_scans\reservations.csv | Add-DhcpServerv4Reservation -ComputerName serveur.domaine.local

Voici le résultat sur notre serveur de production :

 

 

Vous souhaitez naviguer sur internet sans pub et avoir un navigateur qui respecte mieux votre vie privée ? Passez à Brave! Non seulement vous naviguerez sur un web moins pollué, mais vous continuerez à soutenir les créateurs de contenus avec Brave Rewards.

En savoir plus

 
Catégories : Windows Server

0 commentaire

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

%d blogueurs aiment cette page :