サーバーにWindows Server 2008をインストールしましたが、リモートデスクトップ経由で接続できますが、pingを実行できません。サーバーにpingできるようにするには、ファイアウォールで特別なポートを開く必要がありますか?
次のように、コマンドラインでWindowsファイアウォールを介したpingを有効にします。
netsh firewall set icmpsetting 8
どうやらこれはWindows Server 2008 R2以降で次のように変更されています:
netsh advfirewall firewall add rule name="ICMP Allow incoming V4 echo request"
protocol=icmpv4:8,any dir=in action=allow
それは..ええと...かなり一口。
powerShellで使用できます:
# 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
ICMPパケットの通過を許可する必要があります。 PingはTCPを使用しないため、開くポートはありません。
これを修正する別の方法:
netsh advfirewall firewall add rule name="ICMP Allow incoming V4 echo request" protocol=icmpv4:8,any dir=in action=allow
正しい引用符を使用するように注意してください。一部のWebサイトは、構文エラーを引き起こす同様の記号で引用符を置き換えます。 C.f. ここにリンクの説明を入力
これら2つを管理PowerShellで実行すると、すべてのネットワーク(パブリック/プライベート/ドメイン)でipv6とipv4の両方の受信pingが有効になります。
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