Linux更改以太网卡的速度和双工设置

时间:2020-01-09 10:41:17  来源:igfitidea点击:

问题描述:如何更改以太网卡的双工速度?

解决方法:

在Linux下使用mii-tool或ethtool软件包,该软件包允许Linux sys管理员修改/更改和查看网络接口卡(NIC)的协商速度,即对强制特定的以太网速度和双工设置很有用。

根据系统上安装的以太网卡类型,您需要使用" mii-tool"或" ethtool"。
我建议同时安装两者并使用其中一种可与您的卡配合使用的工具。

安装mii-tool和ethtool工具

如果您使用的是Debian Linux,则可以使用以下命令安装这两个软件包:

# apt-get install ethtool net-tools

如果您使用的是Red Hat Enterprise Linux,则可以使用以下命令安装这两个软件包:

# up2date ethtool net-tools

如果您使用的是Fedora Core Linux,则可以使用以下命令安装这两个软件包:

# yum install ethtool net-tools

获取eth0的速度和其他信息

以超级用户身份执行以下命令:

# ethtool eth0

输出:

Settings for eth0:
     Supported ports: [ TP MII ]
     Supported link modes:   10baseT/Half 10baseT/Full
                             100baseT/Half 100baseT/Full
     Supports auto-negotiation: Yes
     Advertised link modes:  10baseT/Half 10baseT/Full
                             100baseT/Half 100baseT/Full
     Advertised auto-negotiation: Yes
     Speed: 100Mb/s
     Duplex: Full
     Port: MII
     PHYAD: 32
     Transceiver: internal
     Auto-negotiation: on
     Supports Wake-on: pumbg
     Wake-on: d
     Current message level: 0x00000007 (7)
     Link detected: yes

或使用mii-tool命令,如下所示:

# mii-tool eth0

输出:

eth0: negotiated 100baseTx-FD flow-control, link ok

更改速度和双工设置

使用mii-tool设置eth0协商的速度禁用自动协商,并强制将MII设置为100baseTx-FD,100baseTx-HD,10baseT-FD或10baseT-HD:

# mii-tool -F 100baseTx-HD
# mii-tool -F 10baseT-HD

使用ethtool设置eth0协商的速度

# ethtool -s eth0 speed 100 duplex full
# ethtool -s eth0 speed 10 duplex half

要使这些设置永久化,您需要创建一个shell脚本并从/etc/rc.local(Red Hat)中调用,或者如果您使用的是Debian,请在目录/etc/init.d /中创建一个脚本,然后运行update-rc.d命令更新脚本。