Administration Système et Infrastructure

Configuration réseau sous Windows Server

PowerShell est l'outil de référence pour configurer le réseau de Windows Server, en particulier en version Core. Adressage, DNS, agrégation, profils et pare-feu : les commandes essentielles et les bonnes pratiques.

Console PowerShell configurant l'adresse IP et le pare-feu d'un serveur Windows

L'interface graphique de Windows Server permet de configurer une carte réseau, mais PowerShell est l'outil de référence : il fonctionne sur les installations Server Core sans interface, se scripte, se documente et s'exécute à distance. Les modules NetTCPIP, NetAdapter, DnsClient et NetSecurity couvrent l'essentiel des besoins.

Objectif : configurer l'adressage, le DNS, l'agrégation de cartes et le pare-feu d'un serveur Windows, puis diagnostiquer les problèmes courants. Les exemples s'appliquent à Windows Server 2019, 2022 et 2025.

Inventorier les cartes réseau

Get-NetAdapter | Format-Table Name, InterfaceDescription, Status, LinkSpeed, MacAddress
Get-NetIPConfiguration
Get-NetIPAddress -AddressFamily IPv4 | Format-Table InterfaceAlias, IPAddress, PrefixLength, PrefixOrigin

Commencez par renommer les cartes de façon explicite : cela rend les scripts et la documentation lisibles.

Rename-NetAdapter -Name "Ethernet" -NewName "LAN-Production"
Rename-NetAdapter -Name "Ethernet 2" -NewName "LAN-Sauvegarde"

Configurer une adresse statique

Un serveur d'infrastructure (contrôleur de domaine, DHCP, DNS) doit avoir une adresse fixe.

# Désactiver DHCP et supprimer l'éventuelle configuration existante
Set-NetIPInterface -InterfaceAlias "LAN-Production" -Dhcp Disabled
Remove-NetIPAddress -InterfaceAlias "LAN-Production" -AddressFamily IPv4 -Confirm:$false -ErrorAction SilentlyContinue
Remove-NetRoute -InterfaceAlias "LAN-Production" -DestinationPrefix 0.0.0.0/0 -Confirm:$false -ErrorAction SilentlyContinue

# Nouvelle adresse et passerelle
New-NetIPAddress -InterfaceAlias "LAN-Production" -IPAddress 10.10.20.10 -PrefixLength 24 -DefaultGateway 10.10.20.1

# Serveurs DNS
Set-DnsClientServerAddress -InterfaceAlias "LAN-Production" -ServerAddresses 10.10.20.11, 10.10.20.10

New-NetIPAddress échoue si une passerelle par défaut existe déjà sur l'interface : d'où la suppression préalable de la route 0.0.0.0/0.

Une seule passerelle par défaut : sur un serveur à plusieurs cartes, seule la carte « principale » doit en avoir une. Les autres réseaux (sauvegarde, stockage) sont joints par des routes spécifiques :

New-NetRoute -DestinationPrefix 10.60.0.0/16 -InterfaceAlias "LAN-Sauvegarde" -NextHop 10.30.0.1

Ordre et inscription DNS

  • Sur un contrôleur de domaine, les recommandations Microsoft sont claires : le serveur DNS principal doit être un autre contrôleur de domaine, l'adresse de bouclage ou la propre adresse du serveur venant en second. Voir DNS sous Windows Server et intégration à Active Directory.
  • Sur les cartes secondaires (sauvegarde, stockage, iSCSI), désactivez l'inscription DNS pour éviter que des adresses non joignables soient publiées :
Set-DnsClient -InterfaceAlias "LAN-Sauvegarde" -RegisterThisConnectionsAddress $false

Les profils réseau

Windows associe chaque connexion à un profil — Domaine, Privé ou Public — qui détermine les règles de pare-feu appliquées. Un serveur membre d'un domaine qui détecte son contrôleur doit être en profil DomainAuthenticated.

Get-NetConnectionProfile

Si un serveur reste en profil Public alors qu'il est dans le domaine, vérifiez la résolution DNS du domaine et la joignabilité des contrôleurs ; le service Connaissance des emplacements réseau (NlaSvc) peut aussi être redémarré après correction.

Agrégation de cartes : NIC Teaming et SET

Deux technologies coexistent :

  • NIC Teaming (LBFO) : agrégation classique, configurable avec New-NetLbfoTeam. Microsoft déconseille son usage avec Hyper-V : à partir de Windows Server 2022, la création d'un commutateur virtuel sur une équipe LBFO est bloquée par défaut.
  • SET (Switch Embedded Teaming) : agrégation intégrée au commutateur virtuel Hyper-V, recommandée pour les hôtes de virtualisation.
