命令使用指南
ethtool
是一个在 Linux 系统中用于查询和控制网络接口控制器(NIC)设置的工具。以下是如何使用 ethtool
的基本步骤:
查询网络接口的当前设置:使用命令
ethtool [接口名称]
,例如ethtool eth0
,可以查看指定网络接口的当前速度、双工模式、自动协商状态等信息。更改网络接口的速度和双工模式:使用
-s
选项来设置接口的速度(speed
)、双工模式(duplex
),以及是否启用自动协商(autoneg
)。例如,ethtool -s eth0 speed 100 duplex full autoneg off
将 eth0 设置为 100Mbps 全双工,关闭自动协商。查看网络接口的驱动程序和硬件信息:使用
-i
选项可以查看指定接口的驱动程序信息,如版本和固件版本等,例如ethtool -i eth0
。测试网络接口的线缆:使用
-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: 表示已检测到链路,即网络接口是连接状态。