Windows blockiert Ping-Anforderungen durch eine entsprechende Konfiguration der Firewall. Diese Einstellung lässt sich auf mehrere Arten ändern, entweder über die grafische Konsole der Firewall, über die Kommandozeile sowie PowerShell oder zentral über Gruppenrichtlinien.
Der Grund für das abweisende Verhalten von Windows gegenüber Ping-Requests sind Sicherheitsbedenken von Microsoft. Schließlich wird der Dienst gerne für Angriffe missbraucht, bevorzugt für Denial-of-Service-Attacken.
Änderung der Regeln nur als Administrator
Nichtsdestotrotz hat Ping nach wie vor seine Berechtigung als Diagnosewerkzeug bei Netzwerkproblemen, so dass man diese strikte Konfiguration der Firewall meistens lockern wird. In Firmennetzen kann man die damit verbundenen Risiken reduzieren, indem man die vordefinierte Firewall-Regel nur für das Profil Domäne aktiviert oder zulässige Anfragen auf bestimmte IP-Adressen beschränkt.
Für diesen Zweck stehen mehrere Werkzeuge zur Verfügung. Während Standardbenutzer die vorhandenen Einstellungen mit den Kommandozeilen-Tools ansehen können, setzt die Aktivierung von Firewall-Regeln grundsätzlich administrative Rechte voraus.
Eingehende Pings durchlassen
Das gängigste Programm zur Aktivierung der Firewall-Regeln für eingehende Pings ist die grafische Oberfläche Windows-Firewall mit erweiterter Sicherheit. Hier muss man sich als Administrator anmelden, um überhaupt die Einstellungen angezeigt zu bekommen.
Dort wechselt man in der linken Spalte zu Eingehende Regeln und sucht anschließend im Hauptfenster nach Datei- und Druckerfreigabe (Echoanforderung – ICMPv4 eingehend). Diese Regel existiert in Ausprägungen für die Profile Domäne sowie für Öffentlich und Privat. Je nach Bedarf aktiviert man sie für ein bestimmtes oder für mehrere Profile (siehe dazu: Windows-Firewall: Regeln für Profile konfigurieren).
Öffnet man den Dialog Eigenschaften aus dem Kontextmenü dieser Regel, dann kann man dort unter Bereich => Remote-IP-Adresse die Clients, von denen Ping-Anfragen erlaubt sind, weiter einschränken. Existieren auf dem Rechner mehrere NICs, dann besteht zudem die Möglichkeit, über Lokale IP-Adressen jene festzulegen, zu denen Requests durchgelassen werden.
Ping zulassen mit PowerShell
PowerShell verfügt über eine Reihe von Cmdlets, mit denen sich die Firewall vollständig konfigurieren lässt. Für das Management der Regeln eignen sich Get-NetFirewallRule und Set-NetFirewallRule. Ersteres hilft dabei, den Status von Regeln zu ermitteln, Zweiteres kann diesen ändern.
Möchte man sich anzeigen lassen, welche Regeln für Ping zuständig sind, dann filtert man sie nach dem Begriff ICMP4:
Get-NetFirewallRule -name *ICMP4* | select name, DisplayName, Profile, Enabled | fl
Dieser Befehl gibt eine relative kurze Liste aus und zeigt unter anderem auch, für welches Firewall-Profil die Regeln gelten und ob sie aktiviert sind. Für eingehende Ping-Anforderungen in Domänen-Netzwerken ist demnach FPS-ICMP4-ERQ-In-NoScope zuständig, für die Profile Öffentlich und Privat hingegen FPS-ICMP4-ERQ-In.
Nun kann man im nächsten Schritt die gewünschte Regel aktivieren, beispielsweise mit dem Befehl
Set-NetFirewallRule -name FPS-ICMP4-ERQ-In-NoScope -Enabled True -RemoteAddress 192.168.0.66
Er ändert nicht nur den Status der Regel FPS-ICMP4-ERQ-In-NoScope, so dass Ping-Anforderungen durchgelassen werden, sondern grenzt zusätzlich die zulässigen Hosts auf die IP-Adresse 192.168.0.66 ein. Vom Erfolg der Maßnahme kann man sich durch
Get-NetFirewallRule -name FPS-ICMP4-ERQ-In-NoScope | select name, enabled
überzeugen.
Firewall-Regel mit netsh.exe aktivieren
Wie schon in früheren Versionen von Windows steht auch weiterhin das Kommandozeilen-Tool netsh.exe für diese Aufgabe zur Verfügung. Zu seinen Nachteilen gehört nicht nur eine eigenwillige Syntax, sondern auch ein Mix aus übersetzten Namen für die Regeln und englischsprachigen Werten für die meisten Parameter.
Das netsh-Äquivalent zum obigen Aufruf von Set-NetFirewallRule würde so aussehen:
netsh advfirewall firewall set rule profile=Domain name=“Datei- und Druckerfreigabe (Echoanforderung – ICMPv4 eingehend)“ new enable=yes remoteip=192.168.0.66
Möchte man Anfragen von allen Rechnern zulassen, dann verzichtet man auf den Parameter remoteip. Will man hingegen die Regel für die Profile Öffentlich und Privat aktivieren, dann ändert man den Wert für profile auf Private,Public.
Ping erlauben über Gruppenrichtlinien
In zentral verwalteten Umgebungen wird man die Firewall-Einstellungen wahrscheinlich über GPOs konfigurieren wollen, beispielsweise für alle Rechner in einer bestimmten OU. Diese Möglichkeit bestand ebenfalls schon unter Windows 7 / 8.1, das Vorgehen ist dabei gleich geblieben. Siehe dazu meine Anleitung Ping mittels GPO erlauben in Windows 7 / 8.x und Server 2012 (R2).
Content retrieved from: https://www.windowspro.de/wolfgang-sommergut/ping-windows-10-erlauben-gui-powershell-netsh-gpo.