以太网

本节包括专门针对以太网及以太网卡配置的内容。

获得支持的以太网卡

GNU/Linux 支持几乎每个已知的网卡。将其全部列出毫无意义。如果您在安装网卡时有问题,请参考其随附的文档(如果有的话)或者其制造商的网站。您也可在 /usr/src/linux/Documentation/networking/ 目录中搜寻某些 NIC 专门针对内核的文档。

以太网基础

以太网设备名类似 eth0eth1eth2 等。内核检测到的第一个网卡被赋予 eth0 名称,而其余的按照其被检测到的顺序排列。

只要您正确编译了内核以支持以太网卡,对网卡的配置就十分简单。

通常您应该如下操作(大多数发行版被设置支持以太网后将会替您完成):

root# ifconfig eth0 192.168.0.1 netmask 255.255.255.0 up
root# route add -net 192.168.0.0 netmask 255.255.255.0 eth0

大部分以太网驱动程序由 Donald Becker 开发。

在同一台机器上使用2块以上以太网卡

所有正确安装的网卡将会被自动探测到。

探测信息保存于文件 /etc/modules.conf

假设某一用户有三块 NE2000 网卡,其一在 0x300,其二在 0x240,最后一块在 0x220。那他需要将以下三行添加到 /etc/modules.conf 文件:

alias eth0 ne
alias eth1 ne
alias eth2 ne
options ne io=0x220,0x240,0x300

它们的作用是告诉 modprobe 程序在上述 3 个地址上寻找 NE 型网卡。它们同时指出寻找的顺序以及应被赋予的设备。

大多数 ISA 模块能够接受由逗号分隔的多个 I/O 值。例如:

alias eth0 3c501
alias eth1 3c501
options eth0 -o 3c501-0 io=0x280 irq=5
options eth1 -o 3c501-1 io=0x300 irq=7

选项 -o 允许对每个模块赋予一个独特的名字。这是因为同一模块不能加载两次。

选项 irq= 用以指定硬件 IRQ,选项 io= 用以指定不同的 I/O 端口。

通常,Linux 内核只探测一个以太网设备。必须向内核提供命令行选项来强制对其他设备的检测。

欲了解如何让以太网卡在 Linux 下工作,请参考 Ethernet-HOWTO