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。
|
可以看到这个目录列出所有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服务器网卡支持的所有以太网卡类型,使用命令:
|
从以上信息中可以看出,这块网卡工作在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 文件应该包含以下行:
|
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地址。该文件内容如下:
|
(6)启动无线网卡:
#ifconfig ethX up |
相关推荐
Linux 服务器网卡驱动安装及故障排除 Linux 服务器网卡驱动安装是 Linux 服务器最重要的网络设备安装之一。网卡是 Linux 服务器中最重要的网络设备,据统计,Linux 网络故障有 35%在物理层、25%在数据链路层、10...
本文主要围绕Linux服务器网卡驱动的安装和故障排除展开,探讨了常见问题及其解决策略。 首先,Linux系统对网卡的支持广泛,包括Intel、RealTek和Via等知名厂商的芯片组。不过,考虑到不同Linux发行版可能存在差异,...
8. **硬件故障处理**:涉及硬件驱动问题,如显卡、网卡等设备的识别和故障排除。 9. **脚本与自动化故障**:解释bash脚本中的常见错误,以及cron定时任务的调试。 10. **故障预防与恢复策略**:介绍备份与还原方案...
2. **HELP.EXE**:这是一个帮助文件,通常包含有关驱动程序的使用说明、常见问题解答和故障排除等信息,用户在遇到问题时可以查阅此文件获取帮助。 3. **FILEPATH.LST**:这个文件可能记录了驱动程序安装所需的文件...
4. **图形界面固件**:例如HP Integrated Lights-Out (iLO)固件,这是HP服务器的远程管理工具,允许管理员通过网络进行监控、配置和故障排除。 5. **SAS/SATA控制器驱动**:用于驱动硬盘和磁盘阵列,支持SAS(串行 ...
8. 用户诊断和故障排除:文档还包含了用户诊断和故障排除的信息,这些信息可以帮助用户在遇到问题时快速定位和解决问题。 9. 版权声明和责任限制:文档以版权声明作为结尾,指出文档的版权归Broadcom Corporation...
在排除故障之后,还需要进行故障总结,造成Linux系统死机的原因通常包括: - 外围硬件问题,比如网络硬件故障; - 软件问题,包括系统软件和应用软件; - 驱动程序的bug,可能需要寻找新的驱动或更新到最新版本; - ...
因此,了解如何使用ping命令进行网络诊断、查看日志文件、检查网卡驱动程序和固件版本、以及利用Windows和Linux系统提供的诊断工具进行故障排除是非常重要的。 ### 总结 通过以上知识点可以了解到,Windows Server ...
2. **驱动程序缺失或错误**:安装过程中,正确的网卡驱动程序可能未被正确安装或被错误的驱动程序覆盖。 3. **硬件故障**:虽然可能性较低,但也不能排除网卡本身的硬件故障。 ### 解决方案与实践 解决此类问题...
在RHEL5 (Red Hat Enterprise Linux ...同时,安装过程中可能遇到各种问题,如依赖性问题、硬件兼容性问题等,需要具备一定的故障排除能力。在整个流程中,确保遵循Oracle和Esri的官方文档,以及利用社区资源解决问题。
在PowerEdge T30的用户手册中,详细介绍了系统的外观和内部组成、支持的配置和操作系统、硬件规格、系统设置和初始配置方法、系统故障排除以及如何安装和卸下系统组件。此外,还包含对如何使用系统诊断程序、各种...
总的来说,网卡配置和网络工具的熟练掌握是IT专业人士的基础技能,它们对于网络的正常运行和故障排除至关重要。了解并运用这些知识,可以有效地管理和维护网络环境,保障网络服务的稳定性和安全性。
常见问题及故障排除 - 提供了在使用过程中可能遇到的一些常见问题的解决方案以及故障排除方法。 - 强调在遇到问题时首先与软件提供商联系,然后再与浪潮技术支持团队进行沟通。 - 提醒用户注意对数据进行备份,以防...
INTEL 82574L是一款高性能的千兆以太网控制器,广泛...通过深入阅读“82574l-gbe-controller-datasheet.pdf”,用户可以获取更多关于该控制器的技术规格、操作指南和故障排除信息,以便于在实际应用中充分发挥其性能。
4. **用户手册**:提供安装、配置和故障排除的指南,帮助用户正确使用和维护网卡。 5. **固件更新**:针对8139的固件更新,可能会包含性能优化或新功能添加。 6. **开发资源**:可能包含API文档、示例代码,供开发者...
指南将提供诊断工具和故障排除步骤,帮助用户定位并解决问题。 在1.txt和11R3125.pdf这两个文件中,很可能是详细的安装步骤、图表说明和故障代码解析等内容。用户在实际操作前应仔细阅读这些文档,以确保安装过程...
5. **网络诊断与故障排除**: - `ping`命令测试网络连通性。 - `traceroute`或`tracert`追踪数据包的传输路径,找出网络延迟或丢包问题。 - 使用网络诊断工具,如Wireshark抓包分析,查找网络异常。 6. **网络...
2. 使用服务器自带的监测工具:在服务器硬件层面进行测试,可以作为诊断故障的一个手段。通过这些工具,可以检测到硬件设备在高负载条件下的稳定性和性能。 接下来是软件问题排查,当确定问题不是由硬件引起时,...