排查網(wǎng)絡(luò)的幾個(gè)步驟和幾款工具
先拋個(gè)問題,如果哪天突然發(fā)現(xiàn)IDC機(jī)房 和 公有云 之間的服務(wù)無法訪問了(排除服務(wù)本身的問題之外,可能是網(wǎng)絡(luò)不通,也可能是網(wǎng)絡(luò)變的很慢使得資源無法及時(shí)下載,從而導(dǎo)致服務(wù)無法訪問)。
該如何分析這個(gè)問題呢?經(jīng)過以下5步,基本能定位出問題:
- 確認(rèn)IDC機(jī)房和公有云之間的網(wǎng)絡(luò)是否連通
- 確認(rèn)IDC機(jī)房和公有云之間的網(wǎng)速如何
- 確認(rèn)IDC機(jī)房的機(jī)器寬帶是否受限
- 確認(rèn)公有云的機(jī)器寬帶是否受限
- 確認(rèn)IDC機(jī)房和公有云打通的VPN通道是否正常
一、確認(rèn)IDC機(jī)房和公有云之間的網(wǎng)絡(luò)是否連通
使用ping 命令,如果能ping通,說明網(wǎng)絡(luò)沒問題。
二、確認(rèn)IDC機(jī)房和公有云之間的網(wǎng)速如何
確認(rèn)網(wǎng)速可以通過如下幾款工具:wget、iftop、nload、vnstat。
1.wget
使用wget判斷網(wǎng)速是否正常:
- 在云上,使用wget訪問ID機(jī)房的服務(wù),查看網(wǎng)速。
- 在IDC機(jī)房,使用wget訪問云上的服務(wù),查看網(wǎng)速。
wget時(shí),比對下 域名訪問 和 IP地址訪問 的網(wǎng)速差別。如果域名訪問 和 IP地址訪問的 網(wǎng)速區(qū)別較大,則可以判斷是域名解析有問題。如果區(qū)別不大,但是都比較慢的話,那繼續(xù)往下判斷。
wget http://nexus.dev.mangod.top/repository/maven-releases/top/mangod/xxx-cloud-server/3.0.2-RELEASE/xxx-cloud-server-3.0.2-RELEASE.jar
wget http://10.20.0.10:8081/repository/maven-releases/top/mangod/xxx-cloud-server/3.0.2-RELEASE/xxx-cloud-server-3.0.2-RELEASE.jar
wget http://sql.dev.mangod.top/js/oneUtils.20efc452.dll.js
wget http://10.10.5.53:9000/js/oneUtils.20efc452.dll.js
2.iftop
iftop 是一個(gè)基于文本的實(shí)時(shí)流量監(jiān)控工具,可以顯示網(wǎng)絡(luò)接口的實(shí)時(shí)流量情況,包括上傳和下載速度。安裝并使用 iftop:
yum install iftop # CentOS/RHEL
iftop -i <interface> # 例如:sudo iftop -i eth0
3.nload
nload 是另一個(gè)基于文本的實(shí)時(shí)網(wǎng)絡(luò)流量監(jiān)控工具,可以直觀地顯示網(wǎng)絡(luò)流量。安裝并使用 nload:
yum install nload # CentOS/RHEL
nload -u K # 顯示上傳速度,-u 選項(xiàng)表示上傳速度,-d 表示下載速度,K 表示以 KB/s 為單位顯示
4.vnstat
vnstat 是一個(gè)基于命令行的網(wǎng)絡(luò)流量監(jiān)控工具,它可以提供有關(guān)網(wǎng)絡(luò)接口流量的詳細(xì)統(tǒng)計(jì)信息,包括總體流量和每天/每月的流量使用情況。安裝并使用 vnstat:
yum install vnstat # CentOS/RHEL
# 例如:vnstat -l -i eth0,這將顯示所選網(wǎng)絡(luò)接口的實(shí)時(shí)上傳和下載流量。
vnstat -l -i <interface>
5.安裝工具問題
如果在 CentOS 系統(tǒng)上安裝軟件包時(shí),如果遇到?jīng)]有可用軟件包的問題,嘗試以下2種方法:
(1) 更新軟件源: 首先嘗試更新軟件源,確保系統(tǒng)可以找到最新的軟件包信息。運(yùn)行以下命令:
yum update
這將更新系統(tǒng)上已安裝軟件包的版本并更新可用軟件包列表。
(2) 啟用額外的倉庫: 某些軟件包可能不在默認(rèn)的 CentOS 倉庫中??梢钥紤]啟用其他額外的軟件源,例如 EPEL (Extra Packages for Enterprise Linux) 倉庫。安裝 EPEL 倉庫:
yum install epel-release
三、確認(rèn)機(jī)器寬帶是否受限
定位出網(wǎng)速問題后,確認(rèn)是否是因?yàn)?機(jī)器的寬帶受限。通過Iperf工具確認(rèn)IDC機(jī)房機(jī)器 和 公有云機(jī)器 是否有寬帶限制。
網(wǎng)絡(luò)帶寬工具Iperf
Iperf 是一個(gè)用于測試網(wǎng)絡(luò)帶寬的工具,它可以測量網(wǎng)絡(luò)之間的數(shù)據(jù)傳輸速度。它可以在兩臺(tái)計(jì)算機(jī)之間執(zhí)行,一臺(tái)作為服務(wù)器,另一臺(tái)作為客戶端。
以下是使用 iperf 進(jìn)行基本網(wǎng)絡(luò)帶寬測試的步驟:
(1) 安裝 Iperf:在 CentOS 中,Server 和 Client端,都使用以下命令安裝 iperf:
yum install iperf
(2) 運(yùn)行 Iperf 服務(wù)器:在Server端,運(yùn)行以下命令啟動(dòng) Iperf 服務(wù)器:
iperf -s
# 選擇一臺(tái)機(jī)器做服務(wù)端,默認(rèn)時(shí)間1s,默認(rèn)端口5201
# 設(shè)置監(jiān)控時(shí)間10s,端口為5201,防火墻端口要放行
iperf3 -s -i 10 -p 5201
這將啟動(dòng)一個(gè)默認(rèn)監(jiān)聽端口為 5001 的服務(wù)器。
(3) 運(yùn)行 Iperf 客戶端:在Client端,運(yùn)行以下命令連接到Server端,并測試帶寬:
iperf -c <server_IP>
# 選擇另外一臺(tái)做為客戶端
# 指定-c測速服務(wù)器IPx.x.x.x,-p指定端口為5201,-t測速時(shí)間5s,-P指定發(fā)送連接數(shù)10,-R表示下載測速
iperf3 -c x.x.x.x -p 5201 -t 5 -P 10 -R
四、確認(rèn)IDC機(jī)房和公有云打通的VPN通道是否正常
確認(rèn)帶寬后,如果還是沒定位出問題,則繼續(xù)判斷VPN通道是否正常。
1.使用traceroute查看
首先通過traceroute確認(rèn)兩邊的路由過程是否正常。traceroute 命令可以顯示數(shù)據(jù)包從當(dāng)前機(jī)器到達(dá)目標(biāo) IP 的路徑,并顯示經(jīng)過的每個(gè)路由器(躍點(diǎn))的 IP 地址和延遲。在終端中輸入以下命令:
traceroute <目標(biāo)IP地址>
traceroute 的輸出可能會(huì)因網(wǎng)絡(luò)拓?fù)浜吐酚善髋渲枚兴煌?。有時(shí)某些路由器可能配置為不響應(yīng)traceroute 請求,因此可能會(huì)顯示星號(hào)(*)或超時(shí)信息。
2.MTR工具使用
也可以使用更強(qiáng)大的MTR工具。MTR(My Traceroute)是一個(gè)網(wǎng)絡(luò)診斷工具,結(jié)合了 traceroute 和 ping 的功能,用于檢測網(wǎng)絡(luò)路徑中每個(gè)路由器的延遲、丟包率和路徑信息。它能夠提供更詳細(xì)的網(wǎng)絡(luò)路由信息和整個(gè)路徑的網(wǎng)絡(luò)狀況。
MTR可用于網(wǎng)絡(luò)故障排除、檢測網(wǎng)絡(luò)瓶頸、評估網(wǎng)絡(luò)連接質(zhì)量等場景。通過它提供的綜合性信息,可以更好地理解數(shù)據(jù)在網(wǎng)絡(luò)中傳輸?shù)穆窂胶蜅l件,從而更有效地解決網(wǎng)絡(luò)問題。
(1) 安裝MTR
使用 yum 包管理器進(jìn)行安裝:
sudo yum install mtr
(2) 使用MTR
mtr <目標(biāo)IP地址>
至此,問題基本能定位出來。
如果還是無法定位出來,那就看下IDC機(jī)房 和 公有云的 VPN通道配置是否正確。有可能運(yùn)營商給的IDC機(jī)房的IP地址變更過 或者 運(yùn)營商那邊對這個(gè)IP做過什么操作。如果是這種問題,可以考慮更換出口IP。
3.CIP.CC工具獲取出口IP
在命令行執(zhí)行curl cip.cc ,能夠獲取到出口IP,并將其顯示在命令行終端上。