ethtool

先解释几个名词:
Ethernet 指 10Mb/s
Fast Ethernet 指 100Mb/s
Gigabit Ethernet 指 1000Mb/s
然后具体 100baseT4,100baseTx,100baseFx 等主要是线缆的差别。详细的请看 wiki

ethtool 只适用于物理网卡,对于 bond0,tun0 等不适用。

下面的命令获取网卡驱动信息,而不需要通过 lsmod 来一条条查找:
# ethtool -i eth0

下面这条命令来获取网卡的传输数据:
$ ethtool -S eth0

跟踪网卡,这个对于有两个及其以上的机器特别有用,该方法会很容易的分别出哪个物理网卡对应哪个接口。下面这个会让 ethx 的 LED 橙色的灯持续闪烁 15s:
# ethtool -p ethx 15

测试网卡,有 online 和 offline 两种模式,前者会在不中断当前网路的状况下进行,而后者会中断网络,后者是默认的方式,如果你是远程连接的,建议不要使用 offline 的方式:
# ethtool -t eth0 [online|offline]

修改网卡的设置:
# ethtool -S eth0 speed 1000 duplex full autoneg on

或者分开来写也可以:
# ethtool -s eth0 speed 1000
# ethtool -s eth0 autoneg off
# ethtool -s eth0 duplex full

如果想在开机时自启,除了在 rc.local 下面追加下面的命令,也可以写在网络配置文件中。

# Ubuntu
# vi /etc/network/interfaces
up ethtool -s eth0 speed 1000 deplex full autoneg on

# CentOS
# vi /etc/sysconfig/network-scripts/ifcfg-eth0
ETHTOOL_OPTS="speed 1000 duplex full autoneg off"

另外还有一个比较老的工具叫 mii-tool,从 man 手册里面来看应该是不支持 1000Mb 的网卡。

参考:

http://www.linuxjournal.com/content/fun-ethtool