Ping in Windows 10 erlauben: GUI, PowerShell, netsh, GPO

    Ping-Request mit ping.exeWindows 10 blockiert Ping-Anforderungen durch eine ent­sprechende Konfigu­ration der Firewall. Diese Ein­stellung lässt sich auf mehrere Arten ändern, entweder über die grafische Konsole der Firewall, über die Kommando­zeile sowie PowerShell oder zentral über Gruppenrichtlinien.

    Der Grund für das abweisende Verhalten von Windows 10 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.

    Die Firewall-Regel für eingehende Ping-Anforderungen subsumiert Microsoft unter jenen für die Datei- und Druckerfreigabe.

    Dort wechselt man in der linken Spalte zu Eingehende Regeln und sucht anschließend im Hauptfenster nach Datei- und Druckerfreigabe (Echo­anfor­derung - 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).

    Zur Sicherheit lassen sich Ping-Anfragen auf bestimmte IP-Adressen und -Bereiche eingrenzen.

    Ö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.

    Konfiguration der Firewall-Regeln für eingehende Pings mit PowerShell.

    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).

    3 Kommentare

    Bild von Luzie
    Luzie sagt:
    16. März 2017 - 10:31

    Hallo, ich meine, in dem Beispiel "netsh advfirewall firewall set rule profile=Domain name="Datei- und Druckerfreigabe (Echoanforderung - ICMPv4 eingehend)" new enable=no remoteip=192.168.0.66"
    sollte das "enable=no" ein "enable=yes" sein. Höchstens in dem Zusammenhang mit dem ganzen Text davor ist das "für ein Abschalten des PINGs" gedacht.

    Insgesamt: Super Tutorial!

    Bild von Wolfgang Sommergut
    16. März 2017 - 11:47

    Stimmt! Man muss die Firewall-Regel aktivieren, wenn man Pings zulassen möchte.

    Bild von markus
    markus sagt:
    14. Oktober 2018 - 1:32

    Auf meinem Windows 10 System funktioniert das Ping auch nach Aktivieren dieser Firewall-Regeln nicht (Stand 14.10.2018). Habe ein Windows 7 und besagtes Windows 10 System per LAN Kabel verbunden. Auch nach Aktivieren dieser Regel (sogar für alle 3 Netzwerk Profile) geht weiterhin nur das Ping von Windows 10 nach Windows 7, aber das Ping von Windows 7 (Request kommt an) wird vom Windows 10 weiterhin nicht beantwortet.
    Weis jemand Rat?