Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

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?

share|improve this question

6 Answers 6

up vote 21 down vote accepted

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.

share|improve this answer
4  
What about IPv6? Won't someone please think of IPv6!?! –  Mark Brackett May 8 '09 at 0:05
    
I can add that to allow ping from outside the subnet I had to enable "All profiles" for the rule, not only "public". –  Zitrax Feb 13 '10 at 15:03
1  
Yeah. that is the most stupid goruping ever - File and printer sharing for ICMP ;) Got stumbled over that one, too ;) Everyone I tell that laughs. –  TomTom Aug 17 '10 at 13:58
1  
What 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... –  dunxd Feb 8 '11 at 12:36

You will want to allow ICMP packets through. Ping doesn't use TCP, so there is no port to open.

share|improve this answer
7  
The 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. –  jj33 May 8 '09 at 2:05
    
er, "...to allow ping to work if you didn't want to otherwise allow all message types for some reason". –  jj33 May 8 '09 at 2:06

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.

share|improve this answer
    
technet.microsoft.com/en-us/library/cc737845(WS.10).aspx has the list of all the values, search for "set icmpsetting" within the page. –  Luke Quinane Jun 24 '09 at 1:33

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

share|improve this answer

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
share|improve this answer

in powershell you can use :

# allow-icmp.ps1
# Sets up windows firewall to allow inbound ICMP - using PowerShell
# Thomas Lee - tfl@psp.co.uk

#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
share|improve this answer
    
Nice. +1 for PowerShell goodness. –  HopelessN00b Apr 3 '13 at 13:38

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.