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

由于實現(xiàn)網(wǎng)絡服務器的層次結(jié)構(gòu)比較多,因此當網(wǎng)絡出現(xiàn)故障時,解決起來比較復雜。下面由我來為大家詳細介紹Linux系統(tǒng)中可能出現(xiàn)的一些網(wǎng)絡問題,如網(wǎng)卡硬件問題、網(wǎng)絡配置問題、驅(qū)動程序問題,以及網(wǎng)絡層、傳輸層、應用層問題等。
網(wǎng)卡故障可以分為硬件故障和軟件故障,判斷硬件故障最簡單的方法是把該網(wǎng)卡插到其它計算機上使用,如果還是老毛病則網(wǎng)卡損壞,否則網(wǎng)卡正常。實際情況下,大部分網(wǎng)卡出現(xiàn)的故障都屬于軟件故障,軟件故障一般分為兩類:一類為設置故障;一類為驅(qū)動程序故障。
診斷網(wǎng)卡故障
[root@localhost ~]#dmesg | grep eth eth0:registered as PCnet/PCI II 79C970A eth0:link up eth0:no IPv6 routers present [root@localhost ~]#
以上命令列出了引導信息中包含eth字符串的行,如果出現(xiàn)類似與“eth0:link up”的提示,表示Linux已經(jīng)檢測到了網(wǎng)卡,并處于正常工作狀態(tài)。還有一條lspci命令可以列出系統(tǒng)檢測到所有PCI設備,如果使用的網(wǎng)卡是PCI總線的,應該能看到這塊網(wǎng)卡的信息。最后可以用ethtool查看以太網(wǎng)的鏈路連接是否正常。
以上命令列出了引導信息中包含eth字符串的行,如果出現(xiàn)類似與“eth0:link up”的提示,表示Linux已經(jīng)檢測到了網(wǎng)卡,并處于正常工作狀態(tài)。還有一條lspci命令可以列出系統(tǒng)檢測到所有PCI設備,如果使用的網(wǎng)卡是PCI總線的,應該能看到這塊網(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)卡也對方的網(wǎng)絡線路連接是正常的。
網(wǎng)卡驅(qū)動程序
在RHEL 6中,需要先查看或者設置/etc/modeprobe.cong文件,它包含了有關模塊的安裝和別名信息。
[root@localhost ~]#more /etc/modeprobe.cong alias scsi_hostadapter mptbase ... alias eth0 pcnet32 [root@localhost ~]#
以上顯示中,最后一行“alias eth0 pcnet32”表示為pcnet32定義了一個別名eth0,也就是說,目前使用的以太網(wǎng)卡接口eth0對應的模塊是pcnet32,可以使用一下命令當前系統(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檢測到,但執(zhí)行“ipconfig -a”命令時卻看不到eth0接口,可以按照以上方法把網(wǎng)卡的驅(qū)動程序模塊找到,再看看這個模塊是否已經(jīng)安裝。
診斷網(wǎng)絡層問題
網(wǎng)絡層問題診斷方法很簡單,就是直接ping外網(wǎng)的某一個域名或者IP,能正常連通的,則說明網(wǎng)絡層沒有問題。
引起ping不同的原因很多,可能會是網(wǎng)絡線路、網(wǎng)絡設置、路由和ARP等問題。建議先ping一下網(wǎng)關,看是否能通,如果與網(wǎng)關能通,一般就表明網(wǎng)絡線路、自己機子的網(wǎng)絡設置和ARP都沒有問題??梢酝ㄟ^命令“route -n”顯示路由表,然后得到網(wǎng)關的地址。如果路由表中沒有設置默認網(wǎng)關,則表明路由設置有問題,此時需要設置默認網(wǎng)關。
有時,局域網(wǎng)內(nèi)存在ARP攻擊或者其它原因,使本機ARP緩存中的網(wǎng)關IP的MAC地址是錯誤的,這樣也會造成與網(wǎng)關ping不通。此時,可以使用“arp -d <網(wǎng)關 IP>”命令刪除網(wǎng)關的ARP條目,或者通過“arp -a <網(wǎng)關 IP><網(wǎng)關 MAC>”命令設置靜態(tài)ARP條目。
診斷傳輸層和應用層問題
診斷傳輸層和應用層的故障最有效的一種手段是使用抓包工具抓取數(shù)據(jù)包進行分析。在Linux中,默認提供了tcpdump工具,利用它可以抓取所有訪問本機或者從本機出去的數(shù)據(jù)包,并且可以通過規(guī)則只抓取感興趣的數(shù)據(jù)包。
與操作系統(tǒng)有關的一種可能的故障原因是防火墻配置不當。在Linux中,默認情況下系統(tǒng)啟動時會啟用iptables防火墻,而且只放行少數(shù)幾個端口。所以當在本機上配置了某種服務時,而這種服務需要通過TCP或UDP的某個端口才能訪問,則要求防火墻開啟相應的端口,否則,其它主機將不能訪問本機的這種服務。
相關文章
Linux中Wi-Fi無線網(wǎng)絡和AP無線熱點的配置教程
Linux上擁有WirelessTools無線網(wǎng)管理工具,在建立Wi-Fi熱點之前我們需要先確認好無線網(wǎng)環(huán)境的支持情況,以下我們就來詳細看一下Linux中Wi-Fi無線網(wǎng)絡和AP無線熱點的配置教程:2016-07-04- 這篇文章主要介紹了Linux常用文件與網(wǎng)絡操作命令速記指南,整理了一些文件的刪除拷貝和文件夾的操作以及網(wǎng)絡文件的下載等基礎命令用法,需要的朋友可以參考下2016-05-03
Linux系統(tǒng)中網(wǎng)絡數(shù)據(jù)存儲工具命令TcpDump的使用教程
這篇文章主要介紹了Linux系統(tǒng)中TcpDump網(wǎng)絡數(shù)據(jù)存儲工具命令使用教程,TcpDump主要用于轉(zhuǎn)儲網(wǎng)絡上的數(shù)據(jù)流,需要的朋友可以參考下2016-04-05Linux系統(tǒng)中nmap網(wǎng)絡掃描工具的命令用法詳解
這篇文章主要介紹了Linux系統(tǒng)中nmap網(wǎng)絡掃描工具的命令用法詳解,nmap掃描器通過發(fā)送特定的網(wǎng)絡數(shù)據(jù)包,記錄目標主機的應答消息,從而收集關于目標主機的各種信息需要的朋友可2016-03-24- 這篇文章主要介紹了Linux系統(tǒng)中iwconfig命令使用詳解,iwconfig用于配置或獲取無線網(wǎng)絡設備信息,需要的朋友可以參考下2016-01-18
Linux中網(wǎng)絡管理命令ipconfig與route的基本使用教程
這篇文章主要介紹了Linux中網(wǎng)絡管理命令ipconfig與route的基本使用教程,是Linux入門學習中必會的基本知識,需要的朋友可以參考下2016-01-18Linux系統(tǒng)下查看網(wǎng)絡接口數(shù)據(jù)信息的命令總結(jié)
這篇文章主要介紹了Linux系統(tǒng)下查看網(wǎng)絡接口數(shù)據(jù)信息的命令總結(jié),需要的朋友可以參考下2015-12-18Linux中將網(wǎng)絡管理器由NetworkManager切換為systemd-network
這篇文章主要介紹了Linux中將網(wǎng)絡管理器由NetworkManager切換為systemd-network的方法,文中以Linux系統(tǒng)作為示例環(huán)境,需要的朋友可以參考下2015-11-27Linux系統(tǒng)基本的網(wǎng)絡端口操作命令小結(jié)
這篇文章主要介紹了Linux系統(tǒng)基本的網(wǎng)絡端口操作命令,包括端口被占用沖突時的解決方法,需要的朋友可以參考下2015-11-03Linux系統(tǒng)上安裝slurm來監(jiān)控網(wǎng)絡帶寬和控制節(jié)點
這篇文章主要介紹了Linux系統(tǒng)上安裝slurm來監(jiān)控網(wǎng)絡帶寬和控制節(jié)點的方法,slurm本身是一個集群資源管理器,需要的朋友可以參考下2015-10-29