# Équipe LBFO pour un serveur physique non Hyper-V (mode indépendant du commutateur)
New-NetLbfoTeam -Name "Equipe-LAN" -TeamMembers "NIC1","NIC2" -TeamingMode SwitchIndependent -LoadBalancingAlgorithm Dynamic

# Commutateur virtuel Hyper-V avec SET
New-VMSwitch -Name "vSwitch-SET" -NetAdapterName "NIC1","NIC2" -EnableEmbeddedTeaming $true -AllowManagementOS $true

Le mode SwitchIndependent ne nécessite aucune configuration du commutateur physique ; le mode LACP exige un agrégat LACP côté commutateur.

Pare-feu Windows Defender

Get-NetFirewallProfile | Format-Table Name, Enabled, DefaultInboundAction, DefaultOutboundAction

# Autoriser un service web depuis tous les réseaux
New-NetFirewallRule -DisplayName "HTTPS entrant" -Direction Inbound -Protocol TCP -LocalPort 443 -Action Allow -Profile Domain

# Autoriser le Bureau à distance uniquement depuis le réseau d'administration
New-NetFirewallRule -DisplayName "RDP admin" -Direction Inbound -Protocol TCP -LocalPort 3389 `
  -RemoteAddress 10.10.99.0/24 -Action Allow -Profile Domain

# Autoriser le ping (ICMPv4 Echo Request) pour le diagnostic interne
New-NetFirewallRule -DisplayName "ICMPv4 Echo" -Protocol ICMPv4 -IcmpType 8 -Direction Inbound -Action Allow -RemoteAddress 10.10.0.0/16

Ne désactivez pas le pare-feu pour « résoudre » un problème : créez la règle précise nécessaire. En environnement de domaine, gérez ces règles par stratégie de groupe pour garantir leur cohérence.

Diagnostiquer

Test-Connection 10.10.20.1 -Count 4
Test-NetConnection srv-app01 -Port 443 -InformationLevel Detailed
Test-NetConnection 203.0.113.10 -TraceRoute
Resolve-DnsName srv-app01.exemple.local
Get-NetRoute -AddressFamily IPv4 | Sort-Object RouteMetric
Get-NetTCPConnection -State Listen | Sort-Object LocalPort
Get-NetAdapterStatistics -Name "LAN-Production"

Les commandes historiques restent disponibles et utiles : ipconfig /all, ipconfig /flushdns, route print, arp -a, netstat -ano, pathping.

Pour une capture de paquets sans logiciel supplémentaire, Windows intègre pktmon :

pktmon start --capture --pkt-size 0 -f C:\Temp\capture.etl
# ... reproduire le problème ...
pktmon stop
pktmon etl2pcap C:\Temp\capture.etl -o C:\Temp\capture.pcapng

Le fichier .pcapng s'ouvre dans Wireshark.

Administration à distance

Enter-PSSession -ComputerName srv-core01
Invoke-Command -ComputerName srv-core01, srv-core02 -ScriptBlock { Get-NetIPConfiguration }

PowerShell Remoting utilise WinRM (TCP 5985 en HTTP, 5986 en HTTPS) ; dans un domaine, l'authentification Kerberos chiffre les échanges même en HTTP. Limitez l'accès WinRM au réseau d'administration.

Erreurs courantes

  • Plusieurs passerelles par défaut sur un serveur multi-cartes.
  • Un contrôleur de domaine pointant vers un DNS public.
  • Inscription DNS active sur les cartes de stockage ou de sauvegarde.
  • Désactiver le pare-feu au lieu de créer une règle.
  • Créer un commutateur Hyper-V sur une équipe LBFO au lieu d'utiliser SET.

Implications de sécurité

Restreignez RDP, WinRM et SMB au réseau d'administration, imposez l'authentification au niveau du réseau (NLA) pour RDP, désactivez SMBv1 et les protocoles hérités (LLMNR, NetBIOS sur TCP/IP) lorsqu'ils ne sont pas nécessaires, et centralisez les règles de pare-feu par stratégie de groupe. Ces mesures figurent dans les guides de durcissement de Microsoft et de l'ANSSI.

Conclusion

PowerShell permet de configurer un serveur Windows de manière reproductible : renommage des cartes, adresse statique, DNS adapté au rôle, une seule passerelle, agrégation adaptée et pare-feu précis. Pour la mise en place de services d'infrastructure, poursuivez avec Installation et configuration d'un serveur DHCP.

Références