<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    分享java帶來的快樂

    我喜歡java新東西

    Linux服務器網卡驅動安裝及故障排除

    Linux服務器網卡驅動安裝及故障排除

    作者: 出處:計算機世界  ( 21 ) 磚  ( 35 ) 好  評論 ( 0 ) 條  進入論壇
    更新時間:2006-05-08 15:11
    關 鍵 詞:Linux
    閱讀提示:各種設備驅動程序構成了Linux操作系統代碼的主要部分,而網卡的驅動又是Linux操作系統中極其重要的一塊,本文作一介紹。

    網卡是Linux服務器中最重要網絡設備。據統計,Linux網絡故障有35%在物理層、 25%在數據鏈路層、10%在網絡層、10%在傳輸層、10%在對話、7%在表示層、3%在應用層。由此可以看出,網絡故障通常發生在網絡七層模型的下三層,即物理層、鏈路層和網絡層。對應于實際網絡也就是使用的網絡線纜、網卡、交換機、路由器等設備故障。Linux的網絡實現是模仿FreeBSD的,它支持FreeBSD的帶有擴展的Sockets(套接字)和TCP/IP協議。它支持兩個主機間的網絡連接和Sockets通訊模型,實現了兩種類型的 Sockets:BSD Sockets和INET Sockets。它為不同的通信模型和服務質量提供了兩種傳輸協議,即不可靠的、基于消息的UDP傳輸協議和可靠的、基于流的傳輸協議TCP,并且都是在 IP網絡協議上實現的。INET sockets是在以上兩個協議及IP協議之上實現的。

    由于交換機、路由器通常獨立于Linux或者其他操作系統。網卡設置故障是造成Linux 服務器故障最主要原因。可能因為硬件的質量或性能、磨損老化、人為誤操作、不正確的網絡設置、管理問題、Linux軟件的BUG、系統受到黑客攻擊和Linux病毒等原因造成。

    Linux 服務器網卡故障排除的思路是:應當遵循先硬件后軟件的方法。因為硬件如果出現物理損壞那么如何設定網卡都不能解決故障。解決問題的方法可以從自身Linux計算機的網卡查起,如果確定硬件沒有問題了,再來考慮軟件的設定。

    1. 網卡的選擇

    一般來說,2.4版本以后的 Linux可以支持的網卡芯片組數量已經很完備了,包括著名廠商如:Intel 以及使用廣泛的 RealTek, Via 等網卡芯片都已經被支持,所以使用者可以很輕易的設定好他們的網絡卡。但是由于Linux發行版本眾多(目前超過188個),使用前最好查看Linux發行版本的文檔。以Redhat Linux 9.0為例,這個設備列表在Ethernet- HOWTO文檔中。另外最直接的方法是查看一個目錄:/lib/modules/release/kernel/drivers/net,其中 release是內核版本,可以使用命令:“uname -r”獲得。對于Redhat Linux 9.0是2.4.20-8。
                

    #ls /lib/modules/2.4.20-8/kernel/drivers/net/

    3c501.o atp.o eth16i.o ni52.o smc-ultra.o

    3c503.o bonding.o ethertap.o ni65.o starfire.o

    3c505.o cs89x0.o ewrk3.o ns83820.o strip.o

    3c507.o de4x5.o fc pcmcia sundance.o

    3c509.o de600.o fealnx.o pcnet32.o sungem.o

    3c515.o de620.o hamachi.o plip.o sunhme.o

    3c59x.o defxx.o hamradio ppp_async.o tc35815.o

    8139cp.o depca.o hp100.o ppp_deflate.o tg3.o

    8139too.o dgrs.o hp.o ppp_generic.o tlan.o

    82596.o dl2k.o hp-plus.o ppp_synctty.o tokenring

    8390.o dmfe.o irda r8169.o tulip

    ac3200.o dummy.o lance.o rcpci.o tulip_old

    acenic.o e100 lne390.o sb1000.o tun.o

    aironet4500_card.o e1000 lp486e.o shaper.o via-rhine.o

    aironet4500_core.o e2100.o mii.o sis900.o wan

    aironet4500_proc.o eepro100.o natsemi.o sk98lin wavelan.o

    amd8111e.o eepro.o ne2k-pci.o skfp wd.o

    appletalk eexpress.o ne3210.o slhc.o winbond-840.o

    arlan.o epic100.o ne.o slip.o wireless

    arlan-proc.o eql.o netconsole.o smc9194.o wireless_old

    at1700.o es3210.o ni5010.o smc-ultra32.o yellowfin.o

    可以看到這個目錄列出所有Linux內核支持的網絡設備驅動程序。其中大部分是以太網卡(8139、3COM、Intel)。也有一些是其他類型設備。對于初學者應當盡量選擇目錄中已經列出的網卡。注意以.o 后綴結束的文件就是驅動程序。而沒有后綴的是驅動程序目錄(紅色)。

    3.為新網卡設定IP地址

     

    在Linux 網絡設備在配置時被賦予別名,該別名由一個描述性的縮略詞和一個編號組成。某種類型的第一個設備的編號為 0,其他設備依次被編號為 1、2、3,等。但是網卡并不是最為裸設備出現在/dev目錄下,而是存在內存中。eth0, eth1是以太網卡接口。它們用于大多數的以太網卡,包括許多并行端口以太網卡。本文主要討論這類網卡。為Linux以太網卡設定IP地址的方式非常靈活,你可以選擇適合你工作情況的方法:

    (1) 使用ip或ifconfig命令

    ifconfig命令是最重要的Linux網絡命令,最主要的用途是設定、修改網卡的IP地址,修改網卡ip地址:
    #ifconfig eth0 192.168.0.2 netmask 255.255.255.0

    默認情況下, ifconfig 顯示活動的網絡設備。給這個命令添加一個 -a 開關就能看到所有設備。但是ifconfig命令設置網絡設備的ip地址系統重新啟動后設置會自動失效。所以它主要用于網卡狀態調試。假設您要建立一個臨時的網絡配置以供測試。您可以使用發行版本中的工具來編輯配置,但是需要注意在完成測試之后,將所有設置恢復回去。通過使用 ifconfig ,我們無需影響已保存的設置,就能夠快速地配置網卡。

    Ip命令是iproute2軟件包里面的一個強大的網絡配置工具,它能夠替代一些傳統的網絡管理工具。例如:ifconfig、route等。 現在,絕大多數 Linux 發行版和絕大多數 UNIX都使用古老的arp, ifconfig和route命令。雖然這些工具能夠工作,但它們在Linux2.2和更高版本的內核上顯得有一些落伍。使用iproute2前你應該確認已經安裝了這個工具。這個包的名字在RedHat Linux 9.0叫作“iproute2”,也可以在:ftp://ftp.inr.ac.ru/ip-routing/ 下載源代碼安裝。

    如果希望在以太網接口eth0上增加一個地址10.0.0.1,掩碼長度為24位,標準廣播地址,標簽為eth0:Alias:
    #ip addr add 10.0.0.1/24 brd + dev eth0 label eth0:Alias 

    netconfig命令可以設置網絡設備的ip地址,netconfig命令可以永久保存設置。

    使用方法是:“netconfig ethX”。使用命令“netconfig eth0”后會在命令行下彈出一個對話框,這時即可進行設定。

    設定結束后用“tab”鍵選擇“OK”即可保存設置并且退出。然后使用命令:“service network restart “激活即可生效。

    使用neat命令需要配置好X window系統,在命令行下運行“neat”命令后添加IP地址和其他相關參數后保存設置,從新啟動網絡和網絡服務或計算機。

    另外neat命令還有一個同價命令:“redhat-config-network”,二者完全相同。Neat和redhat-config-config命令可以永久保存設置。

    除非另行指定,Red Hat Linux 系統中大多數配置文件都在 /etc 目錄中。網卡相關的TCP/IP網絡配置文件是:/etc/sysconfig/network-scripts/ifcfg-ethx。其中x從0開始,第一個以太網配置文件即:/etc/sysconfig/network-scripts/ifcfg-eth0。使用vi編輯器修改這個文件,也可以修改網卡IP地址。
    #vi /etc/sysconfig/network-scripts/ifcfg-eth0 

    DEVICE=eth0#設定網卡的名稱,要跟文件名稱對應 #

    ONBOOT=yes#是否在開機的的時候啟動網卡#

    BOOTPROTO=static #啟動的時候的 IP 取得的協議,這里是固定的,

    如果是動態主機的話,要改成 dhcp 才行#

    IPADDR=192.168.1.2 #IP 地址#

    NETMASK=255.255.255.0#子網掩嗎#

    NETWORK=192.168.1.0#該網段的第一個 IP#

    BROADCAST=192.168.1.255#最后一個同網段的廣播地址#

    GATEWAY=192.168.1.2#網關地址#

    #GATEWAYDEV=eth0

    存盤后使用命令:“service network restart “激活即可生效。這個方法同樣可以永久保存設置。

    (5) 為網卡添加IPV6地址

    和Windows系統相比Linux對Ipv6的支持更好,最早的支持Ipv6的Linux 內核是 2.2.xxx。一般Linux基于2.4內核的Linux發行版本都可以直接使用Ipv6,使用前要看系統IPv6模塊是否被加載,如果沒有的話可以使用命令手工加載,這需要超級用戶的權限。然后使用命令檢測,如果顯示IPv6地址(inet6 addr:fe80::200:e8ff:fea0:2586/64)證明IPv6已經加載。
    # modprobe IPv6;#ifconfig -a

    如果希望Linux系統啟動時自動加載Ipv6模塊,可以在配置文件:/etc/modules.conf中加入一行:
    alias net?pf?10 ipv6 # automatically load IPv6 module on demand

    4.調整網卡工作模式

    現在的網卡大多是自適應工作模式,在配置網卡參數時我們很少考慮它的工作模式,有時發現一些網卡模塊已經加載,但是在某些模式工作不穩定。如筆者使用的一塊XXX品牌的雜牌RTL-8139C芯片10/100自適應網卡在100兆全雙工狀態下極其不穩定(在Qcheck的TCP和UDP的測試過程中,數據包遺失率9.12%。)。在Linux環境下,我們可以使用系統自帶的工具mii-tool 命令來配置網卡工作模式。顯示Linux服務器網卡支持的所有以太網卡類型,使用命令:
                

    # mii-tool -v

    eth0: negotiated 100baseTx-FD, link ok

    product info: vendor 00:00:00, model 0 rev 0

    basic mode: autonegotiation enabled

    basic status: autonegotiation complete, link ok

    capabilities: 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD

    advertising: 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD

    link partner: 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD

    從以上信息中可以看出,這塊網卡工作在100全雙工自適應模式下,“100aseTx-FD”意為100M Full Duplex。這里可以強制網卡工作在100M半工模式下,輸入命令:
    #mii-tool –F 100baseTx-HD eth0 

    以后恢復網卡的自適應工作模式,輸入命令:
    #mii-tool –r eth0 

    另外路由器、交換機、代理服務器等通信量比較大的關鍵設備上,應該為它指定正確的工作模式,這樣可以提高通信效率。

    5.DHCP客戶端網卡設定

    如果希望使用DHCP是動態主機配置協議,這個協議用于向計算機自動提供IP地址,子網掩碼和路由信息。當設備接入這個局域網時,它們會向 DHCP 服務器請求一個 IP 地址。然后 DHCP 服務器為每個請求的設備分配一個地址,直到分配完該范圍內的所有 IP 地址為止。已經分配的 IP 地址必須定時地延長借用期。這個延期的過程稱作 leasing,確保了當客戶機設備在正常地釋放 IP 地址之前突然從網絡斷開時被分配的地址可以歸還給服務器。Linux下配置DHCP客戶端有兩種方法:圖形界面和手工配置。使用圖形界面可以使用neat 命令界面。選中“自動獲得IP地址設置使用DHCP”即可。

    通常筆者更喜歡使用選擇手工配置 DHCP 客戶,需要修改 /etc/sysconfig/network 文件來啟用聯網;并修改 /etc/sysconfig/network-scripts 目錄中每個網絡設備的配置文件。在該目錄中,每個設備都有一個叫做 ifcfg-ethX 的配置文件,ethX是網絡設備的名稱。如eth0等。如果你想在引導時啟動聯網,NETWORKING 變量必須 被設為 yes。除了此處之外/etc/sysconfig/network 文件應該包含以下行:
                

    NETWORKING=yes

    DEVICE=eth0

    BOOTPROTO=dhcp

    ONBOOT=yes

    6.VPN服務器網卡設置

     

    VPN是由經過相互授權的通信雙方在公網上建立的安全通信隧道,數據在隧道中進行加密傳輸,用于總部與分支機構的安全通信。虛擬專用網絡是一種新的網絡技術,用于跨過 Internet 或局域網而安全地訪問企業網。Redhat Linux下的VPN技術主要有CIPE (Crypto IP Encapsulation:加密 IP 封裝)是主要為 Linux 而開發的 VPN 實現。CIPE 使用加密的 IP 分組,這些分組被封裝或“包圍”在數據報(UDP)分組中。CIPE 分組被給以目標頭信息,并使用默認的 CIPE 加密機制來加密。CIPE 使用標準的 Blowfish 或 IDEA 加密算法來支持加密。根據你所在國家的加密出口法規而定,你可以使用默認方法(Blowfish)來加密你的專用網上的所有 CIPE 交通。CIPE 配置可以通過文本文件、圖形化的網絡管理工具來完成。這里以通過文本文件為例介紹。首先在服務器和客戶端安裝CIPE軟件。官方網站:http: //sites.inka.de/~ 運行CIPE VPN服務主要需要建立兩個文件:/etc/sysconfig/network-scripts/ifcfg-cipcbX和 /etc/cipe/options.cipcbX。X 是從0開始的遞增數字。

    (1)VPN服務器端網卡設置

    首先手工建立/etc/sysconfig/network-scripts/ifcfg-cipcb0文件,它是VPN服務器的虛擬網絡接口,主要內容:

    USERCTL=yes #是否允許所有用戶修改配置#

    TYPE=CIPE #接口類型#

    DEVICE=cipcb0 #給 CIPE 設備命名#

    ONBOOT=yes #系統啟動時激活設備#

    IPADDR=10.0.0.1 #本地虛擬地址#

    MYPORT=7777 #通訊端口#

    PTPADDR=10.0.0.2 #遠程虛擬地址#

    PEER=0.0.0.0 #本地地址,0.0.0.0 表示接受連續監聽#

    ME=192.168.1.9 #對端的 CIPE UDP 地址#

    TUNNELDEV=eth0 #隧道穿越設備#

    然后建立/etc/cipe/options.cipcb0文件,這個文件存放密匙,主要內容:

    cttl 64 #設置載體生存時間值(TTL);推薦的值是64#

    maxerr –1 #服務器錯誤掛起時間#

    key 54240266869983357939377846801171299051 #128位密匙#

    (2)客戶端網卡的配置

    由于CIPE要求服務器和客戶機的密匙完全相同所以,首先將密匙文件:options.cipcb從服務器復制到客戶機主機的/etc/cipe/ 目錄中。

    # scp root@192.168.1.9:/etc/cipe/options.cipcb0 /etc/cipe/options.cipcb0

    Are you sure you want to continue connecting (yes/no)? yes

    Warning: Permanently added '192.168.1.9' (RSA) to the list of known hosts.

    root@192.168.1.9's password:

    options.cipcb0 100% |***************************************| 61 00:00

    然后使用vi編輯器建立客戶端網卡配置文件:/etc/sysconfig/network-scripts/ifcfg-cipcb0包含以下內容:

    USERCTL=no #不允許客戶端修改配置#

    BOOTPROTO=none

    TYPE=CIPE #接口類型#

    DEVICE=cipcb0 #給 CIPE 設備命名#

    ONBOOT=yes #系統啟動時激活設備#

    IPADDR=10.0.0.2 #本地虛擬地址#

    MYPORT=7777 #通訊端口#

    PTPADDR=10.0.0.1 #遠程虛擬地址#

    PEER=192.168.1.29:7777 #VPN服務器真實IP地址和端口號#

    ME=192.168.1.9 #對端的 CIPE UDP 地址#

    TUNNELDEV=eth0 #隧道穿越設備#

    MTU=“” #使用缺省設置#

    NETMASK=“” #使用缺省設置#

    NETWORK=“” #使用缺省設置#

    BROADCAST=“” #使用缺省設置#

    (3)使用ifup命令激活VPN網卡
    # ifup cipcb0 

    這時VPN通道已經開啟,可以使用tcpdump等工具檢查。

    7.無線網卡在Linux下安裝

     

    隨著Linux網絡技術的快速增長,硬件廠商大大加速對硬件產品對Linux的技術支持。使得Linux 支持的無線網卡的數量在過去的一兩年里增長顯著。一旦在計算機中安裝好了無線局域網卡,首先要做的就是安裝驅動來讓網卡工作。無線網卡實現了IEEE 802.11系列協議中的一種或多種的物理層(PHY)和媒質訪問控制子層(MAC)的功能,而驅動是用來控制無線網卡,向上提供與以太網一致的接口并提供其他一些無線局域網特定的管理接口的。對于不同廠商的不同網卡,還沒有一種統一的方法可以驅動所有的網卡。首先必須確保內核配置中啟動了無線局域網。如果沒有無線局域網支持,你應該重新配置、編譯內核來啟動"Wireless LAN (non-hamradio) Drivers and Wireless Extensions"。

    目前,常見的無線網卡大多為PCMCIA、PCI和USB三種類型,筆者使用最多的是 PCMCIA(Personal Computer Memory Card International Association)接口的無線網卡。對于有些設備,配置無線連接非常簡單:只要在您使用的 Linux 發行版本,插入無線網卡,在設置過程中單擊鼠標,并輸入正確的聯網參數就可以了。通常基于朗訊(Lucent)芯片組的無線網卡的安裝比較簡單,筆者使用的Cisco Aironet Wireless 802.11b 在Mandrake 8.2 Linu安裝程序可以順利地找到設備驅動, 使用基于intersil PRISM2-based cards 芯片組的PCMCIA的無線網卡安裝就比較復雜了。需要一個第三方工具安裝。

    目前經過www.Linux.org 認證的PCMCIA網卡有兩大類。使用基于朗訊(Lucent)芯片組的PCIMCIA無線網卡和使用基于intersil PRISM2-based cards 芯片組的PCMCIA的無線網卡見表-1。

    Lucent chipset-based cards intersil PRISM2-based cards

    Lucent Wavelan/IEEE and Orimoco Linksys(WPC11 v2.5)

    Cabletron/Enterays RoarmAbout SMS(2632W)

    Compaq(WL110、WL210、 WL215) Compaq(WL100、WL200)

    Apple Airport Cisco Aironet Wireless 802.11b(340、350)

    IBM High Rate Wireless LAN Dlink DWL-650

    HP 802.11bWiewless LAN Nokia

    DELL TrueMobile Intel PRO/Wireless 2100

    3Com AirConnect SAMSUNG 11Mbps WLAN Card

    LA4111 Spectrum24 Wireless LAN PC Card PROXIM LAN PC CARD HARMONY 80211B

    NCR WaveLAN/IEEE Adapter

    總的來說Linux下無線網卡的安裝順序一般是:

    采取全部安裝方式安裝Linux發行版本,重新編譯內核,并除去任何對內核提供的 PCMCIA 驅動程序的部分。

    了解網卡的規格并且下載并編譯相應的 PCMCIA-CS 庫和驅動程序

    下載、編譯并安裝無線網卡必需的所有驅動程序。這一步驟對于有些網卡是可選的,而對于有些網卡是必須執行的。做與不做很大程度上取決于您所選的無線網卡。

    修改和無線網卡的相關設定。從新啟動Linux系統和網絡。

    設置無線網絡相關步驟如下:

    (1)用“iwconfig”命令來顯示無線網卡(eth0、eth1)的信息。在以下的步驟中,用ethX表示無線網卡的名稱。

    (2)設置無線網卡的操作模式為Managed:
    #iwconfig ethX mode Managed

    (3)如果采用了WEP加密,需要設置WEP密碼:
    #iwconfig ethX key password XXXXXX

    對應40位和128位加密,password分別為6位和10位的十六進制數字。

    (4)設置SSID,其中ESSID為無線接入(Access Point)的SSID。
    # iwconfig ethX essid ESSID

    (5)創建/etc/sysconfig/network/ifcfg-ethX配置文件,使得機器每次啟動時,無線網卡都會自動獲得IP地址。該文件內容如下:
                

    BOOTPROTO=‘dhcp’

    MTU=‘’

    REMOTE_IPADDR=‘’

    STARTMODE=‘onboot’

    UNIQUE=‘’

    (6)啟動無線網卡:
    #ifconfig ethX up

    posted on 2007-10-09 07:08 強強 閱讀(407) 評論(0)  編輯  收藏 所屬分類: linux 操作系統配置

    主站蜘蛛池模板: 亚洲成色在线综合网站| 亚洲婷婷综合色高清在线| 亚洲av日韩av激情亚洲| 亚洲精品中文字幕| 91久久成人免费| 综合久久久久久中文字幕亚洲国产国产综合一区首 | 亚洲电影唐人社一区二区| 久久国产免费直播| 国产免费av片在线无码免费看 | 亚洲乱人伦中文字幕无码| 国产亚洲午夜高清国产拍精品 | 特级aa**毛片免费观看| 无码少妇一区二区浪潮免费| 亚洲国产精品无码久久久不卡| 亚洲啪啪免费视频| 免费看美女午夜大片| 四只虎免费永久观看| 无码日韩精品一区二区三区免费| 亚洲欧洲无码AV电影在线观看 | jizzjizz亚洲| 欧亚一级毛片免费看| 亚洲精品中文字幕乱码影院| 亚洲日韩国产成网在线观看| 一级毛片免费一级直接观看| 亚洲av无码乱码在线观看野外| 一进一出60分钟免费视频| 中文字幕乱码亚洲无线三区| 高清国语自产拍免费视频国产 | 国产精品亚洲视频| 在线观看免费人成视频色| 一个人看的www免费视频在线观看 一个人免费视频观看在线www | 亚洲精品无码久久久久YW| 亚洲高清资源在线观看| 亚洲中文无码永久免费| 久久国产精品成人免费| 免费人成网站永久| 亚洲第一成年网站视频| 免费萌白酱国产一区二区| 黄色成人网站免费无码av| 亚洲欧美中文日韩视频| 亚洲综合久久1区2区3区|