ethtool工具使用实例
2013-04-05 14:35 bangerlee 阅读(7038) 评论(0) 编辑 收藏 举报使用ethtool工具可以查看和修改网卡(NIC卡)设备配置,下面我们来看ethtool的具体用法。
1.显示网卡属性
ethtool命令后直接跟网卡名称,可以显示关于该网卡的属性值:
# ethtool eth0 Settings for eth0: Supported ports: [ TP ] Supported link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Full Supports auto-negotiation: Yes Advertised link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Full Advertised auto-negotiation: Yes Speed: 100Mb/s Duplex: Full Port: Twisted Pair PHYAD: 1 Transceiver: internal Auto-negotiation: on Supports Wake-on: d Wake-on: d Link detected: yes
以上显示了eth0网卡支持的10/100/1000Mb每秒的传输速率,当前传输速率为100Mb/s,自协商开启,传输模式为全双工,链路检测状态为正常启动。以下为三种可选择的传输模式:
- 半双工:允许同时收包、发包,该模式在网卡连接交换机时启用
- 全双工:在同一时刻,只能收包或发包,该模式在网卡连接集线器时启用
- 自协商:启用时根据所连接设备,由网卡自行设定传输模式为全双工或半双工
2.修改网卡配置
使用 -s 选项可以修改网卡配置:
# ethtool -s eth0 speed 100 autoneg off
以上命令将eth0网卡的自协商传输模式关闭,传输速率改为100Mb/s。命令执行后需要重新启动eth0网卡:
# ifup eth0 eth0 device: Broadcom Corporation NetXtreme II BCM5709 Gigabit Ethernet (rev 20) eth0 configuration: eth-bus-pci-0000:0b:00.0 Checking for network time protocol daemon (NTPD): running # ethtool eth0 Settings for eth0: Supported ports: [ TP ] Supported link modes: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Full Supports auto-negotiation: Yes Advertised link modes: Not reported Advertised auto-negotiation: No Speed: 100Mb/s Duplex: Full Port: Twisted Pair PHYAD: 1 Transceiver: internal Auto-negotiation: off Supports Wake-on: g Wake-on: g Link detected: yes
3.保持重启后使配置生效
通过以上命令修改网卡配置,在机器重启后配置将不再生效,若要使重启后配置依然生效,需进行以下配置(以Suse为例):
# vim /etc/sysconfig/network/ifcfg-eth0 POST_UP_SCRIPT='eth0'
以上修改eth0网卡配置文件,在配置文件最后一行添加 "POST_UP_SCRIPT='eth0'";
# cd /etc/sysconfig/network/ # vim scripts/eth0 #!/bin/bash /sbin/ethtool -s duplex full speed 100 autoneg off
在scripts目录下添加相应配置文件,使用ethtool命令完成网卡配置。也可以通过在 /etc/sysconfig/network/ifcfg-eth0 中添加以下一行,达到相同目的:
ETHTOOL_OPTIONS='speed 100 duplex full autoneg off'
4.显示网卡驱动设置
使用 -i 选项可以显示网卡驱动名称,驱动版本,firmware版本以及总线信息:
# ethtool -i eth0 driver: tg3 version: 3.106 firmware-version: sb v3.04 bus-info: 0000:06:00.0
5.显示网卡统计信息
使用 -S 选项,可以针对某网卡查询收发包、错包的统计情况:
# ethtool -S eth0 NIC statistics: rx_bytes: 74356477841 rx_error_bytes: 0 tx_bytes: 110725861146 tx_error_bytes: 0 ……
6.网口连接问题定位
当发现网络无法连接时,我们通常会检查指定网口的状态是否正常,出现以下情况说明网口状态异常:
- 速率和传输模式显示为 "Unknown"
- 链路状态检测(Link detected)显示为 "No"
出现以上情形,可先对链路进行检查,例如网线是否松动,更换网线进行排查,进一步可以排查是否为网卡本身的问题。

【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架