Linux下網路故障診斷

来源:http://www.cnblogs.com/linuxprobe/archive/2016/05/05/5462518.html
-Advertisement-
Play Games

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


Linux下網路故障診斷

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

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

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

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

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

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

網卡驅動程式

在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,也就是說,目前使用的乙太網卡介面eth0對應的模塊是pcnet32,可以使用一下命令當前系統裝載的模塊中是否有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]#

可以發現,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的某個埠才能訪問,則要求防火牆開啟相應的埠,否則,其它主機將不能訪問本機的這種服務。

免費提供最新Linux技術教程書籍,為開源技術愛好者努力做得更多更好:http://www.linuxprobe.com/


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • # 刪除 untracked files git clean -f # 連 untracked 的目錄也一起刪掉 git clean -fd # 連 gitignore 的untrack 文件/目錄也一起刪掉 (慎用,一般這個是用來刪掉編譯出來的 .o之類的文件用的) git clean -xfd ...
  • 首先,先選擇好你要安裝的iso文件(一般下載好Apache後,把該文件包製作成iso鏡像文件),然後選擇確定,如下圖所示: 進入系統後,以root用戶模式,輸入以下命令: 掛載光碟機,輸入以下命令: 進入/mnt目錄下,輸入以下命令: 把你要安裝的文件複製到/home目錄下,命令如下: 切換到/hom ...
  • 1、套接字的創建和關閉 使用套接字之前,必須使用socket函數創建一個套接字,此函數調用成功將返回一個套接字句柄。 type參數指定套接字的類型。套接字有流套接字、數據報套接字和原始套接字。 SOCK_STREAM 流套接字,使用TCP提供有連接的可靠的傳輸。 SOCK_DGRAM 數據報套接字, ...
  • 解壓這樣的壓縮包,會在當前用戶的家目錄下解壓:~./xxxx;加參數-C :tar -xvf xxx.tar -C / ;來指定根。 最好的是在解壓的時候也加參數P如:tar -xvPf xxx.tar ...
  • Linux伺服器時間同步 Linux伺服器時間同步 Linux伺服器時間同步 導讀 Linux伺服器運行久時,系統時間就會存在一定的誤差,一般情況下可以使用date命令進行時間設置,但在做資料庫集群分片等複雜操作時對多台機器的時間差是有要求的,此時就需要使用ntpdate進行時間同步。 Linux時 ...
  • 介紹 在日常的維護過程中創建用戶操作用的相對會多一些,但是在這個過程中涉及到的知識點就不單單就是useradd了,接下來就來詳細瞭解賬號管理的相關信息。 用戶信息 先從用戶信息開始分析,可以通過查詢/etc/password文件,每一行代表一個用戶信息 介紹 在日常的維護過程中創建用戶操作用的相對會 ...
  • 這節描述了IA-32架構的任務管理功能,只有當處理器運行在保護模式的時候,這個功能才是有效的,這節的側重點在32位任務和32位TSS結構上,關於16位的任務和16位TSS結構,請看7.6節,關於64位模式中,具體任務管理的信息,請看7.7節 7.1 任務管理概述 任務是處理器可以調度,執行和暫停的一 ...
  • 新建alias條目 臨時 alias monitor='gnome-system-monitor' 永久 可以在家目錄下,新建 .bash_aliases 文件,然後在其中加上你想要的替換的比如 alias monitor='gnome-system-monitor' 註意後邊alias後邊的mon ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...