許多 Vista 用戶遇到過詭異現象:網路連線正常、QQ 能聊天、網頁能瀏覽,但執行 ping 指令卻提示「一般失敗」,無論針對內網網關(如 192.168.1.1)還是外網地址均 100% 丟包,僅能 Ping 通 127.0.0.1 本機回環位址。同樣硬體在 Windows XP 下卻一切正常。
C:\>ping 192.168.1.1
正在 Ping 192.168.1.1 具有 32 位元組的資料:
一般失敗。
一般失敗。
一般失敗。
一般失敗。
192.168.1.1 的 Ping 統計資訊:
封包: 已傳送 = 4,已接收 = 0,遺失 = 4 (100% 遺失)
Vista 內建防火牆預設封鎖 ICMPv4/v6 的傳入與傳出封包,導致 ping(基於 ICMP Echo Request/Reply)無法運作。解決方法是在「高階安全性 Windows 防火牆」中啟用 ICMP 規則。
或透過命令列快速開啟(以管理員身分執行 CMD):
netsh advfirewall firewall add rule name="允許 ICMPv4 回應" protocol=icmpv4:8,any dir=in action=allow
netsh advfirewall firewall add rule name="允許 ICMPv4 請求" protocol=icmpv4:8,any dir=out action=allow
再次執行 ping 192.168.1.1,應可看到正常回應與 0% 遺失率。此設定不影響正常上網與應用程式通訊,僅開放網路診斷所需的 ICMP 流量。
提示:若在網域環境中,群組原則可能覆蓋本地防火牆設定,請諮詢網管人員統一下發 ICMP 允許策略。