在Linux系统中,网络问题排查和性能调优是系统管理员的日常任务之一。而ethtool命令正是一个强大又实用的工具,可以帮助我们查看和修改网卡(NIC)的各种参数。本文将带你从零开始,一步步掌握ethtool的基本用法,即使是刚接触Linux的小白也能轻松上手。
ethtool 是一个用于查询和控制网络接口卡(NIC)驱动程序和硬件设置的命令行工具。它能够显示网卡的速度、双工模式、自动协商状态、驱动信息、统计信息等,并支持对部分参数进行动态调整,无需重启系统或服务。
大多数现代Linux发行版默认已预装ethtool。如果没有,可以使用以下命令安装:
sudo apt updatesudo apt install ethtool sudo yum install ethtool # CentOS 7及更早版本# 或sudo dnf install ethtool # CentOS 8 / Fedora 首先,你需要知道你的网络接口名称。可以使用ip a或ifconfig命令查看。常见的接口名如eth0、ens33、enp0s3等。
运行以下命令查看指定网卡的状态:
ethtool eth0 输出示例(部分):
Settings for eth0: 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 Speed: 1000Mb/s Duplex: Full Auto-negotiation: on Port: Twisted Pair PHYAD: 1 Transceiver: internal MDI-X: off (auto) Supports Wake-on: pumbg Wake-on: d Current message level: 0x00000007 (7) drv probe link Link detected: yes 关键字段说明:
ethtool -i eth0 这会显示驱动名称、版本、固件版本等,对排查兼容性问题非常有用。
ethtool -S eth0 这些统计信息有助于诊断网络性能瓶颈或硬件故障,比如rx_errors(接收错误)、tx_dropped(发送丢包)等。
注意:修改网卡设置通常需要root权限,且某些更改在系统重启后会失效(除非写入启动脚本)。
# 关闭自动协商,并手动设置速度和双工模式sudo ethtool -s eth0 speed 1000 duplex full autoneg off ⚠️ 警告:手动设置前请确保交换机端口也配置为相同的速度和双工模式,否则可能导致连接异常!
# 查看当前offload设置ethtool -k eth0# 关闭TCP分段卸载(TSO)sudo ethtool -K eth0 tso off 这类操作常用于网络性能调优或解决特定应用兼容性问题。
ethtool eth0显示“Link detected: no”?/etc/rc.local(需启用该服务),或使用NetworkManager dispatcher脚本、systemd服务等。通过本文,你已经掌握了ethtool这一Linux网络诊断利器的基本用法。无论是查看网卡状态、驱动信息,还是进行网络性能优化,ethtool都能提供强大支持。记住,合理使用ethtool不仅能快速定位Linux网络诊断中的问题,还能帮助你完成精细的网卡配置。建议多在测试环境中练习,避免误操作影响生产环境。
—— 学会ethtool,让你的Linux网络管理事半功倍! ——
本文由主机测评网于2025-11-25发表在主机测评网_免费VPS_免费云服务器_免费独立服务器,如有疑问,请联系我们。
本文链接:https://vpshk.cn/202511644.html