I've just installed Windows Server 2008 on a server and I'm able to connect through Remote Desktop but can't ping. Do I need to open an special port on the firewall to be able to ping a server?
7 Answers
By default Windows 2008 does not respond to pings. To enable:
Administrative Tools
Windows Firewall with Advanced Security
Inbound Rules
File and Printer Sharing (Echo Request - ICMPv4-IN)
Enable Rule
You should now be able to ping your server from the LAN.
-
4
-
I can add that to allow ping from outside the subnet I had to enable "All profiles" for the rule, not only "public".– ZitraxFeb 13, 2010 at 15:03
-
1Yeah. that is the most stupid goruping ever - File and printer sharing for ICMP ;) Got stumbled over that one, too ;) Everyone I tell that laughs.– TomTomAug 17, 2010 at 13:58
-
1What is more dumb is that the rule is disabled for the Domain profile, but enabled for Public and Private profiles. Surely most Domain profiles are on networks with a higher existing level of security than those you might deem Private or even Public...– dunxdFeb 8, 2011 at 12:36
-
@MarkBrackett perhaps you are good by now. Nevertheless default Scope for this rule limits things to Local subnet. Change it to any, and you'd be able to ping with ICMPv6 you PC from outside your WAN.– mltMay 30, 2015 at 5:36
Enable ping through the Windows Firewall at the command line like so:
netsh firewall set icmpsetting 8
Apparently this has changed in Windows Server 2008 R2 and newer, to:
netsh advfirewall firewall add rule name="ICMP Allow incoming V4 echo request"
protocol=icmpv4:8,any dir=in action=allow
That's.. uh... quite a mouthful.
-
technet.microsoft.com/en-us/library/cc737845(WS.10).aspx has the list of all the values, search for "set icmpsetting" within the page. Jun 24, 2009 at 1:33
in powershell you can use :
# 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
You will want to allow ICMP packets through. Ping doesn't use TCP, so there is no port to open.
-
7The fact that "ping doesn't use TCP" is a little misleading. Since there are other protocols that use ports, it's perhaps more useful to say "ping uses ICMP, which is a portless, layer-3 protocol, so you enable ICMP to allow ping, not open a port". Some firewalls allow you to filter message type, so you need to allow "echo request" and "echo response" to allow ping to work.– jj33May 8, 2009 at 2:05
-
er, "...to allow ping to work if you didn't want to otherwise allow all message types for some reason".– jj33May 8, 2009 at 2:06
Run these 2 in admin powershell, it enables both ipv6 and ipv4 inbound pings on all networks (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
It is equivalent to this https://serverfault.com/a/6049/147813
Another way of fixing this:
netsh advfirewall firewall add rule name="ICMP Allow incoming V4 echo request" protocol=icmpv4:8,any dir=in action=allow
-
While that works, it adds a rule, as opposed to enabling the 'baked in' rule. This could lead to confusion (the baked-in rule not being enabled, yet ICMP still working because of the added rule, when attempting to account-for or predict the FW behaviour). However, it could still be useful if you wanted to allow ICMP only for a particular network profile (eg. only for domain) since the baked-in rule targets all profiles. Jun 15, 2021 at 1:22
Pay attention to use the correct quotation marks. Some web sites replace the quotation marks by similar symbols which cause syntax errors. C.f. enter link description here