背景:做爲運維工程師,排障是必備技能;每次排錯完,命令就忘了;梳理一下方法論。
Linux網絡經常使用排障工具:服務器
工具 | 用途 |
---|---|
traceroute | 端口可用性探測 |
mtr | 網絡測試工具 |
案例一:網絡
公司採用公有云加IDC機房構建的網絡架構。雲和機房之間的網絡波動也會帶來一些問題;當兩端網絡不 穩定時,頗有必要熟練一些命令來排查具體緣由。 1. 在公有云服務器作mtr 2. 在IDC機房服務器作mtr mtr -c 50 xx.xx.11.251 --report 參數解釋: --report:以報告模式顯示輸出,不加該參數,執行完,頁面退出了; -c 50 每秒發送數據包數 第一列(Host):節點IP地址和域名。按 n 鍵可切換顯示。 第二列(Loss%):節點丟包率。 第三列(Snt):每秒發送數據包數。默認值是10,能夠經過「-c」參數指定。 第四列(Last):最近一次的探測延遲。 第5、6、七列(Avg、Best、Wrst):分別是探測延遲的平均值、最小值和最大值。 第八列(StDev):標準誤差。越大說明相應節點越不穩定。
案例二:
探測到IP 223.5.5.5 的22端口是否通,從截圖看到,到13跳不通;查詢13跳IP 是什麼地方,反饋給供應商。架構
traceroute -n -T -p 22 223.5.5.5 -T 過TCP探測 -n:直接使用IP地址而非主機名稱(禁用DNS反查)。 -d:使用Socket層級的排錯功能。 -f:設置第一個檢測數據包的存活數值TTL的大小。 -F:設置不要分段標識。 -g:設置來源路由網關,最多可設置8個。 -i:主機有多個網卡時,使用指定的網卡發送數據包。 -I:使用ICMP數據包替代UDP數據包進行探測。 -m:設置檢測數據包的最大存活數值TTL的大小。 -p:設置傳輸協議的通訊端口。 -r:忽略普通的Routing Table,直接將數據包發送到目標主機上。 -s:設置本地主機發送數據包的IP地址。 -t:設置檢測數據包的TOS數值。 -v:詳細顯示指令的執行過程。 -w:設置等待遠端主機回包時間。 -x:開啓或關閉數據包的正確性檢驗。