主頁(yè) > 知識(shí)庫(kù) > Linux下網(wǎng)絡(luò)故障診斷

Linux下網(wǎng)絡(luò)故障診斷

熱門標(biāo)簽:解決方案 電話機(jī)器人搭建 百度競(jìng)價(jià)點(diǎn)擊價(jià)格的計(jì)算公式 服務(wù)器配置 家政服務(wù)網(wǎng)絡(luò) 外呼系統(tǒng) 美團(tuán) 硅谷的囚徒呼叫中心

由于實(shí)現(xiàn)網(wǎng)絡(luò)服務(wù)器的層次結(jié)構(gòu)比較多,因此當(dāng)網(wǎng)絡(luò)出現(xiàn)故障時(shí),解決起來(lái)比較復(fù)雜。下面由我來(lái)為大家詳細(xì)介紹Linux系統(tǒng)中可能出現(xiàn)的一些網(wǎng)絡(luò)問(wèn)題,如網(wǎng)卡硬件問(wèn)題、網(wǎng)絡(luò)配置問(wèn)題、驅(qū)動(dòng)程序問(wèn)題,以及網(wǎng)絡(luò)層、傳輸層、應(yīng)用層問(wèn)題等。

網(wǎng)卡故障可以分為硬件故障和軟件故障,判斷硬件故障最簡(jiǎn)單的方法是把該網(wǎng)卡插到其它計(jì)算機(jī)上使用,如果還是老毛病則網(wǎng)卡損壞,否則網(wǎng)卡正常。實(shí)際情況下,大部分網(wǎng)卡出現(xiàn)的故障都屬于軟件故障,軟件故障一般分為兩類:一類為設(shè)置故障;一類為驅(qū)動(dòng)程序故障。

診斷網(wǎng)卡故障

[root@localhost ~]#dmesg | grep eth
eth0:registered as PCnet/PCI II 79C970A
eth0:link up
eth0:no IPv6 routers present
[root@localhost ~]#

以上命令列出了引導(dǎo)信息中包含eth字符串的行,如果出現(xiàn)類似與“eth0:link up”的提示,表示Linux已經(jīng)檢測(cè)到了網(wǎng)卡,并處于正常工作狀態(tài)。還有一條lspci命令可以列出系統(tǒng)檢測(cè)到所有PCI設(shè)備,如果使用的網(wǎng)卡是PCI總線的,應(yīng)該能看到這塊網(wǎng)卡的信息。最后可以用ethtool查看以太網(wǎng)的鏈路連接是否正常。

以上命令列出了引導(dǎo)信息中包含eth字符串的行,如果出現(xiàn)類似與“eth0:link up”的提示,表示Linux已經(jīng)檢測(cè)到了網(wǎng)卡,并處于正常工作狀態(tài)。還有一條lspci命令可以列出系統(tǒng)檢測(cè)到所有PCI設(shè)備,如果使用的網(wǎng)卡是PCI總線的,應(yīng)該能看到這塊網(wǎng)卡的信息。最后可以用ethtool查看以太網(wǎng)的鏈路連接是否正常。

[root@localhost ~]#ethtool eth0
Settings for eth0:
       Current message level: 0x00000007 (7)
       Link detected:yes
[root@localhost ~]#

如果看到“Link detected:yes”一行,表明網(wǎng)卡也對(duì)方的網(wǎng)絡(luò)線路連接是正常的。

網(wǎng)卡驅(qū)動(dòng)程序

在RHEL 6中,需要先查看或者設(shè)置/etc/modeprobe.cong文件,它包含了有關(guān)模塊的安裝和別名信息。

[root@localhost ~]#more /etc/modeprobe.cong 
alias scsi_hostadapter mptbase 
... 
alias eth0 pcnet32 
[root@localhost ~]#

