aoaoethtool

发布于 2024年04月07日

命令使用指南

ethtool 是一个在 Linux 系统中用于查询和控制网络接口控制器(NIC)设置的工具。以下是如何使用 ethtool 的基本步骤:

  1. 查询网络接口的当前设置:使用命令 ethtool [接口名称],例如 ethtool eth0,可以查看指定网络接口的当前速度、双工模式、自动协商状态等信息。

  2. 更改网络接口的速度和双工模式:使用 -s 选项来设置接口的速度(speed)、双工模式(duplex),以及是否启用自动协商(autoneg)。例如,ethtool -s eth0 speed 100 duplex full autoneg off 将 eth0 设置为 100Mbps 全双工,关闭自动协商。

  3. 查看网络接口的驱动程序和硬件信息:使用 -i 选项可以查看指定接口的驱动程序信息,如版本和固件版本等,例如 ethtool -i eth0

  4. 测试网络接口的线缆:使用 -t 选项可以对接口进行线缆测试,检测可能存在的物理问题,例如 ethtool -t eth0

实际常用例子

  • 诊断网络连接问题:如果某个接口出现连接问题,使用 ethtool 可以快速检查其速度和双工设置,确认是否与交换机的设置不匹配。

  • 优化网络性能:通过调整网络接口的 RX/TX 缓冲区大小,可以根据网络负载来优化性能。使用 ethtool -G eth0 rx 2048 tx 2048 来增加接口 eth0 的接收和发送缓冲区大小。

  • 监控和统计:定期使用 ethtool -S eth0 查看接口的详细统计信息,有助于监控网络性能和识别潜在的问题。

常见问题及技巧

  • 接口不支持修改某些设置:并非所有网络接口都支持通过 ethtool 修改所有设置。如果尝试修改不支持的设置,ethtool 将返回错误。解决方法是检查 NIC 的文档,了解支持哪些设置。

  • 更改设置后网络不可达:修改网络设置(如速度或双工模式)可能会导致与网络其他部分的不兼容,从而导致连接中断。确保在更改这些设置之前了解网络的整体配置,并准备好如何回退更改。

探索使用这个命令的高级选项和技巧

  • 唤醒局域网(WoL)ethtool 可以启用或禁用 NIC 的 WoL 功能,通过 ethtool -s eth0 wol g 启用通过魔术包唤醒功能。

  • 调整流控制设置:可以通过 ethtool 调整网络接口的流控制设置,例如,使用 ethtool -A eth0 rx on tx off 开启接收流控制而禁用发送流控制,帮助防止网络拥堵。

简称全称及全称说明

  • -s (--change):更改网络接口设置。

  • -i (--driver):显示网络接口的驱动程序信息。

  • -g (--show-ring):显示网络接口的 RX/TX 环形缓冲区大小。

  • -G (--set-ring):设置网络接口的 RX/TX 环形缓冲区大小。

  • -A (--pause):更改流控制参数。

  • -S (--statistics):显示网络接口的统计信息。

  • -t (--test):执行网络接口的线缆测试。

  • -w (--wol):显示或更改唤醒局域网 (Wake-on-LAN) 设置。

ethtool ens32说明

root@aoao:/home/aoao# ethtool ens32
Settings for ens32:
        Supported ports: [ TP ]
        Supported link modes:   10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
                                1000baseT/Full
        Supported pause frame use: No
        Supports auto-negotiation: Yes
        Supported FEC modes: Not reported
        Advertised link modes:  10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
                                1000baseT/Full
        Advertised pause frame use: No
        Advertised auto-negotiation: Yes
        Advertised FEC modes: Not reported
        Speed: 1000Mb/s
        Duplex: Full
        Auto-negotiation: on
        Port: Twisted Pair
        PHYAD: 0
        Transceiver: internal
        MDI-X: off (auto)
        Supports Wake-on: d
        Wake-on: d
        Current message level: 0x00000007 (7)
                               drv probe link
        Link detected: yes

解读网络接口设置

  • Supported ports [TP]: 表示支持的端口类型是双绞线(Twisted Pair)。

  • Supported link modes: 列出了网络接口支持的链路模式,包括 10 Mbps 半双工/全双工、100 Mbps 半双工/全双工和 1000 Mbps 全双工。

  • Supported pause frame use: 表示不支持暂停帧使用。

  • Supports auto-negotiation: 表示支持自动协商。

  • Supported FEC modes: FEC(前向纠错)模式未报告,可能表示该设备不支持或未实现此功能。

  • Advertised link modes: 这些是设备在自动协商过程中告知对端支持的链路模式。

  • Speed: 当前链接速度为 1000 Mbps。

  • Duplex: 使用全双工模式。

  • Auto-negotiation: 自动协商功能开启。

  • Port: 使用的端口类型为 Twisted Pair(双绞线)。

  • Transceiver: 表示使用的收发器是内部的。

  • MDI-X: 表示介质依赖接口交叉(MDI-X)关闭,但设置为自动,意味着系统可以根据需要自动调整。

  • Supports Wake-on: 支持通过 'd' 方式唤醒,通常指的是通过特定的网络数据包唤醒设备。

  • Wake-on: 当前设置为通过 'd' 方式唤醒。

  • Current message level: 当前消息级别设置,表示哪些类型的事件将被记录。

  • Link detected: 表示已检测到链路,即网络接口是连接状态。



评论