背景
在調試板子的網絡,突然發現板子無法ping通開發機(出現request timed out,
),而電腦卻可以ping通板子。
而scp、ssh以及nfs等工具卻可以正常使用。
原理
找了一些資料,這是因為Ping是基於ICMP實現的,因此,當防火牆攔截了有關ICMP包以后,就會導致對端收不到ping的返回。
大多數Windows操作系統(包括桌面版和服務器版)默認都是只允許ping其他主機而不允許其他主機ping自己。
為什么有些主機會關閉ICMP?可能基於以下兩種情況考慮:
1、ICMP協議對於網絡安全具有極其重要的意義。ICMP協議本身的特點決定了它非常容易被用於攻擊網絡上的路由器和主機。
2、向目標主機長時間、連續、大量地發送ICMP數據包,也會最終使系統癱瘓。大量的ICMP數據包會形成“ICMP風暴”,使得目標主機耗費大量的CPU資源處理。
Windows電腦啟動ICMP配置
控制面板(小圖標)
-> Windwos Defender 防火牆
-> 高級設置
,入站規則
1、找到文件和打印機共享(回顯請求 - ICMPv4-In)
2、右鍵,啟用規則。
關於ICMPv4的入站規則有兩條,分別對應防火牆的“域”和“專用,公用”(關於防火牆的“域”和“專用,公用”見附 1),根據需要啟用即可。
附1:關於防火牆的“域”和“專用,公用”
- 域:一台或多台主機組成的局域網。
- 專用:只有本機可以使用。
- 公用:局域網內或者局域網外的其他主機也可以使用。
ref :