以上顯示中,最后一行“alias eth0 pcnet32”表示為pcnet32定義了一個(gè)別名eth0,也就是說(shuō),目前使用的以太網(wǎng)卡接口eth0對(duì)應(yīng)的模塊是pcnet32,可以使用一下命令當(dāng)前系統(tǒng)裝載的模塊中是否有pcnet32模塊。

[root@localhost 2.6.18-8.e15]#lsmod | grep pcnet32
pcnet32       35269      0
mii            9409      1   pcnet32 
[root@localhost 2.6.18-8.e15]#

可以發(fā)現(xiàn),pcnet32已經(jīng)安裝。因此,如果網(wǎng)卡已經(jīng)被Linux檢測(cè)到,但執(zhí)行“ipconfig -a”命令時(shí)卻看不到eth0接口,可以按照以上方法把網(wǎng)卡的驅(qū)動(dòng)程序模塊找到,再看看這個(gè)模塊是否已經(jīng)安裝。

診斷網(wǎng)絡(luò)層問(wèn)題

網(wǎng)絡(luò)層問(wèn)題診斷方法很簡(jiǎn)單,就是直接ping外網(wǎng)的某一個(gè)域名或者IP,能正常連通的,則說(shuō)明網(wǎng)絡(luò)層沒(méi)有問(wèn)題。

引起ping不同的原因很多,可能會(huì)是網(wǎng)絡(luò)線路、網(wǎng)絡(luò)設(shè)置、路由和ARP等問(wèn)題。建議先ping一下網(wǎng)關(guān),看是否能通,如果與網(wǎng)關(guān)能通,一般就表明網(wǎng)絡(luò)線路、自己機(jī)子的網(wǎng)絡(luò)設(shè)置和ARP都沒(méi)有問(wèn)題??梢酝ㄟ^(guò)命令“route -n”顯示路由表,然后得到網(wǎng)關(guān)的地址。如果路由表中沒(méi)有設(shè)置默認(rèn)網(wǎng)關(guān),則表明路由設(shè)置有問(wèn)題,此時(shí)需要設(shè)置默認(rèn)網(wǎng)關(guān)。

有時(shí),局域網(wǎng)內(nèi)存在ARP攻擊或者其它原因,使本機(jī)ARP緩存中的網(wǎng)關(guān)IP的MAC地址是錯(cuò)誤的,這樣也會(huì)造成與網(wǎng)關(guān)ping不通。此時(shí),可以使用“arp -d 網(wǎng)關(guān) IP>”命令刪除網(wǎng)關(guān)的ARP條目,或者通過(guò)“arp -a 網(wǎng)關(guān) IP>網(wǎng)關(guān) MAC>”命令設(shè)置靜態(tài)ARP條目。

診斷傳輸層和應(yīng)用層問(wèn)題

診斷傳輸層和應(yīng)用層的故障最有效的一種手段是使用抓包工具抓取數(shù)據(jù)包進(jìn)行分析。在Linux中,默認(rèn)提供了tcpdump工具,利用它可以抓取所有訪問(wèn)本機(jī)或者從本機(jī)出去的數(shù)據(jù)包,并且可以通過(guò)規(guī)則只抓取感興趣的數(shù)據(jù)包。

與操作系統(tǒng)有關(guān)的一種可能的故障原因是防火墻配置不當(dāng)。在Linux中,默認(rèn)情況下系統(tǒng)啟動(dòng)時(shí)會(huì)啟用iptables防火墻,而且只放行少數(shù)幾個(gè)端口。所以當(dāng)在本機(jī)上配置了某種服務(wù)時(shí),而這種服務(wù)需要通過(guò)TCP或UDP的某個(gè)端口才能訪問(wèn),則要求防火墻開啟相應(yīng)的端口,否則,其它主機(jī)將不能訪問(wèn)本機(jī)的這種服務(wù)。

標(biāo)簽:撫州 烏蘭察布 邢臺(tái) 南昌 防城港 韶關(guān) 臨沂 北海

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Linux下網(wǎng)絡(luò)故障診斷》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266