網(wǎng)絡(luò)故障是現(xiàn)代工作中常見的問題,那么如何才能進(jìn)行網(wǎng)絡(luò)排查,快速解決問題呢?基本的技術(shù)是必不可少的,下面就介紹一些網(wǎng)絡(luò)技術(shù)相關(guān)的知識。
一、網(wǎng)絡(luò)排障必備
1.網(wǎng)絡(luò)通信的基礎(chǔ)設(shè)備和其對應(yīng)的OSI層次
像交換機(jī)、三層交換機(jī)、路由器和防火墻等最基礎(chǔ)的網(wǎng)絡(luò)設(shè)備,我們應(yīng)該要了解其功能,尤其是它們對應(yīng)的OSI層次以及作用。比如普通的二層交換機(jī)對應(yīng)OSI七層模型中的數(shù)據(jù)鏈路層,它可以隔絕沖突域,同時也可通過虛擬局域網(wǎng)技術(shù)(VLAN)來隔絕廣播域。二層交換機(jī)通過二層地址即物理地址來實(shí)現(xiàn)數(shù)據(jù)幀的轉(zhuǎn)發(fā)。再比如路由器,它對應(yīng)網(wǎng)絡(luò)層,可以提供路由尋址的功能。
2.中小型企業(yè)網(wǎng)絡(luò)的基本架構(gòu)
一般中小型企業(yè)網(wǎng)絡(luò)的基本架構(gòu)是:接入層→匯聚層→核心層→網(wǎng)絡(luò)出口(圖1)。
如果網(wǎng)絡(luò)環(huán)境比較龐大,都會有匯聚層和核心層。如果是一般小型網(wǎng)絡(luò),就沒有匯聚層,不過兩者的工作原理是一樣的。下面講的排障思路其實(shí)都是針對單用戶的電腦來說的。數(shù)據(jù)中心中的網(wǎng)絡(luò)排障也是類似的。不管網(wǎng)絡(luò)環(huán)境多么復(fù)雜,其工作原理都是差不多的。
3.常用的網(wǎng)絡(luò)排障命令
如果用戶使用的是Windows操作系統(tǒng),那么下面的這些命令就很重要了(圖2)。這些命令都是網(wǎng)絡(luò)排障和檢查過程中會用到的基礎(chǔ)命令。
4.網(wǎng)絡(luò)排障的一個重要原則
網(wǎng)絡(luò)排障,就是要判斷網(wǎng)絡(luò)哪里出了問題,因此你就必須要知道數(shù)據(jù)的走向。所以這個重要的原則是關(guān)注數(shù)據(jù)的走向。網(wǎng)絡(luò)排障思路其實(shí)就是通過追蹤數(shù)據(jù)的走向來一步步縮小網(wǎng)絡(luò)故障的范圍。
二、網(wǎng)絡(luò)排障基本思路
(1)檢查物理鏈路是否有問題;
(2)查看本機(jī)IP地址、路由、DNS的設(shè)置是否有問題;
(3)測試網(wǎng)關(guān)或路由器的通暢情況,先測網(wǎng)關(guān),然后再測路由器;
(4)測試公網(wǎng)IP地址的通暢情況(平時要記幾個外部IP);
(5)測試DNS的通暢情況。
三、網(wǎng)絡(luò)排障詳細(xì)步驟
為了更好地講述網(wǎng)絡(luò)排障的過程和思路,假設(shè)我們有一個如圖3所示的網(wǎng)絡(luò)環(huán)境。
我們以這個網(wǎng)絡(luò)環(huán)境為例,詳細(xì)介紹網(wǎng)絡(luò)排障的思路,對于每一步要怎么做、每一步為什么要這樣做以及這樣做之后我們可以得到什么信息,都會做一個說明。
1.檢查物理鏈路是否有問題
這一步是在做網(wǎng)絡(luò)排障時必須要做的第一步。經(jīng)常會聽朋友說,電腦上不了網(wǎng),檢查了很久,還是發(fā)現(xiàn)不了問題,最后竟然發(fā)現(xiàn)是網(wǎng)線沒接上電腦。浪費(fèi)了很多時間不說,這樣的網(wǎng)絡(luò)排障思路本來就是有錯誤的,所以清晰的思路很重要,可以避免走彎路。
因?yàn)椴皇敲總€人都可以去機(jī)房查看交換機(jī)的接線情況,所以這一步,我們排查的重點(diǎn)范圍就應(yīng)該放在如圖4所示的地方。
在這一步,下面三點(diǎn)是需要注意排查的地方。
(1)確認(rèn)電腦本身的網(wǎng)卡沒有問題;
(2)確認(rèn)接的網(wǎng)線沒有問題(檢查水晶頭、網(wǎng)線的連接、網(wǎng)線的質(zhì)量);
(3)本機(jī)所連接的交換機(jī)(如果可以去機(jī)房查看的話)沒有問題。
如果上面這三點(diǎn)排查都沒有問題了,那么就是該網(wǎng)絡(luò)環(huán)境中的其他設(shè)備出問題了。這個排查相對比較簡單,因?yàn)橹簧婕暗轿锢礞溌返倪B接問題。
2.查看本機(jī)IP地址、路由、DNS的設(shè)置是否有問題
上面第一步,物理鏈路的排查沒有問題了,也就是說,電腦接上網(wǎng)線之后,電腦有反應(yīng)了,可以識別出網(wǎng)絡(luò),但是網(wǎng)絡(luò)還是不通,來到這一步,就應(yīng)該先把注意的范圍放在電腦的設(shè)置上面了。
這一步,我們關(guān)注的重點(diǎn)是以下三點(diǎn)。
(1)IP地址設(shè)置:如果采用的是DHCP自動獲取的方法,那么這時候只需要看自己本機(jī)的設(shè)置上有沒有開啟自動獲取IP的設(shè)置以及有沒有開啟相關(guān)的服務(wù);如果采用的是靜態(tài)IP,那么就必須要注意IP地址的填寫有沒有錯(一般網(wǎng)絡(luò)管理人員給的)、IP地址的子網(wǎng)掩碼有沒有問題(對于靜態(tài)IP,很多人在這里設(shè)置錯誤)。
另外,給電腦分配IP地址時,最好是綁定MAC地址,避免用戶私自更改IP地址,造成IP地址沖突。可以用下面的命令查看(圖5)。
(2)ST 路由設(shè)置:對于服務(wù)器、電腦的路由設(shè)置,一般是指默認(rèn)網(wǎng)關(guān)的設(shè)置。對于路由器本身或三層交換機(jī),那就是靜態(tài)路由或動態(tài)路由的設(shè)置問題了。
(3)ST DNS設(shè)置:主要是要確保所設(shè)置的DNS服務(wù)器地址到底有沒有提供域名解析服務(wù)或者是否出現(xiàn)了故障,你需要設(shè)置一個正確的DNS服務(wù)器地址。在Windows系統(tǒng)中你可以通過下面的命令查看DNS的設(shè)置情況(圖6)。
3. 測試網(wǎng)關(guān)或路由器的通暢情況
先測網(wǎng)關(guān)然后再測路由器。在上面的網(wǎng)絡(luò)環(huán)境中,在網(wǎng)絡(luò)正常的情況下,我們在電腦上使用命令“tracert -d”命令,會得到下面的結(jié)果(圖7)。
通過這個測試結(jié)果,我們可以清楚地知道電腦在訪問互聯(lián)網(wǎng)時,數(shù)據(jù)的走向情況(圖8)。
根據(jù)這個數(shù)據(jù)走向,我們就可以得到一個重要的思路,就是根據(jù)數(shù)據(jù)走向來檢測網(wǎng)絡(luò)的通暢情況。因此,我們可以分為以下兩步來分析。
(1)先測試電腦到網(wǎng)關(guān)192.168.2.254的通暢情況(圖9)。
我們可以在自己的電腦上使用ping命令,看結(jié)果是否有響應(yīng)(圖10)。
一般這樣的判斷方法是比較快的,如果網(wǎng)絡(luò)不通,那么則可能有兩種情況:網(wǎng)關(guān)設(shè)備做了禁止ping命令操作的設(shè)置,或是網(wǎng)關(guān)接口或網(wǎng)關(guān)設(shè)備出現(xiàn)故障。
對于第一種情況,一般很少會在這些設(shè)備在做ping命令的限制操作。
對于網(wǎng)絡(luò)無響應(yīng)的時候,可以執(zhí)行命令:arp -a 查看網(wǎng)關(guān)地址和網(wǎng)關(guān)的物理地址(圖11)。
查看電腦本身有沒有獲取到網(wǎng)關(guān)的物理地址,顯然,如果沒有網(wǎng)關(guān)的物理地址,那也是不可能連接到網(wǎng)關(guān)的,在排除了前面電腦設(shè)置的問題后,你可以推測是網(wǎng)關(guān)設(shè)備出了問題,這時就可以聯(lián)系網(wǎng)絡(luò)工程師對網(wǎng)關(guān)設(shè)備進(jìn)行測試了。
(2)ST 測試到其他路由器的通暢情況:如果上一步?jīng)]有問題了,也就是電腦到網(wǎng)關(guān)通信正常了,再測試網(wǎng)關(guān)到出口路由器的通暢情況(圖12)。
這里,我們使用tracert -d命令(圖13)。
當(dāng)然,如果發(fā)現(xiàn)網(wǎng)絡(luò)不通,那么則可能是下面的兩種情況:網(wǎng)關(guān)設(shè)備與路由器之間的物理鏈路問題;網(wǎng)關(guān)設(shè)備與路由器之間的設(shè)置問題,比如路由協(xié)議、接口配置之類的出現(xiàn)上面的情況。
上面的步驟完成了,假設(shè)你的路由器設(shè)置是沒有問題的,那么我們大致可以知道,內(nèi)網(wǎng)的基本通信是正常的(至少你的電腦和出口路由器的通信沒問題),我們就要查看電腦能不能訪問互聯(lián)網(wǎng)了。
四、測試ping外網(wǎng)IP的通暢情況
來到這一步的時候,就說明前面三步是沒有問題的,也就是說,本地局域網(wǎng)絡(luò)的通信是正常的,這時要做的就是判斷本地局域網(wǎng)絡(luò)與外網(wǎng)之間的通信有沒有問題了(圖14)。
這里采取的是直接ping公網(wǎng)地址的方法,是為了排除DNS的影響(萬一你的DNS設(shè)置又有問題),比如114.114.114.114和8.8.8.8(圖15)。
這樣,基本上就可以確定網(wǎng)絡(luò)是沒有問題的了。能連通外網(wǎng),說明網(wǎng)絡(luò)是沒有問題的。當(dāng)然,這里并沒有提到放置防火墻的情況。實(shí)際上,思路是一致的。你需要考慮的是,你的訪問數(shù)據(jù)有沒有被防火墻給過濾掉,是數(shù)據(jù)出去的時候被過濾了,還是數(shù)據(jù)回來的時候被過濾了?由于還要涉及到防火墻的設(shè)置,這里就不再提及了,只是仍要注意這一點(diǎn)。
五、測試DNS的通暢情況
可以直接使用ping命令來檢測網(wǎng)站地址,看有沒有回顯IP地址,至于通不通是另外一回事。只要可以回顯IP地址,那么DNS就沒有問題了。不過這里仍然要說一下nslookup這個命令,這是一個非常好用的命令(圖16)。
當(dāng)然也可以像下面這樣使用(圖17)。
使用nslookup命令,可以幫你測試你設(shè)置的DNS服務(wù)器有沒有問題。你可以根據(jù)回顯IP地址速度的快慢來初步判斷DNS服務(wù)器的工作情況。所以有必要充分地使用nslookup命令了。
所以,對于網(wǎng)絡(luò)排障的思路和一些基本命令的掌握還是很重要的,雖然單個命令的使用的功能不是特別大,但組合起來使用卻是可以解決很多問題。
電腦知識與技術(shù)·經(jīng)驗(yàn)技巧2020年5期