网络怎么排错?手把手教你
說到網(wǎng)絡(luò)排錯(cuò),很多人都會(huì)頭疼。
?
網(wǎng)絡(luò)排錯(cuò),它并不僅僅是停留在某一個(gè)小小命令的使用上,而是要有一個(gè)完整的思路和邏輯在,你才可以以不變應(yīng)萬變。
那么,作為一個(gè)網(wǎng)絡(luò)工程師,想要擁有一個(gè)不錯(cuò)的網(wǎng)絡(luò)排錯(cuò)能力,首先要具備什么基礎(chǔ)?
01 熟悉OSI與TCP/IP
這應(yīng)該是網(wǎng)絡(luò)排錯(cuò)必須知道的基本理論。
無論是OSI七層模型還是DoD模型,都是用來描述網(wǎng)絡(luò)通信的一個(gè)過程,掌握它,能讓你對(duì)網(wǎng)絡(luò)數(shù)據(jù)的發(fā)送和接收有一個(gè)大致的認(rèn)識(shí)。
OSI七層模型對(duì)應(yīng)OSI七層模型的協(xié)議,DoD模型對(duì)應(yīng)DoD模型的協(xié)議,也就是TCP/IP協(xié)議棧。
TCP/IP協(xié)議棧里面的協(xié)議,比如DNS、TCP、UDP、IP、ICMP、ARP,這些最基本的應(yīng)該得知道。
不需要事無巨細(xì),但至少對(duì)于這些協(xié)議的基本功能你是必須得要知道的。
02 掌握網(wǎng)絡(luò)通信的基礎(chǔ)設(shè)備
基礎(chǔ)設(shè)備,就包括交換機(jī)、三層交換機(jī)、路由器、防火墻這些玩意兒,還沒搞懂,請(qǐng)先出門右拐去百度。
作為網(wǎng)工你不僅要懂,而且你還必須知道它們對(duì)應(yīng)的OSI層次以及作用。
比如:普通的二層交換機(jī)對(duì)應(yīng)OSI七層模型中的數(shù)據(jù)鏈路層,它可以隔絕沖突域。
同時(shí),它可以通過虛擬局域網(wǎng)技術(shù)(VLAN)來隔絕廣播域,二層交換機(jī)通過二層地址即MAC地址來實(shí)現(xiàn)數(shù)據(jù)幀的轉(zhuǎn)發(fā)。
再比如:路由器對(duì)應(yīng)網(wǎng)絡(luò)層,可以提供路由尋址的功能等。
熟悉熟悉再熟悉,你才好提高你的工作效率。
03 了解中小型企業(yè)網(wǎng)絡(luò)的基本架構(gòu)
一般中小型企業(yè)網(wǎng)絡(luò)的基本架構(gòu)都是這樣的:接入層--匯聚層--核心層--網(wǎng)絡(luò)出口。
如果網(wǎng)絡(luò)環(huán)境比較龐大,匯聚層和核心層都會(huì)有,而我們這個(gè)張圖,就沒有匯聚層。
但是排錯(cuò)的底層邏輯都是一樣,別擔(dān)心。
本篇文章講到的排錯(cuò),其實(shí)都是針對(duì)用戶PC來說明,數(shù)據(jù)中心中的網(wǎng)絡(luò)排錯(cuò)也類似。
不管網(wǎng)絡(luò)環(huán)境多么復(fù)雜,其實(shí)簡(jiǎn)化下來和這個(gè)是差不多的。
04 掌握常用的網(wǎng)絡(luò)排錯(cuò)命令
如果用戶使用的是Windows操作系統(tǒng),圖中涉及到的這些命令就很重要,如果使用的是Linux操作系統(tǒng),那么也有對(duì)應(yīng)的相關(guān)命令。
說到底,你就是得熟悉你所使用的設(shè)備。當(dāng)然,在實(shí)際網(wǎng)絡(luò)排錯(cuò)的過程中,如果只是為了測(cè)試網(wǎng)絡(luò)通信是否正常,你可以換上你熟悉的設(shè)備操作。
05 網(wǎng)絡(luò)排錯(cuò)原則:關(guān)注數(shù)據(jù)的走向
網(wǎng)絡(luò)排錯(cuò),不就是要判斷網(wǎng)絡(luò)哪里出了問題,因此,你就必須要知道數(shù)據(jù)的走向。
我講的網(wǎng)絡(luò)排錯(cuò)思路,其實(shí)就是通過追蹤數(shù)據(jù)的走向來一步步縮小網(wǎng)絡(luò)故障點(diǎn)的。
所以,這也是為什么我需要讓你了解中小型企業(yè)網(wǎng)絡(luò)基本架構(gòu)的原因。
其實(shí)網(wǎng)上這樣的思路很多,而且大致都是對(duì)的,自己想不出來,完全可以多看看別人的精華:
-
檢查物理鏈路是否有問題
-
查看本機(jī)IP地址、路由、DNS的設(shè)置是否有問題
-
測(cè)試網(wǎng)關(guān)或路由器的通暢情況。先測(cè)網(wǎng)關(guān)然后再測(cè)路由器,一級(jí)一級(jí)地測(cè)試
-
測(cè)試ping公網(wǎng)ip的通暢情況(平時(shí)要記幾個(gè)外部IP)
-
測(cè)試DNS的通暢情況,可以直接ping網(wǎng)站地址
為了更好的講述網(wǎng)絡(luò)排錯(cuò)的過程和思路,假設(shè)我們有下圖這樣的一個(gè)網(wǎng)絡(luò)環(huán)境。
雖然是假設(shè),但實(shí)際上該網(wǎng)絡(luò)環(huán)境是通過GNS3聯(lián)動(dòng)虛擬機(jī)和真實(shí)網(wǎng)絡(luò)架設(shè)起來的,所以是可以真實(shí)參考的。
接下來的內(nèi)容,我以上面這個(gè)網(wǎng)絡(luò)環(huán)境為例子,詳細(xì)帶你過一遍網(wǎng)絡(luò)排錯(cuò)思路:
每一步要怎么做?
每一步為什么要這樣做?
這樣做之后我們可以得到什么信息?
希望你能好好深入去思考這幾個(gè)問題的意義,并嘗試套用在工作中。
01 檢查物理鏈路
這一步,是在做網(wǎng)絡(luò)排錯(cuò)時(shí)必須要做的第一步。
經(jīng)常會(huì)聽朋友說,領(lǐng)導(dǎo)的電腦上不了網(wǎng),需要過去排錯(cuò),搞了老半天,還發(fā)現(xiàn)不了問題,最后在幾經(jīng)絕望之時(shí),竟然發(fā)現(xiàn)網(wǎng)線都沒接上電腦……這就真的是悲劇了。
浪費(fèi)了很多時(shí)間不說,這樣的網(wǎng)絡(luò)排錯(cuò)思路本來就是有錯(cuò)誤的。
在這一步,你首先要有一個(gè)大致的檢查方向:
-
確認(rèn)電腦本身的網(wǎng)卡有沒有問題
-
確認(rèn)接的網(wǎng)線有沒有問題
-
本機(jī)所連接的交換機(jī)(如果可以去機(jī)房查看的話)
如果上面這幾點(diǎn)排查都沒有問題了,那么就是該網(wǎng)絡(luò)環(huán)境中的其他設(shè)備問題了。這一范圍的排查相對(duì)比較簡(jiǎn)單,因?yàn)橹簧婕暗轿锢礞溌返倪B接問題。
對(duì)于這種測(cè)試,可以考慮使用測(cè)線器,但個(gè)人的建議是,拿一臺(tái)配置正確的筆記本來做測(cè)試也未嘗不可。
02 檢查本機(jī)IP地址/路由/DNS的設(shè)置
上面第一步,物理鏈路的排查沒有問題了,也就是說,電腦接上網(wǎng)線之后,電腦有反應(yīng)了,可以識(shí)別,但是網(wǎng)絡(luò)還是不通,來到這一步,就應(yīng)該先把注意的范圍放在電腦的設(shè)置上面了。
這一步,你要關(guān)注的重點(diǎn)是:
(1)IP地址設(shè)置
如果采用的是DHCP自動(dòng)獲取的方法,那么這時(shí)候只需要看自己本機(jī)的設(shè)置上有沒有開啟自動(dòng)獲取IP的設(shè)置以及有沒有開啟相關(guān)的服務(wù);
如果用的是靜態(tài)IP,那么就必須要注意IP地址的填寫有沒有錯(cuò)(一般網(wǎng)絡(luò)管理人員給的)、IP地址的子網(wǎng)掩碼有沒有問題(這很重要,對(duì)于靜態(tài)IP,很多人在這里設(shè)置錯(cuò)誤,建議是,最好把IP地址、VLSM這方面的知識(shí)學(xué)一下)。
一般可以用下面的命令查看:
(2)路由設(shè)置
對(duì)于服務(wù)器、PC,一般是指默認(rèn)網(wǎng)關(guān)的設(shè)置了;對(duì)于路由器本身或三層交換機(jī),那就是靜態(tài)路由或動(dòng)態(tài)路由的設(shè)置問題了。
(3)DNS設(shè)置
主要是要確保所設(shè)置的DNS服務(wù)器地址到底有沒有提供域名解析服務(wù)或者是否出現(xiàn)了故障,至于如何判斷,后面會(huì)給出方法,這里關(guān)注的是,你得設(shè)置一個(gè)正確的DNS服務(wù)器地址或可以自動(dòng)獲取。在windows上面你可以通過下面的命令查看:
03 測(cè)試網(wǎng)關(guān)或路由器的通暢情況
先測(cè)網(wǎng)關(guān)然后再測(cè)路由器,一級(jí)一級(jí)地測(cè)試。
在上面的網(wǎng)絡(luò)環(huán)境中,在網(wǎng)絡(luò)通的情況下,我們?cè)陔娔X上使用命令tracert -d命令,會(huì)得到下面的結(jié)果:
通過這個(gè)測(cè)試結(jié)果,我們可以清楚地知道電腦在訪問互聯(lián)網(wǎng)時(shí),數(shù)據(jù)的走向情況:
根據(jù)這個(gè)數(shù)據(jù)走向,我們就可以得到一個(gè)重要的思路,就是根據(jù)數(shù)據(jù)走向來檢測(cè)網(wǎng)絡(luò)的通暢情況!因此,我們可以分兩步:
(1)先測(cè)試電腦到網(wǎng)關(guān)192.168.2.254的通暢情況。
我們可以在自己的電腦上自己ping網(wǎng)關(guān)的地址,看是否有響應(yīng)。
一般這樣的判斷方法是比較快的,但有時(shí)候,無論怎樣ping都不能,那么則可能有以下的幾種情況:
-
網(wǎng)關(guān)設(shè)備做了禁止ping的設(shè)置
-
網(wǎng)關(guān)接口或網(wǎng)關(guān)設(shè)備出現(xiàn)故障
對(duì)于第一種情況,一般很少會(huì)在這些設(shè)備在做ping的限制操作,實(shí)在是沒有太大的必要這樣做。
當(dāng)然,網(wǎng)絡(luò)安全等要求十分嚴(yán)格的除外。ping通192.168.2.254網(wǎng)關(guān)后,再ping一下172.16.13.1以確認(rèn)電腦到整個(gè)網(wǎng)關(guān)設(shè)備都沒有問題。
對(duì)于ping不通的時(shí)候,我個(gè)人還建議在電腦上執(zhí)行如下操作:
即查看電腦本身有沒有獲取到網(wǎng)關(guān)的MAC的地址,顯然,如果沒有網(wǎng)關(guān)的MAC地址,那也是不可能ping通網(wǎng)關(guān)的,在排除了前面電腦設(shè)置的問題后,你可以猜測(cè)是網(wǎng)關(guān)設(shè)備出了問題,這時(shí)就可以聯(lián)系網(wǎng)絡(luò)工程師對(duì)網(wǎng)關(guān)設(shè)備進(jìn)行測(cè)試了。
(2)測(cè)試到其它路由器的通暢情況
前面一步?jīng)]有問題了,也就是電腦到網(wǎng)關(guān)通信正常了,再測(cè)試網(wǎng)關(guān)到出口路由器的通暢情況:
這里,我們使用tracert -d命令就可以了:
當(dāng)然,如果發(fā)現(xiàn)不通,那么則可能是下面的情況:
-
網(wǎng)關(guān)設(shè)備與路由器之間的物理鏈路問題
-
網(wǎng)關(guān)設(shè)備與路由器之間的設(shè)置問題,比如路由協(xié)議、接口配置之類的
出現(xiàn)上面的情況,那就是網(wǎng)絡(luò)工程師的問題了,當(dāng)然,如果你是網(wǎng)絡(luò)工程師,應(yīng)該要馬上查看一下設(shè)備的狀態(tài),看是不是設(shè)備哪里出現(xiàn)問題了。
上面的步驟完成了,假設(shè)你的出口路由器設(shè)置是沒有問題的,比如NAT與默認(rèn)路由等的設(shè)置,就可以大致知道:內(nèi)網(wǎng)的一個(gè)基本通信是正常的(至少你的電腦和出口路由器的通信沒問題)。
這時(shí),就要看電腦到底能不能訪問互聯(lián)網(wǎng)了。
04 測(cè)試ping公網(wǎng)ip的通暢情況
來到這一步的時(shí)候,就說明前面三步是沒有問題的,也就是說,本地局域網(wǎng)絡(luò)的通信是正常的。
這時(shí),你要做的就是判斷本地局域網(wǎng)絡(luò)與外網(wǎng)(公網(wǎng))之間的通信有沒有問題了:
這里采取的是直接ping公網(wǎng)地址的方法,是為了排除DNS的影響(萬一你的DNS設(shè)置又有問題)。
至于要ping什么樣的公網(wǎng)地址,我的個(gè)人建議是:可以ping一些沒有禁止ping的公共DNS服務(wù)器地址,比如114.114.114.114和8.8.8.8的。
這樣之后,基本上就可以確定網(wǎng)絡(luò)是沒有問題的了。
當(dāng)然,這里并沒有提到出口放置防火墻的情況,實(shí)際上,思路是一致的。
但是,你需要考慮的是:你的訪問數(shù)據(jù)有沒有被防火墻給過濾掉,是數(shù)據(jù)出去的時(shí)候過濾了,還是數(shù)據(jù)回來的時(shí)候過濾了?由于還要涉及到防火墻的設(shè)置,這里就不再提及了,只是仍要注意這一點(diǎn)就是了。
05 測(cè)試DNS的通暢情況
你可以直接ping網(wǎng)站地址,看有沒有回顯IP地址,至于通不通是另外一回事,只要可以回顯IP地址,那么DNS就沒有問題。
不過這里仍然要說一下nslookup這個(gè)命令,這是一個(gè)非常好用的命令,我平常自己在網(wǎng)絡(luò)排錯(cuò)時(shí),基本上都會(huì)用到:
當(dāng)然也可以像下面這樣使用:
《新程序員》:云原生和全面數(shù)字化實(shí)踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀總結(jié)
以上是生活随笔為你收集整理的网络怎么排错?手把手教你的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 一个实验教会你配置IPv6地址
- 下一篇: 思科VTP的详解