Włączyć Ping w Zaporze systemu Windows Server?

23

Właśnie zainstalowałem Windows Server 2008 na serwerze i jestem w stanie połączyć się przez Pulpit zdalny, ale nie mogę pingować. Czy muszę otworzyć specjalny port zapory, aby móc pingować serwer?

holiveira
źródło

Odpowiedzi:

34

Domyślnie system Windows 2008 nie reaguje na polecenia ping. Umożliwić:

Narzędzia administracyjne

Zapora systemu Windows z zaawansowanymi zabezpieczeniami

Reguły wewnętrzne

Udostępnianie plików i drukarek (żądanie echa - ICMPv4-IN)

Włącz regułę

Powinieneś być teraz w stanie pingować swój serwer z sieci LAN.

sh-beta
źródło
4
Co z IPv6? Czy ktoś nie pomyśli o IPv6!?!
Mark Brackett,
Mogę dodać, że aby umożliwić pingowanie spoza podsieci, musiałem włączyć dla reguły „Wszystkie profile”, nie tylko „publiczne”.
Zitrax,
1
Tak. to najgłupsze oszustwo w historii - Udostępnianie plików i drukarek dla ICMP;) Też się potknąłem;) Wszyscy, których mówię, śmieją się.
TomTom
1
Bardziej głupie jest to, że reguła jest wyłączona dla profilu domeny, ale włączona dla profili publicznych i prywatnych. Z pewnością większość profili domen znajduje się w sieciach o wyższym istniejącym poziomie bezpieczeństwa niż te, które możesz uznać za prywatne, a nawet publiczne ...
dunxd
@MarkBrackett być może już jesteś dobry. Niemniej jednak domyślny zakres tej reguły ogranicza rzeczy do lokalnej podsieci . Zmień to na dowolne, a będziesz mógł pingować za pomocą ICMPv6 na PC poza siecią WAN.
mlt
12

Włącz ping za pośrednictwem Zapory systemu Windows w wierszu polecenia w następujący sposób:

netsh firewall set icmpsetting 8

Najwyraźniej zmieniło się to w systemie Windows Server 2008 R2 i nowszych na:

netsh advfirewall firewall add rule name="ICMP Allow incoming V4 echo request"
    protocol=icmpv4:8,any dir=in action=allow

To ... uh ... całkiem kęs.

Jeff Atwood
źródło
technet.microsoft.com/en-us/library/cc737845(WS.10).aspx ma listę wszystkich wartości, wyszukaj „set icmpsetting” na stronie.
Luke Quinane
9

w PowerShell możesz użyć:

# allow-icmp.ps1
# Sets up windows firewall to allow inbound ICMP - using PowerShell
# Thomas Lee - [email protected]

#create firewall manager object
$FWM=new-object -com hnetcfg.fwmgr

# Get current profile
$pro=$fwm.LocalPolicy.CurrentProfile

# Check Profile
if ($pro.IcmpSettings.AllowInboundEchoRequest) {
    "Echo Request already allowed"
} else {
    $pro.icmpsettings.AllowInboundEchoRequest=$true
}

# Display ICMP Settings
"Windows Firewall - current ICMP Settings:"
"-----------------------------------------"
$pro.icmpsettings
Alban
źródło
Miły. +1 za dobroć PowerShell.
HopelessN00b
8

Będziesz chciał przepuścić pakiety ICMP. Ping nie używa TCP, więc nie ma portu do otwarcia.

Justin Scott
źródło
7
Fakt, że „ping nie używa TCP” jest nieco mylący. Ponieważ istnieją inne protokoły, które używają portów, być może bardziej użyteczne jest powiedzenie „ping używa ICMP, który jest bezportowym protokołem warstwy 3, więc umożliwiasz ICMP zezwalanie na ping, a nie otwieranie portu”. Niektóre zapory ogniowe umożliwiają filtrowanie typów wiadomości, dlatego należy zezwolić na „żądanie echa” i „odpowiedź echa”, aby ping mógł działać.
jj33
er: „... aby zezwolić na działanie ping, jeśli z jakiegoś powodu nie chcesz zezwalać na wszystkie typy wiadomości”.
jj33
2

Kolejny sposób to naprawić:

netsh advfirewall firewall add rule name="ICMP Allow incoming V4 echo request" protocol=icmpv4:8,any dir=in action=allow
whizkid
źródło
0

Zwróć uwagę, aby używać poprawnych cudzysłowów. Niektóre strony internetowe zastępują cudzysłowy podobnymi symbolami, które powodują błędy składniowe. Cf wprowadź opis linku tutaj

bernd_k
źródło
0

Uruchom te 2 w administracyjnym programie PowerShell, włącza pingi przychodzące zarówno ipv6, jak i ipv4 we wszystkich sieciach (public / private / domain):

Set-NetFirewallRule -DisplayName "File and Printer Sharing (Echo Request - ICMPv4-In)" -enabled True
Set-NetFirewallRule -DisplayName "File and Printer Sharing (Echo Request - ICMPv6-In)" -enabled True

Jest to równoważne z tym /server//a/6049/147813

CMCDragonkai
źródło