Theo mặc định, Windows Defender Firewall sẽ chặn tất cả lưu lượng ICMP được gửi đến. Kết quả là, nếu bạn cố gắng ping máy chủ Windows từ một thiết bị khác, máy tính sẽ không phản hồi yêu cầu ICMP (với thông báo “Request timed out”).
Trong bài viết này, chúng ta sẽ chỉ ra cách bật hoặc tắt ICMP echo requests trên Windows 10/11 và Windows Server 2022/2019/2016.
Bạn có thể sử dụng MMC snap-in, CMD và PowerShell để quản lý các rule của Windows Firewall. Chúng ta hãy cùng tìm hiểu cả ba cách bật/tắt rule ICMP trong Firewall.
Cách cho phép Ping trên Windows Firewall
B1: Nhập Firewall vào ô tìm kiếm của windows rồi mở Windows Defender Firewall with Advanced Security (hoặc nhấn tổ hợp phím Windows + R rồi nhập lệnh wf.msc).
B2: Chọn Inbound Rules tại màn hình bên trái rồi tìm rule File and Printer Sharing (Echo Request – ICMPv4-In). Bạn có thể bật quy tắc tường lửa bằng cách nhấp chuột phải vào quy tắc đó và chọn Enable Rule.
Như bạn có thể thấy, các quy tắc cho cả ICMPv4 và ICMPv6 đều có sẵn ở đây cho cả cấu hình Domain và Private network . Tất cả các quy tắc này đều bị tắt theo mặc định.
B3: Tại một máy tính từ xa khác, Sử dụng lệnh ping để kiểm tra. Như hình bên dưới bạn có thể thấy, Windows Firewall đã không còn chặn các yêu cầu ICMP
Theo mặc định, Rule này cho phép ICMP echo requests từ bất kỳ nguồn nào trên mạng cục bộ. Nếu muốn hạn chế danh sách máy tính được phép gửi ICMP requests, hoặc cho phép ICMP ping đối với địa chỉ IP bên ngoài, bạn có thể chỉnh sửa các quy tắc hiện có.
- Mở properties của firewall rule và truy cập vào tab Scopes;
- Bạn có thể thấy, rule Cho phép ICMP replies mở cho toàn bộ hosts trên Local subnet;
- Bạn có thể chỉnh sửa danh sách IP được phép trong phần Remote IP Address;
- Tại đây, bạn có thể thêm địa chỉ IP, dải địa chỉ IP hoặc Subnet.
Bạn có thể bật và tắt Rule này trong Windows Defender firewall bằng câu lệnh. Mở CMD với quyền administrator hoặc bằng PowerShell. Chạy câu lệnh sau để cho phép ping ICMPv4 cho tất cả cấu hình mạng:
netsh advfirewall firewall set rule name="File and Printer Sharing (Echo Request - ICMPv4-In)" new enable=yes
Sau khi chạy xong, bạn sẽ thấy thông báo sau:
Updated 2 rule(s).
Ok.
Bạn cũng phải bật ICMP rule cho giao thức IPv6 nếu nó được sử dụng trong giao tiếp mạng của bạn. Sử dụng lệnh sau để thực hiện:
netsh advfirewall firewall set rule name="File and Printer Sharing (Echo Request - ICMPv6-In)" new enable=yes
Để cho phép ping ICMP cho tất cả các profiles trên máy tính của bạn, hãy chạy các lệnh sau:
Enable-NetFirewallRule -displayName "File and Printer Sharing (Echo Request - ICMPv4-In)"
Enable-NetFirewallRule -displayName "File and Printer Sharing (Echo Request - ICMPv6-In)"
Tắt ICMP Ping trên Windows Firewall
Bạn có thể tắt Rule ICMP echo request bằng cách chọn tất cả Rule, sau đó nhấn phải chuột rồi chọn Disable Rule.
Bạn cũng có thể tắt Rule ICMP ping từ CMD bằng lệnh:
netsh advfirewall firewall set rule name="File and Printer Sharing (Echo Request - ICMPv4-In)" new enable=no
netsh advfirewall firewall set rule name="File and Printer Sharing (Echo Request - ICMPv6-In)" new enable=no
Hoặc tắt bằng PowerShell:
Disable-NetFirewallRule -displayName "File and Printer Sharing (Echo Request - ICMPv4-In)"
Disable-NetFirewallRule -displayName "File and Printer Sharing (Echo Request - ICMPv6-In)"