背景:在裸金屬開通過程中,會碰到長時間卡住的問題,此時在底層查詢發現是卡在業務網vlan切換的過程上,而網關是配置在交換機上的,若長時間未切換,就是vnet控制器(cnp,vnet控制面)下發有問題。如果vlan切到業務vlan,到網關不通,vnet數據面看bmgw是不是有問題(使用tcpdump命令)。使用各種工具和命令可以幫助我們識別問題,定位瓶頸。以下是一些常用的網絡排查命令的詳細介紹:
1. nc(Netcat)
- 功能:nc(Netcat)是一款功能非常強大的網絡工具,可以用于讀寫網絡連接,測試端口連通性以及傳輸數據。
- 常用用途:
- 測試端口連通性:通過TCP/UDP協議來測試遠程主機指定端口是否開放。
nc -zv <目標主機> <端口號>
- 建立端口監聽:可以在指定端口監聽連接請求。
nc -l -p <端口號>
- 傳輸數據:可以將文件通過TCP或UDP傳輸。
cat file.txt | nc <目標主機> <端口號>nc成功的回顯如圖所示: 
 
- 測試端口連通性:通過TCP/UDP協議來測試遠程主機指定端口是否開放。
2. telnet
- 功能:telnet是一個用于在網絡上進行文本通信的協議和工具,主要用于遠程登錄,但是在網絡排查中常用于測試端口連通性。
- 常用用途:
- 
測試端口連通性:與遠程服務器的某個端口(kou)(kou)建立連接,用于(yu)測試端口(kou)(kou)是否(fou)開放。 telnet <目標主機> <端口號>如果連接(jie)成功,則(ze)(ze)證明端(duan)口開(kai)放,若失敗則(ze)(ze)證明端(duan)口不可達(da)或被防火墻阻(zu)擋。 
- 
區別:與nc相比,telnet更多(duo)(duo)用于(yu)交(jiao)互式(shi)的文(wen)本通(tong)信,且只支(zhi)持TCP協(xie)議。而(er)nc則(ze)支(zhi)持更多(duo)(duo)的功能,包括TCP和(he)UDP傳(chuan)輸(shu)。 
 
- 
3. ntpdate
- 功能:ntpdate用于同步服務器時間。通常用于在裸金屬服務器或虛擬機中確保服務器的時鐘與NTP(網絡時間協議)服務器保持一致。
- 常用用途:
- 
手動同步時間: ntpdate <NTP服務器地址>這條命令將本地系統的時間(jian)與ntp1.aliyun.com服務器上(shang)的時間(jian)同步。 
- 
注意:ntpdate會與NTP服務(wu)器(qi)進(jin)行通信,確(que)保系(xi)統時鐘的準(zhun)確(que)性(xing)。這對于(yu)某些依賴(lai)準(zhun)確(que)時間的網絡(luo)排查(cha)至關重要(如SSL/TLS驗證等)。 
 
- 
4. ip r (ip route)
- 功能:ip r(或ip route)用于查看和配置系統的路由表,幫助我們了解數據包將通過哪條路徑發送到目的地。
- 常用用途:
- 查看當前路由表:
ip r / ip route這將顯示當前系統的路由表,幫助判斷網絡數據包的去向,查看默認網關等。
- 增加/刪除路由:
- 添加一條路由:
ip route add <網絡> via <網關>
- 刪除一條路由:
 
- 添加一條路由:
- 區別:ip r與前述命令不同,它更多用于查看和管理系統的路由表信息,與網絡連通性測試不同,它用于理解數據包傳輸的路徑以及數據轉發的邏輯。
 
- 查看當前路由表:
5. ping
- 功能:ping用于測試目標主機是否可達,基于ICMP協議。有時可以找客戶協調一臺服務器進行長ping驗證盯屏
- 常用用途:
- 測試網絡連通性:
通過發送ICMP回顯請求測試主機是否響應,且可以通過延時(RTT)來判斷網絡延遲。ping <目標主機ip>
 
- 測試網絡連通性:
6. traceroute
- 功能:traceroute用于追蹤網絡數據包的路由路徑,幫助定位網絡故障點。
- 常用用途:
- 追蹤路由跳點:
這將顯示從本地主機到目標主機之間的路由跳點,幫助我們識別路徑中的網絡瓶頸。traceroute <目標主機>
 
- 追蹤路由跳點:
7. mtr(My traceroute)
- 功能:mtr結合了ping和traceroute的功能,提供更實時的路由追蹤分析。
- 常用用途:
- 實時追蹤并測試網絡路徑:
它將顯示從本地主機到目標主機的所有跳點,并動態更新每個跳點的延遲和丟包率。mtr <目標主機>
 
- 實時追蹤并測試網絡路徑:
8. ss
- 功能:ss用于顯示當前的網絡連接信息,比netstat更高效。
- 常用用途:
- 查看網絡連接:
這將顯示系統上所有的監聽端口(TCP/UDP)。ss -tuln
 
- 查看網絡連接:
9. arp
- 功能:arp用于顯示和操作系統的ARP(地址解析協議)表。
- 常用用途:
- 查看ARP緩存表:
arp -a
 
- 查看ARP緩存表:
- nc 和 telnet:都可以用于測試遠程主機端口的連通性,但nc功能更強大,支持TCP和UDP,而telnet通常只用于TCP協議。
- ntpdate:與其他網絡工具不同,它用于同步時間,確保系統時間的準確性,而不是直接進行網絡連通性測試。
- ip r:用于查看和配置路由表,更多側重于數據包傳輸的路徑和路由,而不是測試連通性。
- ping、traceroute 和 mtr:都用于測試網絡連通性和路徑,但ping簡單測試可達性,traceroute展示路由跳點,mtr則是動態結合兩者。
這些工具通(tong)常(chang)組合使用,幫(bang)助排(pai)查網絡問題(ti),從(cong)最(zui)(zui)基礎(chu)的連通(tong)性檢查到復雜(za)的路(lu)徑分析和時間(jian)同步,最(zui)(zui)終打通(tong)內網或(huo)者外網通(tong)道,便于云上便捷的資源訪問。
