ฉันเพิ่งติดตั้ง Windows Server 2008 บนเซิร์ฟเวอร์และฉันสามารถเชื่อมต่อผ่าน Remote Desktop แต่ไม่สามารถ ping ได้ ฉันต้องเปิดพอร์ตพิเศษในไฟร์วอลล์เพื่อให้สามารถ ping เซิร์ฟเวอร์ได้หรือไม่
ฉันเพิ่งติดตั้ง Windows Server 2008 บนเซิร์ฟเวอร์และฉันสามารถเชื่อมต่อผ่าน Remote Desktop แต่ไม่สามารถ ping ได้ ฉันต้องเปิดพอร์ตพิเศษในไฟร์วอลล์เพื่อให้สามารถ ping เซิร์ฟเวอร์ได้หรือไม่
คำตอบ:
โดยค่าเริ่มต้น Windows 2008 ไม่ตอบสนองต่อการปิง การเปิดใช้งาน:
เครื่องมือบริหาร
Windows Firewall พร้อมความปลอดภัยขั้นสูง
กฎขาเข้า
การแชร์ไฟล์และเครื่องพิมพ์ (คำขอ Echo - ICMPv4-IN)
เปิดใช้งานกฎ
ตอนนี้คุณควรจะสามารถ ping เซิร์ฟเวอร์ของคุณจาก LAN
เปิดใช้งาน ping ผ่านไฟร์วอลล์ Windows ที่บรรทัดคำสั่งดังนี้:
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 - 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
คุณจะต้องการอนุญาตให้แพ็คเก็ต ICMP ผ่าน Ping ไม่ใช้ TCP ดังนั้นจึงไม่มีพอร์ตที่จะเปิด
อีกวิธีในการแก้ไขปัญหานี้:
netsh advfirewall firewall add rule name="ICMP Allow incoming V4 echo request" protocol=icmpv4:8,any dir=in action=allow
ใส่ใจกับการใช้เครื่องหมายคำพูดที่ถูกต้อง บางเว็บไซต์แทนที่เครื่องหมายคำพูดด้วยสัญลักษณ์ที่คล้ายกันซึ่งทำให้เกิดข้อผิดพลาดทางไวยากรณ์ Cf ป้อนคำอธิบายลิงก์ที่นี่
เรียกใช้ 2 เหล่านี้ใน admin powershell ซึ่งเปิดใช้งานทั้ง ipv6 และ ipv4 pings บนเครือข่ายทั้งหมด (สาธารณะ / ส่วนตัว / โดเมน):
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
มันเทียบเท่ากับ/server//a/6049/147813นี้