測試linux網絡連通性的兩個最常用命令是ping和traceroute。1. ping通過icmp協議檢測目標主機是否可達,若返回時間和ttl值表示網絡正常,出現request timeout或destination host unreachable則可能中間節點斷開;2. traceroute用于查看數據包經過的路由路徑,若某跳顯示 *則可能是中斷或被屏蔽。使用時可分別加-c限制ping次數、-w設置traceroute等待時間。實際排查中,能ping網關但無法上網可能是dns或nat問題,中途卡住提示鏈路不穩定或設備限制,兩者失敗但本地訪問其他網站正常則目標站點可能掛掉或被封。進一步操作包括換地址測試、檢查本機配置、聯系管理員確認鏈路狀態。
測試linux網絡連通性,最常用的兩個命令是 ping 和 traceroute。它們能幫你快速判斷網絡是否通暢、問題出在哪兒。這篇文章就來說說怎么用這兩個工具做基本排查。
用 ping 檢查基礎連通性
ping 是最基本的網絡測試命令,它通過 ICMP 協議發送請求包到目標主機,看有沒有回應。使用方法很簡單:
ping example.com
或者直接 ping IP 地址:
ping 8.8.8.8
-
如果返回一串時間和 TTL 值,說明網絡正常。
-
如果出現 Request timeout 或者 Destination Host Unreachable,那可能中間某個節點斷了。
-
想要限制發送次數,可以加 -c 參數:
ping -c 4 example.com
小貼士:有些服務器會禁用 ICMP 回應,這時候即使網絡通也可能收不到響應,不能完全依賴 ping 的結果。
用 traceroute 查看路由路徑
當你知道網絡不通,但不知道卡在哪一跳時,traceroute 就派上用場了。它能顯示數據包經過的每一跳路由器,方便定位故障點。
使用方式也很簡單:
traceroute example.com
你可能會看到類似這樣的輸出:
1 192.168.1.1 1.2 ms 1.5 ms 1.7 ms 2 10.0.0.1 5.3 ms 5.6 ms 5.9 ms 3 * * * 4 some.router.example.net 12.4 ms 12.8 ms 13.1 ms ...
-
如果某一行全是 * * *,說明那一跳沒響應,可能是網絡中斷或防火墻屏蔽。
-
可以加 -w 設置等待時間,加快探測速度:
traceroute -w 1 example.com
實際排查中的一些經驗
有時候你會發現:
- 能 ping 通網關,但上不了外網 → 可能是 DNS 或 NAT 配置問題
- traceroute 到中途某一跳卡住 → 網絡鏈路不穩定或中間設備限制
- ping 和 traceroute 都失敗,但本地能訪問其他網站 → 目標站點掛了或被封
這個時候你可以:
- 換一個目標地址再試(比如換 Google 試試)
- 檢查本機路由表和 DNS 設置
- 聯系 ISP 或內部網絡管理員確認中間鏈路狀態
基本上就這些。掌握好 ping 和 traceroute,大多數基礎網絡問題都能有個初步判斷。雖然它們不是萬能的,但在排查過程中非常實用,尤其適合快速定位是本地問題還是遠端問題。