1. 程式人生 > >Linux下網路故障診斷

Linux下網路故障診斷

導讀 由於實現網路伺服器的層次結構比較多,因此當網路出現故障時,解決起來比較複雜。下面由我來為大家詳細介紹Linux系統中可能出現的一些網路問題,如網絡卡硬體問題、網路配置問題、驅動程式問題,以及網路層、傳輸層、應用層問題等。

網絡卡故障可以分為硬體故障和軟體故障,判斷硬體故障最簡單的方法是把該網絡卡插到其它計算機上使用,如果還是老毛病則網絡卡損壞,否則網絡卡正常。實際情況下,大部分網絡卡出現的故障都屬於軟體故障,軟體故障一般分為兩類:一類為設定故障;一類為驅動程式故障。

診斷網絡卡故障
[[email protected] ~]#dmesg | grep eth
eth0:registered as PCnet/PCI II 79C970A
eth0:link up
eth0:no IPv6 routers present
[
[email protected]
~]#

以上命令列出了引導資訊中包含eth字串的行,如果出現類似與“eth0:link up”的提示,表示Linux已經檢測到了網絡卡,並處於正常工作狀態。還有一條lspci命令可以列出系統檢測到所有PCI裝置,如果使用的網絡卡是PCI匯流排的,應該能看到這塊網絡卡的資訊。最後可以用ethtool檢視乙太網的鏈路連線是否正常。

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

如果看到“Link detected:yes”一行,表明網絡卡也對方的網路線路連線是正常的。

網絡卡驅動程式

在RHEL 6中,需要先檢視或者設定/etc/modeprobe.cong檔案,它包含了有關模組的安裝和別名資訊。

[[email protected] ~]#more /etc/modeprobe.cong 
alias scsi_hostadapter mptbase 
... 
alias eth0 pcnet32 
[[email protected] ~]#

以上顯示中,最後一行“alias eth0 pcnet32”表示為pcnet32定義了一個別名eth0,也就是說,目前使用的乙太網卡介面eth0對應的模組是pcnet32,可以使用一下命令當前系統裝載的模組中是否有pcnet32模組。

[[email protected] 2.6.18-8.e15]#lsmod | grep pcnet32
pcnet32       35269      0
mii            9409      1   pcnet32 
[[email protected] 2.6.18-8.e15]#

可以發現,pcnet32已經安裝。因此,如果網絡卡已經被Linux檢測到,但執行“ipconfig -a”命令時卻看不到eth0介面,可以按照以上方法把網絡卡的驅動程式模組找到,再看看這個模組是否已經安裝。

診斷網路層問題

網路層問題診斷方法很簡單,就是直接ping外網的某一個域名或者IP,能正常連通的,則說明網路層沒有問題。

引起ping不同的原因很多,可能會是網路線路、網路設定、路由和ARP等問題。建議先ping一下閘道器,看是否能通,如果與閘道器能通,一般就表明網路線路、自己機子的網路設定和ARP都沒有問題。可以通過命令“route -n”顯示路由表,然後得到閘道器的地址。如果路由表中沒有設定預設閘道器,則表明路由設定有問題,此時需要設定預設閘道器。

有時,區域網記憶體在ARP攻擊或者其它原因,使本機ARP快取中的閘道器IP的MAC地址是錯誤的,這樣也會造成與閘道器ping不通。此時,可以使用“arp -d <閘道器 IP>”命令刪除閘道器的ARP條目,或者通過“arp -a <閘道器 IP><閘道器 MAC>”命令設定靜態ARP條目。

診斷傳輸層和應用層問題

診斷傳輸層和應用層的故障最有效的一種手段是使用抓包工具抓取資料包進行分析。在Linux中,預設提供了tcpdump工具,利用它可以抓取所有訪問本機或者從本機出去的資料包,並且可以通過規則只抓取感興趣的資料包。

與作業系統有關的一種可能的故障原因是防火牆配置不當。在Linux中,預設情況下系統啟動時會啟用iptables防火牆,而且只放行少數幾個埠。所以當在本機上配置了某種服務時,而這種服務需要通過TCP或UDP的某個端口才能訪問,則要求防火牆開啟相應的埠,否則,其它主機將不能訪問本機的這種服務。

本文轉載自:http://www.linuxprobe.com/linux-network-troubleshooting/


相關推薦

Linux網路故障診斷

導讀 由於實現網路伺服器的層次結構比較多,因此當網路出現故障時,解決起來比較複雜。下面由我來為大家詳細介紹Linux系統中可能出現的一些網路問題,如網絡卡硬體問題、網路配置問題、驅動程式問題,以及網路層、傳輸層、應用層問題等。 網絡卡故障可以分為硬體故障和軟體故障,判斷

tcpdump抓包與linux網路埠使用的問題

1、 linux下可以用 tcpdump 工具進行網路抓包; 2、抓包的命令為:    2.1  ~# tcpdump  抓取所有的包;    2.2  ~# tcpdump  抓取指定網路介面的包; &

解決Linux網路程式設計(sendto send )出現 SIGPIPE 訊號導致程式異常終止的問題

引言 最近在Linux下網路程式設計時,出現SIGPIPE 訊號導致程式異常終止,本文記錄下解決的方法以及相應的知識。 SIGPIPE 訊號資料 什麼時候出現此訊號,APUE中有關此訊號的解釋如下: Linux man手冊有關此訊號的解釋: man 7 signal SI

Linux網路socket程式設計——實現伺服器(select)與多個客戶端通訊

