Ping 不通的原因分析


背景

簡介

ping是常用的網絡管理命令,ping也屬於一個通信協議,是TCP/IP協議的一部分,適用於windows和linux以及unix
根據reply用來檢查網絡是否通暢&網絡連接的速度(time)

主要是端對端的,針對目標ip或者目標網址

原理

給對端(目標ip)發一個數據包,對方就要返回一個同樣大小的數據包,根據reply我們可以確定目標主機的存在
在windows的dos界面可以通過 ping/?來查看其參數含義

常用命令

-t 不間斷給對方發包,除非ctrl+c 退出
-l 定義數據包包長,默認是32B 可設置最大包長為65500B

兩個命令組合就可以進行一個小型的網絡攻擊,如果目標ip帶寬比較小,持續攻擊會導致目標主機掛掉

-----由此引申出防火牆。防火牆的功能之一就是過濾ping發出的ICMP數據包,防止被大流量攻擊使系統癱瘓

ping不通的可能原因

常見原因

a) 對方關機/ip不存在
b) 網段不同,通過路由也無法找到
c) 防火牆設置,過濾了ping發出的ICMP數據包,導致無反饋,time out
d) Ip地址設置錯誤,對於多個網卡的服務器來說,每個網口的ip配置必須不能在同一個網段,否則會造成路由不知選擇哪一個出口
e) 網線故障
f) 未設置網關,這個對於小網128網段,走路由器的,如果未配置將無法路由

常見排查方法

  1. ping –a 命令,可探測對方,將ip地址解析為主機名。如果存在,說明該主機ip存在,從而去檢查防火牆是否關閉;
  2. ping 127.0.0.1 ,若無法ping通,則本地tcp/ip協議棧有問題
    • 若提示為:no route to host,則說明網卡不能正常工作
    • 若提示為:transmit failed error code,則說明網卡驅動有問題
    • 若提示為:time out 說明路由器中有該路由,但是由於其他原因導致包無法傳送
    • 若提示為:destination host unreachable 說明路由器中無該路由

防火牆關閉:

firewall-cmd --state # 查看是否running
systemctl stop firewalld #停止firewall
systemctl disable firewalld #禁止firewall開機啟動

參考:

工作中ping不通情況及解決方案

Ping時通時不通

  • Ip地址或者mac地址沖突

解決方法同上:燒寫mac地址或者重新配置ip

Ping的通但是web、ssh 、kvm等登不上

  • 服務端口被關閉

測試方法:測試雲中tenet ip 端口號,舉例:

telnet ip 端口號

參考


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM