一、概述
ethtool
是 Linux 系统中用于查询和设置网络接口设备参数的命令行工具,以下是其常见用法
二、命令选项、参数详解(按“增删改查”的操作类型归类)
按照增删改查进行命令分类,说明。
2.1查:查看网络接口信息
- 查看速度速度与双工模式:执行
ethtool eth0
能查看eth0
的速度、双工模式等,如显示Speed: 1000Mb/s
Duplex: Full
。 - 查看驱动基本信息:使用
ethtool -i eth0
可查看指定网络接口eth0
的驱动程序、版本等信息。 - 查看链路状态(大S):通过
ethtool -S eth0
可查看链路状态等统计信息,包括接收和发送的数据包数量等。 - 查看设备的寄存器和缓冲区信息
-d
:通常用于调试。例如ethtool -d eth0
。 - 查看网络接口的各种内核参数设置
-k
:如ethtool -k eth0
可显示eth0
的 TCP 分段卸载、UDP 分段卸载等参数的状态。
2.2改:设置参数相关选项
- 用于设置网络接口的参数(小S)
-s
:例如ethtool -s eth0 speed 100 duplex full autoneg off
,可以将eth0
接口的速度设置为 100Mbps,双工模式设置为全双工,同时关闭自动协商。 - 调整网络接口的接收和发送队列长度等参数(大A)
-A
:如ethtool -A eth0 rx 1024 tx 1024
可将eth0
的接收和发送队列长度都设置为 1024。
2.3其他:其他重要选项
-p
: 使指定的网络接口的物理链路状态灯闪烁,便于在机房等环境中快速定位设备。例如ethtool -p eth0
,接口对应的指示灯会闪烁。-h
: 显示ethtool
的帮助信息,列出所有可用的选项和参数。
三、拓展:什么是双工模式
双工模式指的是通信双方在信息传输时数据流动的方向和时间关系。在网络通信里,双工模式明确了数据在网络接口上的传输方式,主要有以下几种类型:
3.1单工(Simplex)
- 含义:单工模式下,数据只能沿着一个固定的方向进行传输,即一方只能发送数据,另一方只能接收数据,不能反向传输。
- 应用场景:在实际的网络接口设置中较少使用,不过在一些特定的通信场景中会用到,比如广播电视信号的传输,电视台发送信号,用户端接收信号。
3.2半双工(Half - Duplex)
- 含义:在半双工模式下,通信双方能够进行双向通信,但同一时刻只能有一方发送数据,另一方接收数据。这就如同对讲机的工作方式,一方说话时另一方必须等待,不能同时进行收发操作。
- 应用场景:适用于对通信实时性要求不高,且数据传输量相对较小的场景,例如一些早期的以太网集线器环境。
3.3全双工(Full - Duplex)
- 含义:全双工模式允许通信双方同时进行数据的发送和接收。这意味着数据可以在两个方向上同时流动,大大提高了数据传输的效率。
- 应用场景:广泛应用于现代高速网络环境,像千兆以太网、万兆以太网等,适用于对数据传输速率和实时性要求较高的场景,如服务器与交换机之间的连接。
在ethtool
中设置双工模式
在使用ethtool
设置网络接口的双工模式时,通常使用-s
选项配合duplex
参数。以下是设置示例:
# 将eth0接口设置为半双工模式
ethtool -s eth0 duplex half
# 将eth0接口设置为全双工模式
ethtool -s eth0 duplex full
在设置双工模式时,需要保证连接的两端设备的双工模式设置一致,不然会引发网络连接问题,例如数据传输错误、丢包等。