ethtool查看和配置网卡

2025-04发布6次浏览

ethtool查看和配置网卡

一、ethtool简介

ethtool 是一个功能强大的工具,用于查询和控制网络驱动程序和硬件设置。它可以用来查看网卡的详细信息、修改网卡的工作模式、调整中断设置等。

在Linux系统中,网络接口的性能优化和故障排查通常需要借助 ethtool 来完成。通过它,用户可以轻松地获取网卡的状态信息(如速度、双工模式、驱动版本等),并根据需求进行配置。


二、安装ethtool

大多数现代Linux发行版已经预装了 ethtool。如果未安装,可以通过以下命令安装:

在Debian/Ubuntu系统上:

sudo apt-get update
sudo apt-get install ethtool

在CentOS/RHEL系统上:

sudo yum install ethtool

在Fedora系统上:

sudo dnf install ethtool

三、使用ethtool查看网卡信息

以下是常用的 ethtool 命令及其功能:

1. 查看网卡基本信息

ethtool eth0

该命令会显示网卡的基本信息,包括:

  • 驱动程序名称
  • 硬件地址(MAC地址)
  • 支持的速度和双工模式
  • 当前连接状态(是否启用)

2. 查看网卡支持的速度和双工模式

ethtool -s eth0

此命令列出网卡支持的所有速度(如10Mb/s、100Mb/s、1Gb/s)以及全双工或半双工模式。

3. 查看网卡驱动版本

ethtool -i eth0

输出示例:

driver: e1000e
version: 3.2.6-k
firmware-version: 0.5-4
bus-info: 0000:01:00.0

4. 查看网卡统计信息

ethtool -S eth0

该命令会显示网卡的统计数据,例如传输的字节数、丢包数等。

5. 查看网卡环回测试状态

ethtool -t eth0

此命令用于执行网卡的自检测试,帮助判断网卡是否正常工作。


四、使用ethtool配置网卡

除了查看信息外,ethtool 还可以用来配置网卡参数。

1. 设置网卡速度和双工模式

sudo ethtool -s eth0 speed 1000 duplex full autoneg off

上述命令将 eth0 的速度设置为1000Mbps,双工模式为全双工,并关闭自动协商。

2. 启用或禁用网卡

sudo ethtool -s eth0 up    # 启用网卡
sudo ethtool -s eth0 down  # 禁用网卡

3. 修改网卡的MTU值

最大传输单元(MTU)是单个数据包可以承载的最大大小。可以通过以下命令修改:

sudo ifconfig eth0 mtu 9000

或者使用 ip 命令:

sudo ip link set dev eth0 mtu 9000

4. 启用或禁用特定功能

某些网卡支持高级功能(如流量控制、校验和卸载等)。可以通过以下命令启用或禁用这些功能:

sudo ethtool -K eth0 tso on    # 启用TSO(TCP分段卸载)
sudo ethtool -K eth0 gso off   # 禁用GSO(通用分段卸载)

五、实践步骤

实践场景:调整网卡速度和双工模式

  1. 检查当前网卡状态

    ethtool eth0
    

    记录当前的速度、双工模式和自动协商状态。

  2. 修改网卡配置 假设需要将网卡设置为100Mbps全双工模式,并关闭自动协商:

    sudo ethtool -s eth0 speed 100 duplex full autoneg off
    
  3. 验证修改结果 再次运行以下命令,确认配置已生效:

    ethtool eth0
    

六、扩展知识

  1. 自动协商(Auto Negotiation)
    自动协商是一种机制,允许网卡与对端设备协商最佳的通信参数(如速度和双工模式)。如果手动设置了不匹配的参数,可能会导致通信问题。

  2. MTU优化
    调整MTU值可以显著提升网络性能,尤其是在使用Jumbo Frames(巨型帧)时。但需要注意的是,过大的MTU可能导致兼容性问题。

  3. 流量控制(Flow Control)
    流量控制用于防止接收方因缓冲区溢出而导致的数据丢失。可以通过 ethtool 启用或禁用该功能。