大家可以通过以下命令查看自己的系统版本!

[root@localhost root]# uname -a
Linux localhost 2.4.20-8 #1 Thu Mar 13 17:54:28 EST 2003 i686 i686 i386 GNU/Linux
在2.4版本以后可以支持的网卡芯片已经非常的全面了,除了一些杂牌的外基本上主流与二流都给支持了。大家可以用以下命令看到系统支持的网卡芯片驱动。
[root@localhost root]# ls /lib/modules/2.4.20-8/kernel/drivers/net/
3c501.o acenic.o de4x5.o eepro100.o hamradio ne.o ppp_synctty.o smc-ultra.o tun.o
3c503.o aironet4500_card.o de600.o eepro.o hp100.o netconsole.o r8169.o starfire.o via-rhine.o
3c505.o aironet4500_core.o de620.o eexpress.o hp.o ni5010.o rcpci.o strip.o wan
3c507.o aironet4500_proc.o defxx.o epic100.o hp-plus.o ni52.o sb1000.o sundance.o wavelan.o
3c509.o amd8111e.o depca.o eql.o irda ni65.o shaper.o sungem.o wd.o
3c515.o appletalk dgrs.o es3210.o lance.o ns83820.o sis900.o sunhme.o winbond-840.o
3c59x.o arlan.o dl2k.o eth16i.o lne390.o pcmcia sk98lin tc35815.o wireless
8139cp.o arlan-proc.o dmfe.o ethertap.o lp486e.o pcnet32.o skfp tg3.o wireless_old
8139too.o at1700.o dummy.o ewrk3.o mii.o plip.o slhc.o tlan.o yellowfin.o
82596.o atp.o e100 fc natsemi.o ppp_async.o slip.o tokenring
8390.o bonding.o e1000 fealnx.o ne2k-pci.o ppp_deflate.o smc9194.o tulip
ac3200.o cs89x0.o e2100.o hamachi.o ne3210.o ppp_generic.o smc-ultra32.o tulip_old

以上的。o后缀文件就是驱动程序了,没有后缀的是目录。

一般在系统启动的时候都会自动的加载网卡驱动程序模块。有的时候可能因为系统没有你的芯片驱动,以至系统根本就没可能加载网卡驱动模块。对初学者来说,可能在此就已经调试很久,而又调试不好。最终因为无法上网怒而删除辛苦安装的系统。这里大家可以用以下命令去查看网卡驱动模块是否被加载。

[root@localhost root]# lsmod
Module Size Used by Not tainted
es1371 30792 0 (autoclean)
ac97_codec 13640 0 (autoclean) [es1371]
gameport 3364 0 (autoclean) [es1371]
soundcore 6404 4 (autoclean) [es1371]
ppp_synctty 7904 0 (unused)
ppp_async 9440 1
ppp_generic 24444 3 [ppp_synctty ppp_async]
slhc 6740 0 [ppp_generic]
parport_pc 19076 1 (autoclean)
lp 8996 0 (autoclean)
parport 37056 1 (autoclean) [parport_pc lp]
autofs 13268 0 (autoclean) (unused)
pcnet32 18240 1
mii 3976 0 [pcnet32]
ipt_REJECT 3928 6 (autoclean)
iptable_filter 2412 1 (autoclean)
ip_tables 15096 2 [ipt_REJECT iptable_filter]
sr_mod 18136 0 (autoclean)
ide-scsi 12208 0
ide-cd 35708 0
cdrom 33728 0 [sr_mod ide-cd]
keybdev 2944 0 (unused)
mousedev 5492 1
hid 22148 0 (unused)
input 5856 0 [keybdev mousedev hid]
usb-uhci 26348 0 (unused)
usbcore 78784 1 [hid usb-uhci]
ext3 70784 2
jbd 51892 2 [ext3]
mptscsih 37392 3
mptbase 41792 3 [mptscsih]
sd_mod 13452 6
scsi_mod 107128 4 [sr_mod ide-scsi mptscsih sd_mod]

红色部分就是我的网卡,因为我是在虚拟机上装的。所以模块名就是pcnet32了。找到网卡模块看到最后没有 (unused)的存在就表示已经加载成功。大家可能会问,网卡驱动模块名我怎么会知道其实也是通过命令去查找的。命令如下:

[root@localhost root]# lspci
00:00.0 Host bridge: Intel Corp. 440BX/ZX/DX - 82443BX/ZX/DX Host bridge (rev 01)
00:01.0 PCI bridge: Intel Corp. 440BX/ZX/DX - 82443BX/ZX/DX AGP bridge (rev 01)
00:07.0 ISA bridge: Intel Corp. 82371AB/EB/MB PIIX4 ISA (rev 08)
00:07.1 IDE interface: Intel Corp. 82371AB/EB/MB PIIX4 IDE (rev 01)
00:07.2 USB Controller: Intel Corp. 82371AB/EB/MB PIIX4 USB
00:07.3 Bridge: Intel Corp. 82371AB/EB/MB PIIX4 ACPI (rev 08)
00:0f.0 VGA compatible controller: VMWare Inc: Unknown device 0405
00:10.0 SCSI storage controller: LSI Logic / Symbios Logic 53c1030 (rev 01)
00:11.0 Ethernet controller: Advanced Micro Devices [AMD] 79c970 [PCnet32 LANCE] (rev 10)
00:12.0 Multimedia audio controller: Ensoniq ES1371 [AudioPCI-97] (rev 02)
如果在此看到网卡类型,而没有被加载可以通过以下命令进行加载
[root@localhost root]# modprobe pcnet32

如果出现错误,说明模块不存在。这时你就应该找到正确的模块并且重新编译了。如果你的网卡是杂牌,在官网都找不到linux下用的驱动的。那么你就看你网卡上最大的芯片型号是什么,抄下来。找到与此相兼容的芯片驱动就可以了!

那现在网卡驱动装好了,也加载了。那么接下来就是要设置IP地址信息。为linux网卡设置IP地址方法非常的灵活,大家根据需要选择。我介绍三种方法。

1.命令模式

[root@localhost root]# ifconfig eth0 192.168.0.1 netmask 255.255.255.0
命令模式只在本此启动有效,关机或重启必须重新设置。
2.文本图形模式
[root@localhost root]# netconfig
此方法设置为永久保存的。
3.图形界面
[root@localhost root]# neat

最后这种方式为大多数人使用,因为是在图形界面下设置的,同时此界面可以设置ADSL等方式的上网。当然还有其他的方法,比如说经典的修改配置文件了!但这里我就不写了。