Guide d'Activation d'ICMP (Ping) sur VPS Windows
Published on November 11, 2025 at 02:56 PM

Guide complet d'activation du protocole ICMP (ping) sur VPS Windows via le Pare-feu Windows Defender. Ce tutoriel détaille l'activation via l'interface graphique et PowerShell, la création de règles personnalisées pour IPv4/IPv6, la restriction par IP, et les cas d'usage spécifiques (monitoring, VPN, réseau interne)
# Guide d'Activation d'ICMP (Ping) sur VPS Windows
## Introduction
ICMP (Internet Control Message Protocol) est un protocole réseau essentiel qui permet de diagnostiquer les problèmes de connectivité. La fonction la plus connue d'ICMP est la commande **ping**, qui permet de vérifier si un serveur est accessible sur le réseau.
Par défaut, Windows Server bloque les requêtes ICMP entrantes par mesure de sécurité. Ce guide vous montre comment activer ICMP sur votre VPS Windows.
## Qu'est-ce qu'ICMP ?
ICMP est utilisé pour :
- **Ping** : Vérifier la disponibilité d'un serveur
- **Traceroute** : Tracer le chemin réseau vers une destination
- **Diagnostics réseau** : Identifier les problèmes de connectivité
- **Messages d'erreur** : Signaler les problèmes de routage
### Pourquoi ICMP est-il Bloqué par Défaut ?
Windows Server bloque ICMP pour :
- Prévenir les attaques DDoS par ping flood
- Masquer la présence du serveur aux scanners
- Réduire la surface d'attaque
### Quand Activer ICMP ?
Activez ICMP si vous avez besoin de :
- Monitorer la disponibilité du serveur
- Diagnostiquer les problèmes réseau
- Utiliser des outils de surveillance (Nagios, Zabbix, etc.)
- Tester la connectivité facilement
## Partie 1 : Activation via l'Interface Graphique
### Méthode 1 : Via le Pare-feu Windows Defender
#### Étape 1 : Ouvrir le Pare-feu Windows
1. Appuyez sur `Windows + R`
2. Tapez : `wf.msc`
3. Appuyez sur **Entrée**
Vous ouvrez **Pare-feu Windows Defender avec fonctions avancées de sécurité**.
#### Étape 2 : Activer la Règle ICMP Existante
Windows a déjà des règles ICMP préconfigurées, il suffit de les activer.
1. Dans le panneau de gauche, cliquez sur **Règles de trafic entrant**
2. Cherchez les règles suivantes :
- **Partage de fichiers et d'imprimantes (Demande d'écho - Trafic entrant IPv4)**
- **Partage de fichiers et d'imprimantes (Demande d'écho - Trafic entrant IPv6)**
3. Pour chaque règle :
- Faites un **clic droit** sur la règle
- Sélectionnez **Activer la règle**
- La règle devient verte (activée)
4. Vous pouvez également double-cliquer sur la règle pour voir ses paramètres :
- Vérifiez que **Action** est sur **Autoriser la connexion**
- Vérifiez que les profils sont cochés (Domaine, Privé, Public)
#### Étape 3 : Vérification
Testez depuis un autre PC :
```cmd
ping VOTRE_IP_VPS
```
Vous devriez recevoir des réponses :
```
Réponse de VOTRE_IP_VPS : octets=32 temps=15ms TTL=128
```
### Méthode 2 : Créer une Nouvelle Règle ICMP
Si les règles préconfigurées n'existent pas ou ne fonctionnent pas :
#### Étape 1 : Créer une Règle Personnalisée
1. Dans le Pare-feu Windows, cliquez sur **Règles de trafic entrant**
2. Dans le panneau de droite, cliquez sur **Nouvelle règle...**
3. **Type de règle** :
- Sélectionnez **Personnalisée**
- Cliquez sur **Suivant**
4. **Programme** :
- Sélectionnez **Tous les programmes**
- Cliquez sur **Suivant**
5. **Protocole et ports** :
- **Type de protocole** : Sélectionnez **ICMPv4**
- Cliquez sur **Personnaliser**
- Sélectionnez **Types ICMP spécifiques**
- Cochez **Demande d'écho**
- Cliquez sur **OK**
- Cliquez sur **Suivant**
6. **Étendue** :
- **Adresses IP locales** : Toute adresse IP
- **Adresses IP distantes** : Toute adresse IP (ou spécifiez des IPs)
- Cliquez sur **Suivant**
7. **Action** :
- Sélectionnez **Autoriser la connexion**
- Cliquez sur **Suivant**
8. **Profil** :
- Cochez :
- ☑ Domaine
- ☑ Privé
- ☑ Public
- Cliquez sur **Suivant**
9. **Nom** :
- **Nom** : ICMP Echo Request (Ping)
- **Description** : Autoriser les requêtes ping entrantes
- Cliquez sur **Terminer**
#### Étape 2 : Répéter pour IPv6 (Optionnel)
Si vous utilisez IPv6, créez une règle similaire avec **ICMPv6**.
## Partie 2 : Activation via PowerShell
PowerShell offre une méthode rapide et automatisable pour activer ICMP.
### Ouvrir PowerShell en Administrateur
1. Cliquez sur **Démarrer**
2. Tapez **PowerShell**
3. Faites un clic droit sur **Windows PowerShell**
4. Sélectionnez **Exécuter en tant qu'administrateur**
### Commandes d'Activation
#### Activer les Règles ICMP Préconfigurées
```powershell
# Activer ICMP pour IPv4
Enable-NetFirewallRule -DisplayName "Partage de fichiers et d'imprimantes (Demande d'écho - Trafic entrant IPv4)"
# Activer ICMP pour IPv6
Enable-NetFirewallRule -DisplayName "Partage de fichiers et d'imprimantes (Demande d'écho - Trafic entrant IPv6)"
```
#### Créer une Nouvelle Règle ICMP
Si les règles n'existent pas :
**Pour IPv4** :
```powershell
New-NetFirewallRule -DisplayName "ICMP Allow incoming V4 echo request" -Protocol ICMPv4 -IcmpType 8 -Direction Inbound -Action Allow
```
**Pour IPv6** :
```powershell
New-NetFirewallRule -DisplayName "ICMP Allow incoming V6 echo request" -Protocol ICMPv6 -IcmpType 128 -Direction Inbound -Action Allow
```
#### Activer ICMP pour Tous les Profils
```powershell
New-NetFirewallRule -DisplayName "Allow ICMP Ping" -Direction Inbound -Protocol ICMPv4 -IcmpType 8 -Action Allow -Profile Any
```
### Commandes de Vérification
#### Vérifier que la Règle est Activée
```powershell
Get-NetFirewallRule -DisplayName "*echo*" | Select-Object DisplayName, Enabled, Direction, Action
```
Vous devriez voir :
```
DisplayName Enabled Direction Action
----------- ------- --------- ------
Partage de fichiers et d'imprimantes (Demande d'écho - ...) True Inbound Allow
```
#### Lister Toutes les Règles ICMP
```powershell
Get-NetFirewallRule | Where-Object {$_.DisplayName -like "*ICMP*"} | Format-Table DisplayName, Enabled, Action
```
## Partie 3 : Activation via CMD (Netsh)
Une méthode alternative avec l'outil netsh.
### Ouvrir CMD en Administrateur
1. Cliquez sur **Démarrer**
2. Tapez **cmd**
3. Faites un clic droit sur **Invite de commandes**
4. Sélectionnez **Exécuter en tant qu'administrateur**
### Commandes Netsh
#### Activer ICMP pour IPv4
```cmd
netsh advfirewall firewall add rule name="ICMP Allow incoming V4 echo request" protocol=icmpv4:8,any dir=in action=allow
```
#### Activer ICMP pour IPv6
```cmd
netsh advfirewall firewall add rule name="ICMP Allow incoming V6 echo request" protocol=icmpv6:128,any dir=in action=allow
```
#### Activer pour Tous les Profils
```cmd
netsh advfirewall firewall add rule name="All ICMP V4" protocol=icmpv4:any,any dir=in action=allow
```
### Vérifier les Règles Netsh
```cmd
netsh advfirewall firewall show rule name=all | findstr ICMP
```
## Partie 4 : Configuration Avancée
### Autoriser ICMP Uniquement pour Certaines IPs
Pour des raisons de sécurité, vous pouvez limiter les pings à certaines adresses IP.
#### Via PowerShell
```powershell
New-NetFirewallRule -DisplayName "ICMP from Monitoring Server" -Protocol ICMPv4 -IcmpType 8 -Direction Inbound -Action Allow -RemoteAddress 203.0.113.10,198.51.100.20
```
#### Via l'Interface Graphique
1. Créez une règle ICMP comme décrit précédemment
2. À l'étape **Étendue** :
- **Adresses IP distantes** : Sélectionnez **Ces adresses IP**
- Cliquez sur **Ajouter**
- Entrez les adresses IP autorisées
- Cliquez sur **OK**
### Limiter ICMP à Certains Profils Réseau
Pour autoriser ICMP uniquement sur le réseau privé :
```powershell
New-NetFirewallRule -DisplayName "ICMP Private Only" -Protocol ICMPv4 -IcmpType 8 -Direction Inbound -Action Allow -Profile Private
```
### Types ICMP Disponibles
#### Types ICMPv4
- **Type 0** : Echo Reply (réponse au ping)
- **Type 3** : Destination Unreachable
- **Type 5** : Redirect
- **Type 8** : Echo Request (ping)
- **Type 11** : Time Exceeded
- **Type 12** : Parameter Problem
#### Types ICMPv6
- **Type 1** : Destination Unreachable
- **Type 2** : Packet Too Big
- **Type 3** : Time Exceeded
- **Type 128** : Echo Request (ping)
- **Type 129** : Echo Reply
### Autoriser Tous les Types ICMP (Non Recommandé)
```powershell
New-NetFirewallRule -DisplayName "All ICMP Types" -Protocol ICMPv4 -Direction Inbound -Action Allow
```
**Attention** : Autoriser tous les types ICMP peut exposer votre serveur à certaines attaques.
## Partie 5 : Test et Vérification
### Test depuis Windows Local
Ouvrez **CMD** ou **PowerShell** :
```cmd
ping VOTRE_IP_VPS
```
**Résultat attendu** :
```
Envoi d'une requête 'ping' sur VOTRE_IP_VPS avec 32 octets de données :
Réponse de VOTRE_IP_VPS : octets=32 temps=15ms TTL=128
Réponse de VOTRE_IP_VPS : octets=32 temps=14ms TTL=128
Réponse de VOTRE_IP_VPS : octets=32 temps=16ms TTL=128
Réponse de VOTRE_IP_VPS : octets=32 temps=15ms TTL=128
Statistiques Ping pour VOTRE_IP_VPS:
Paquets : envoyés = 4, reçus = 4, perdus = 0 (perte 0%),
Durée approximative des boucles en millisecondes :
Minimum = 14ms, Maximum = 16ms, Moyenne = 15ms
```
### Test depuis Linux/Mac
```bash
ping VOTRE_IP_VPS
```
**Résultat attendu** :
```
PING VOTRE_IP_VPS (123.45.67.89): 56 data bytes
64 bytes from 123.45.67.89: icmp_seq=0 ttl=128 time=15.2 ms
64 bytes from 123.45.67.89: icmp_seq=1 ttl=128 time=14.8 ms
64 bytes from 123.45.67.89: icmp_seq=2 ttl=128 time=15.5 ms
```
### Test via Outils en Ligne
Utilisez ces services pour tester depuis l'extérieur :
- **Ping.eu** : https://ping.eu/ping/
- **Site24x7** : https://www.site24x7.com/tools/ping-test.html
- **Uptrends** : https://www.uptrends.com/tools/uptime
1. Entrez votre **IP VPS**
2. Cliquez sur **Ping** ou **Test**
3. Vérifiez les résultats
### Vérifier la Règle dans le Pare-feu
#### Via PowerShell
```powershell
Get-NetFirewallRule | Where-Object {$_.DisplayName -like "*ICMP*" -or $_.DisplayName -like "*echo*"} | Select-Object DisplayName, Enabled, Direction, Action | Format-Table
```
#### Via l'Interface Graphique
1. Ouvrez le Pare-feu Windows (`wf.msc`)
2. Allez dans **Règles de trafic entrant**
3. Cherchez les règles ICMP
4. Vérifiez qu'elles sont **activées** (icône verte)
## Partie 6 : Désactivation d'ICMP
Si vous souhaitez désactiver ICMP ultérieurement :
### Via PowerShell
```powershell
# Désactiver les règles préconfigurées
Disable-NetFirewallRule -DisplayName "Partage de fichiers et d'imprimantes (Demande d'écho - Trafic entrant IPv4)"
Disable-NetFirewallRule -DisplayName "Partage de fichiers et d'imprimantes (Demande d'écho - Trafic entrant IPv6)"
# Ou supprimer les règles personnalisées
Remove-NetFirewallRule -DisplayName "ICMP Allow incoming V4 echo request"
```
### Via l'Interface Graphique
1. Ouvrez le Pare-feu Windows
2. Allez dans **Règles de trafic entrant**
3. Trouvez les règles ICMP
4. Faites un **clic droit** > **Désactiver la règle**
Ou :
4. Faites un **clic droit** > **Supprimer**
### Via CMD (Netsh)
```cmd
netsh advfirewall firewall delete rule name="ICMP Allow incoming V4 echo request"
```
## Partie 7 : Sécurité et Bonnes Pratiques
### Risques de Sécurité
Activer ICMP peut exposer votre serveur à :
1. **Ping Flood (DDoS)**
- Attaque par saturation de requêtes ping
- Peut ralentir ou bloquer le serveur
2. **Reconnaissance Réseau**
- Les attaquants peuvent identifier les serveurs actifs
- Facilite le scanning de réseau
3. **Fuites d'Information**
- Le TTL et temps de réponse peuvent révéler l'OS
- Peut aider à la cartographie réseau
### Recommandations de Sécurité
#### 1. Limiter par IP
Autorisez uniquement les IPs de confiance :
```powershell
New-NetFirewallRule -DisplayName "ICMP Monitoring Only" -Protocol ICMPv4 -IcmpType 8 -Direction Inbound -Action Allow -RemoteAddress 203.0.113.10
```
#### 2. Utiliser des Profils Réseau
N'activez ICMP que sur les réseaux privés :
```powershell
New-NetFirewallRule -DisplayName "ICMP Private Network" -Protocol ICMPv4 -IcmpType 8 -Direction Inbound -Action Allow -Profile Private
```
#### 3. Activer la Journalisation
Pour surveiller les requêtes ICMP :
1. Ouvrez **Pare-feu Windows avec fonctions avancées**
2. Cliquez droit sur **Pare-feu Windows Defender**
3. Sélectionnez **Propriétés**
4. Dans chaque profil, **Journalisation** > **Personnaliser**
5. Activez **Enregistrer les connexions réussies**
#### 4. Rate Limiting (Limiter le Débit)
Windows n'a pas de rate limiting natif pour ICMP, mais vous pouvez :
- Utiliser des outils tiers
- Configurer le routeur/pare-feu matériel
- Utiliser Windows Defender Advanced Threat Protection
#### 5. Surveillance Active
Surveillez les logs pour détecter :
- Nombre anormal de requêtes ping
- Requêtes depuis des IPs suspectes
- Patterns d'attaque
### Configuration Recommandée pour Production
Pour un serveur de production :
```powershell
# Autoriser ICMP uniquement depuis le réseau de monitoring
New-NetFirewallRule -DisplayName "ICMP from Monitoring" `
-Protocol ICMPv4 `
-IcmpType 8 `
-Direction Inbound `
-Action Allow `
-RemoteAddress 10.0.0.0/8,172.16.0.0/12,192.168.0.0/16 `
-Profile Private,Domain
# Bloquer ICMP depuis Internet (profil Public)
New-NetFirewallRule -DisplayName "Block ICMP Public" `
-Protocol ICMPv4 `
-IcmpType 8 `
-Direction Inbound `
-Action Block `
-Profile Public
```
## Partie 8 : Dépannage
### ICMP ne Fonctionne Toujours Pas
**Vérifications** :
#### 1. Vérifier que les Règles sont Activées
```powershell
Get-NetFirewallRule -DisplayName "*echo*" | Select-Object DisplayName, Enabled
```
Assurez-vous que `Enabled` est `True`.
#### 2. Vérifier le Service de Pare-feu
```powershell
Get-Service mpssvc
```
Le service doit être **Running**. Si non :
```powershell
Start-Service mpssvc
```
#### 3. Vérifier les Profils Réseau
```powershell
Get-NetFirewallProfile | Select-Object Name, Enabled
```
Les profils doivent être activés.
#### 4. Pare-feu de l'Hébergeur
Certains hébergeurs VPS ont leur propre pare-feu :
- Vérifiez le panneau de contrôle de l'hébergeur
- Autorisez ICMP dans le pare-feu externe
#### 5. Règles Contradictoires
Vérifiez qu'il n'y a pas de règle qui bloque ICMP :
```powershell
Get-NetFirewallRule | Where-Object {$_.DisplayName -like "*ICMP*" -and $_.Action -eq "Block"}
```
Si une règle bloque, désactivez-la :
```powershell
Disable-NetFirewallRule -DisplayName "Nom de la Règle"
```
### Ping Fonctionne en Local mais pas depuis l'Extérieur
**Causes possibles** :
1. **Pare-feu de l'hébergeur**
- Solution : Configurez le pare-feu dans le panel de l'hébergeur
2. **NAT/Routeur**
- Solution : Vérifiez la configuration du routeur
3. **Profil réseau incorrect**
- Solution : Vérifiez que la règle s'applique au profil Public
### Réponses ICMP Lentes
**Causes possibles** :
1. **Latence réseau élevée**
- Normal si le serveur est géographiquement éloigné
2. **Charge serveur élevée**
- Vérifiez l'utilisation CPU/RAM
3. **Problème réseau**
- Testez avec `tracert VOTRE_IP_VPS` pour voir le chemin
## Partie 9 : Scripts Automatisés
### Script PowerShell Complet
Créez un fichier `enable-icmp.ps1` :
```powershell
# Script d'activation ICMP pour Windows Server
# Auteur : VeryCloud
# Date : 2024
Write-Host "=== Activation d'ICMP sur Windows Server ===" -ForegroundColor Cyan
Write-Host ""
# Vérifier les privilèges administrateur
if (-NOT ([Security.Principal.WindowsPrincipal][Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole] "Administrator")) {
Write-Host "ERREUR : Ce script doit être exécuté en tant qu'administrateur!" -ForegroundColor Red
exit
}
# Fonction pour créer une règle ICMP
function Enable-ICMPRule {
param(
[string]$DisplayName,
[string]$Protocol,
[int]$IcmpType
)
$existingRule = Get-NetFirewallRule -DisplayName $DisplayName -ErrorAction SilentlyContinue
if ($existingRule) {
Write-Host "Activation de la règle existante : $DisplayName" -ForegroundColor Yellow
Enable-NetFirewallRule -DisplayName $DisplayName
} else {
Write-Host "Création de la nouvelle règle : $DisplayName" -ForegroundColor Green
New-NetFirewallRule -DisplayName $DisplayName `
-Protocol $Protocol `
-IcmpType $IcmpType `
-Direction Inbound `
-Action Allow `
-Profile Any
}
}
# Activer ICMP pour IPv4
Enable-ICMPRule -DisplayName "ICMP Echo Request IPv4" -Protocol "ICMPv4" -IcmpType 8
# Activer ICMP pour IPv6
Enable-ICMPRule -DisplayName "ICMP Echo Request IPv6" -Protocol "ICMPv6" -IcmpType 128
Write-Host ""
Write-Host "=== Vérification des règles ICMP ===" -ForegroundColor Cyan
Get-NetFirewallRule | Where-Object {$_.DisplayName -like "*ICMP*" -or $_.DisplayName -like "*echo*"} | Select-Object DisplayName, Enabled, Action | Format-Table
Write-Host ""
Write-Host "ICMP activé avec succès!" -ForegroundColor Green
Write-Host "Testez avec : ping $env:COMPUTERNAME" -ForegroundColor Cyan
```
Exécutez-le :
```powershell
.\enable-icmp.ps1
```
### Script pour Désactiver ICMP
Créez `disable-icmp.ps1` :
```powershell
# Script de désactivation ICMP
Write-Host "Désactivation d'ICMP..." -ForegroundColor Yellow
# Désactiver toutes les règles ICMP
Get-NetFirewallRule | Where-Object {$_.DisplayName -like "*ICMP*" -or $_.DisplayName -like "*echo*"} | Disable-NetFirewallRule
Write-Host "ICMP désactivé!" -ForegroundColor Green
```
## Partie 10 : Cas d'Usage Spécifiques
### Pour Serveurs de Monitoring
Si vous utilisez des outils de monitoring (Nagios, Zabbix, PRTG) :
```powershell
# Autoriser ICMP uniquement depuis les serveurs de monitoring
$monitoringServers = @("10.0.0.50", "10.0.0.51", "10.0.0.52")
New-NetFirewallRule -DisplayName "ICMP from Monitoring Servers" `
-Protocol ICMPv4 `
-IcmpType 8 `
-Direction Inbound `
-Action Allow `
-RemoteAddress $monitoringServers
```
### Pour Réseau Interne Uniquement
```powershell
# Autoriser ICMP uniquement depuis le réseau local
New-NetFirewallRule -DisplayName "ICMP LAN Only" `
-Protocol ICMPv4 `
-IcmpType 8 `
-Direction Inbound `
-Action Allow `
-RemoteAddress 192.168.0.0/16,10.0.0.0/8
```
### Pour VPN Uniquement
```powershell
# Autoriser ICMP uniquement depuis l'interface VPN
New-NetFirewallRule -DisplayName "ICMP VPN Only" `
-Protocol ICMPv4 `
-IcmpType 8 `
-Direction Inbound `
-Action Allow `
-InterfaceType RemoteAccess
```
## Commandes de Référence Rapide
### Activation
```powershell
# Activer règles existantes
Enable-NetFirewallRule -DisplayName "*echo*"
# Créer nouvelle règle IPv4
New-NetFirewallRule -DisplayName "ICMP v4" -Protocol ICMPv4 -IcmpType 8 -Direction Inbound -Action Allow
# Créer nouvelle règle IPv6
New-NetFirewallRule -DisplayName "ICMP v6" -Protocol ICMPv6 -IcmpType 128 -Direction Inbound -Action Allow
```
### Vérification
```powershell
# Lister les règles ICMP
Get-NetFirewallRule | Where-Object {$_.DisplayName -like "*ICMP*"}
# Tester localement
Test-NetConnection -ComputerName localhost -InformationLevel Detailed
# Ping classique
ping localhost
```
### Désactivation
```powershell
# Désactiver les règles
Disable-NetFirewallRule -DisplayName "*ICMP*"
# Supprimer les règles
Remove-NetFirewallRule -DisplayName "ICMP v4"
```
## Ressources Supplémentaires
### Documentation Microsoft
- **ICMP Protocol** : https://docs.microsoft.com/en-us/windows/win32/winsock/ipproto-icmp-socket-options
- **Windows Firewall** : https://docs.microsoft.com/en-us/windows/security/threat-protection/windows-firewall/
- **New-NetFirewallRule** : https://docs.microsoft.com/en-us/powershell/module/netsecurity/new-netfirewallrule
### Outils de Test
- **Ping.eu** : https://ping.eu/
- **Site24x7 Ping Test** : https://www.site24x7.com/tools/ping-test.html
- **Network Tools** : https://network-tools.com/
## Conclusion
Vous savez maintenant comment activer et gérer ICMP sur votre VPS Windows !
**Points essentiels à retenir** :
**Activation** :
- Via l'interface graphique : Activer les règles préconfigurées
- Via PowerShell : `Enable-NetFirewallRule` ou `New-NetFirewallRule`
- Tester avec : `ping VOTRE_IP_VPS`
**Sécurité** :
- Limitez l'accès par IP quand possible
- N'activez que sur les profils nécessaires
- Surveillez les logs pour détecter les abus
- Désactivez si non nécessaire
**Usage** :
- Essentiel pour le monitoring
- Utile pour le diagnostic réseau
- Peut être désactivé en production pour plus de sécurité
**Bonne configuration de votre serveur Windows !**