Linux下網路socket程式設計——實現伺服器(select)與多個客戶端通訊 置頂 2017年06月23日 14:44:37 閱讀數:3225 標籤: socket程式設計伺服器與多個客戶端通epoll多路複用C語言網路程式設計 更多

linux網路配置——ip配置

我在這隻介紹字元模式下配置ip.第一種方法:配置ip[[email protected] ~]# ifconfig eth0 192.168.0.5 配置閘道器[[email protected] ~]# route add default gw 192.

Linux網路IP地址的轉換函式 (轉)

網路IP地址本是用32位二進位制來表示的,為了記憶的方便可以用點分十進位制來表示IP地址,同時,網路IP地址在網路傳輸和計算機內部的儲存方式也不同,需要用函式來進行轉換。 1.將點分十進位制字串轉換成十進位制長整型數:in_addr_t inet_addr(const char *cp);       in_

Linux 網路協議分析器 Wireshark 使用基礎

 Wireshark 是 Kali 中預置的眾多有價值工具中的一種。與其它工具一樣,它可以被用於正面用途,同樣也可以被用於不良目的。當然,本文將會介紹如何追蹤你自己的網路流量來發現潛在的非正常活動。 Wireshark 相當的強大,當你第一次見到它的時候可能會被它嚇

網路故障診斷

網路故障原因: 1、網絡卡故障 2、路由器和交換機故障 3、網路線路故障 4、電腦網路屬性配置故障   診斷網路故障方法: 1、檢查本地網路IP地址配置 2、使用ping命令進行檢測 3、檢查網路線路   網絡卡一直在進行網路地址分配,卻無法連線網路: 將網線拔下,

linux網路shell命令總結(一)

網路和監控命令類似於這些: hostname, ping, ifconfig, iwconfig, netstat, nslookup, traceroute, finger, telnet, ethtool 用於檢視 linux 伺服器 ip 地址,管理伺服器網路配置,通過 telnet

linux 網路管理

/etc/rc.d/rc.local 為linux 的啟動檔案linux下網路管理的幾個檔案1. /etc/sysconfig/network-script/ifcfg-eth0 :網絡卡配製檔案2. /etc/sysconfig/network :配製閘道器 GAT

總結之linux網路程式設計

1.有一篇好的文章,對Linux下socket程式設計的原理和要點說的很清楚: 2.一些windows網路程式設計的要點吧。包括大頭序,小頭序,網路位元組序。一些常用的函式等。。 3.《linux網路程式設計》宋斌寫的,這本書不錯。寫的清楚,容易懂。是一個比較好的參

Linux網路的配置詳解

現在該將先前所有的理論知識付諸於實踐了。接下來,我們將探討: ? Red Hat 7 中負責網路介面的配置檔案 ? 使用 ifconfig 檢查和配置介面 ? 新增和編輯靜態路由 ? 使用 netstat 對網路介面進行監視/排除故障 一.關鍵檔案和指令碼 網路介面初始化的實

linux 網路程式設計結構體定義對應的標頭檔案

netinet/if_ether.h   ether_arp的資料結構 netinet/ether.h    以太禎的網路位元組和ascii位元組的轉換,包括ether_ntoa(),ether_aton這樣的函式定義 netinet/ip.h   這個標頭檔案和linux/ip.h似乎很相似,也有iphd

Linux網路監控工具ntopng(一)環境搭建

        首先,請安裝CentOS系統:https://www.centos.org/download/        安裝過程中,科普一下ntopng的“歷史”......1.ntopng是什麼?        ntopng 高速的基於Web的流量分析與集流工具。nt

linux網路程式設計

Linux的SOCKET程式設計詳解 1. 網路中程序之間如何通訊 進 程通訊的概念最初來源於單機系統。由於每個程序都在自己的地址範圍內執行,為保證兩個相互通訊的進 程之間既互不干擾又協調一致工作,作業系統為程序通訊提供了相應設施,如 UNIX

Linux 網路效能測試工具 iperf 的安裝和使用

好久沒寫文章,iperf 也一直有用,感覺不錯就記錄一下 說明: OS :CentOS 6.4 x86_64 Server: 192.168.100.55 Client: 192.168.100.6 簡介: Iperf是一個網路效能測試工具。可以測試TCP和UDP頻寬質量,

Linux網路監控工具總結

對任何規模的業務來說, 網路監控工具都是一個重要的功能. 網路監控的目標可能千差萬別. 比如, 監控活動的目標可以是保證長期的網路服務、安全保護、對效能進行排查、網路使用統計等. 由於它的目標不同, 網路監控器使用很多不同的方式來完成任務. 比如對包

Linux網路相關結構體 struct addrinfo

一、簡介 結構體定義如下: struct addrinfo { int ai_flags; /* Input flags. */ int ai_family; /* Protoc

(筆記)Linux網路程式設計,採用TCP協議實現的C/S架構

TCP/UDP介紹 TCP(Transfer Control Protocol)傳輸控制協議是一種面向連線的協議, 當我們的網路程式使用這個協議的時候,可以保證我們的客戶端和服務端的通訊是可靠的,安全的,適合於傳輸大批量資料的情況. UDP(User Da

Linux網路程式設計之自定義協議進行併發多客戶端與伺服器的通訊(多程序處理併發)不足佔用資源太多

自定義協議訊息體*********msg.h*************#ifndef _MSG_H_#define _MSG_H_struct msg{ char head[10]; //頭部 char msg_chck; //效驗碼 char buff[512];/