ethtool
是在 Linux 系统上用于查询和控制网络设备驱动程序和硬件设置的命令行实用工具。它提供了一种方式来获取与网络接口卡(NIC)相关的信息,并允许管理员修改各种参数,如链路速度、双工模式、自动协商、硬件特性开关等。
下面是一些 ethtool
的常见用法示例:
-
显示网络设备的基本信息:
ethtool eth0
这条命令会显示
eth0
网络接口的基础信息,包括速度、双工模式以及链路状态。 -
显示所有网络设备的速度和双工设置信息:
ethtool -i eth0
这条命令会显示
eth0
网络接口的驱动程序版本信息和硬件设置。 -
更改网卡的速度和双工模式:
ethtool -s eth0 speed 100 duplex full autoneg off
这条命令会将
eth0
的速度设置为 100Mb/s,双工模式设置为全双工,并关闭自动协商功能。 -
查看网络接口卡的链路状态:
ethtool eth0 | grep "Link detected"
这个命令组合查找
ethtool
输出中的"Link detected"行,来快速确认eth0
是否处于活跃状态。 -
显示和修改网卡的唤醒功能:
ethtool -s eth0 wol g
设置
eth0
的唤醒功能为 magic packet 模式。ethtool eth0 | grep "Wake-on"
查询
eth0
的唤醒模式设置。 -
查询网络设备统计信息:
ethtool -S eth0
这个命令会显示
eth0
的各种统计信息,如接收和发送的数据包数量、错误数量等。 -
控制网络设备的能源管理和节能模式:
ethtool --set-eee eth0 eee off
关闭
eth0
的 Energy Efficient Ethernet (EEE) 功能。ethtool --show-eee eth0
显示
eth0
当前的 EEE 配置,如果该接口支持 EEE。
请记住,不是所有的网络设备驱动程序都支持 ethtool
的所有功能,所以某些命令可能在某些设备上不工作。在对网络接口执行任何修改之前,确保查阅该设备的文档,并通晓其支持 ethtool
的哪些特性。此外,在运行敏感的配置更改(例如更改网络速度或关闭自动协商)之前,建议确保你有另一种方式可以访问系统,以防万一更改后失去了远程连接。
在大多数基于Linux的系统中,ethtool
实用程序通常包含在名为 ethtool
的软件包内。你可以使用你系统的包管理器来安装、查询或管理这个软件包。
在基于 Debian(如 Ubuntu)的系统中,你可以这样安装 ethtool
:
sudo apt-get update
sudo apt-get install ethtool
在基于 Red Hat 的系统(如 CentOS 或 Fedora)中,使用如下命令:
sudo yum install ethtool
# 或者,如果你在使用 dnf 的系统上:
sudo dnf install ethtool
如果你需要确认 ethtool
属于哪个软件包,你可以使用以下命令进行查询:
在 Debian / Ubuntu 上:
dpkg -S $(which ethtool)
在 CentOS / Fedora 上:
rpm -qf $(which ethtool)
这些命令会输出包含 ethtool
命令的软件包的名称。如果 ethtool
尚未安装,which ethtool
将不会返回任何路径,你可能需要查找软件包名称,像这样:
在 Debian / Ubuntu 上:
apt-cache search ethtool
在 CentOS / Fedora 上:
yum provides "*bin/ethtool"
# 或者,对于使用 dnf 的系统:
dnf provides "*bin/ethtool"
请根据你的Linux发行版和使用的包管理器,选择适当的命令来查询和管理 ethtool
软件包。