Kích hoạt Ping trong Windows Server Firewall?


23

Tôi vừa cài đặt Windows Server 2008 trên máy chủ và tôi có thể kết nối qua Remote Desktop nhưng không thể ping. Tôi có cần mở một cổng đặc biệt trên tường lửa để có thể ping máy chủ không?

Câu trả lời:


34

Theo mặc định, Windows 2008 không đáp ứng với ping. Để bật:

Công cụ quản trị

Tường lửa Windows với bảo mật nâng cao

Luật nội bộ

Chia sẻ tệp và máy in (Yêu cầu Echo - ICMPv4-IN)

Kích hoạt quy tắc

Bây giờ bạn có thể ping máy chủ của bạn từ mạng LAN.


4
Còn IPv6 thì sao? Không ai có thể nghĩ về IPv6!?!
Đánh dấu Brackett

Tôi có thể thêm nó để cho phép ping từ bên ngoài mạng con Tôi phải bật "Tất cả cấu hình" cho quy tắc, không chỉ "công khai".
Zitrax

1
Vâng. đó là cách thức ngu ngốc nhất từ ​​trước đến nay - Chia sẻ tệp và máy in cho ICMP;) Cũng bị vấp phải cái đó;) Mọi người tôi đều cười mà.
TomTom

1
Điều ngu ngốc hơn là quy tắc bị vô hiệu hóa cho cấu hình Miền, nhưng được bật cho cấu hình Công khai và Riêng tư. Chắc chắn hầu hết các cấu hình Tên miền nằm trên các mạng có mức bảo mật hiện có cao hơn so với các cấu hình mà bạn có thể cho là Riêng tư hoặc thậm chí Công khai ...
dunxd

@MarkBrackett có lẽ bạn tốt bây giờ. Tuy nhiên Phạm vi mặc định cho quy tắc này giới hạn mọi thứ đối với mạng con cục bộ . Thay đổi nó thành bất kỳ và bạn có thể ping với ICMPv6 PC của bạn từ bên ngoài mạng LAN của bạn.
mlt

12

Cho phép ping thông qua Tường lửa Windows tại dòng lệnh như vậy:

netsh firewall set icmpsetting 8

Rõ ràng điều này đã thay đổi trong Windows Server 2008 R2 và mới hơn, thành:

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

Đó là .. uh ... khá nhiều.


technet.microsoft.com/en-us/l Library / cc737845 (WS.10) .aspx có danh sách tất cả các giá trị, tìm kiếm "đặt icmpsding" trong trang.
Luke Quinane

9

trong powershell bạn có thể sử dụng:

# 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

Tốt đẹp. +1 cho độ tốt của PowerShell.
HoplessN00b

8

Bạn sẽ muốn cho phép các gói ICMP thông qua. Ping không sử dụng TCP, vì vậy không có cổng để mở.


7
Thực tế là "ping không sử dụng TCP" là một chút sai lệch. Vì có các giao thức khác sử dụng cổng, có lẽ hữu ích hơn khi nói "ping sử dụng ICMP, là giao thức lớp 3 không cổng, vì vậy bạn kích hoạt ICMP để cho phép ping, không mở cổng". Một số tường lửa cho phép bạn lọc loại tin nhắn, vì vậy bạn cần cho phép "yêu cầu tiếng vang" và "phản hồi tiếng vang" để cho phép ping hoạt động.
jj33

er, "... để cho phép ping hoạt động nếu bạn không muốn cho phép tất cả các loại tin nhắn vì một số lý do".
jj33

2

Một cách khác để khắc phục điều này:

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


0

Chạy 2 cái này trong quyền hạn quản trị viên, nó cho phép cả ping ping ipv6 và ipv4 trên tất cả các mạng (công khai / riêng tư / tên miền):

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

Nó tương đương với /server//a/6049/147813 này

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.