文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

如何使用ethtool命令管理以太网卡

2024-12-11 22:37

关注

ethtool 用于查看和修改网络设备(尤其是有线以太网设备)的驱动参数和硬件设置。你可以根据需要更改以太网卡的参数,包括自动协商、速度、双工和局域网唤醒等参数。通过对以太网卡的配置,你的计算机可以通过网络有效地进行通信。该工具提供了许多关于接驳到你的 Linux 系统的以太网设备的信息。

在这篇文章中,我们将告诉你如何更改以下的参数以及如何查看这些参数。这篇文章将帮助你在 Linux 系统中排除与以太网卡相关的问题。

下面的信息将帮助你了解以太网卡的工作原理。

如何在 Linux 上安装 ethtool

默认情况下,大多数系统上应该已经安装了 ethtool。如果没有,你可以从发行版的官方版本库中安装。

对于 RHEL/CentOS 6/7 系统,请使用 s-systems/" class="ext" rel="external nofollow">yum 命令 安装 ethtool

  1. $ sudo yum install -y ethtool

对于 RHEL/CentOS 8 和 Fedora 系统,请使用 dnf 命令 安装 ethtool

  1. $ sudo yum install -y ethtool

对于基于 Debian 的系统,请使用 apt 命令apt-get 命令 安装 ethtool

  1. $ sudo apt-get install ethtool

对于 openSUSE 系统,使用 zypper 命令 安装 ethtool

  1. $ sudo zypper install -y ethtool

对于 Arch Linux 系统,使用 pacman 命令 安装 ethtool

  1. $ sudo pacman -S ethtool

如何检查 Linux 上的可用网络接口

你可以使用 ip 命令ifconfig 命令(在现代发行版中已被淘汰)来验证可用的、活动的网卡的名称和其他细节:

  1. # ip a
  2. # ifconfig
  3.  
  4. 1: lo: mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
  5. link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
  6. inet 127.0.0.1/8 scope host lo
  7. valid_lft forever preferred_lft forever
  8. 2: eth0: mtu 1500 qdisc mq state UP group default qlen 1000
  9. link/ether 00:10:22:35:23:sf brd ff:ff:ff:ff:ff:ff
  10. inet 192.164.23.100/24 brd 192.164.23.255 scope global eth0
  11. valid_lft forever preferred_lft forever

如何检查 Linux 上的网卡(NIC)信息

掌握了以太网卡名称后,就可以使用 ethtool 命令轻松查看其详细信息,如下所示。

在 Linux 系统中,每个网卡(NIC)都被分配了唯一的名称,如 ethX、enpXXX 等。

  1. # ethtool eth0
  2.  
  3. Settings for eth0:
  4. Supported ports: [ TP ]
  5. Supported link modes: 1000baseT/Full
  6. 10000baseT/Full
  7. Supported pause frame use: No
  8. Supports auto-negotiation: No
  9. Supported FEC modes: Not reported
  10. Advertised link modes: Not reported
  11. Advertised pause frame use: No
  12. Advertised auto-negotiation: No
  13. Advertised FEC modes: Not reported
  14. Speed: 10000Mb/s
  15. Duplex: Full
  16. Port: Twisted Pair
  17. PHYAD: 0
  18. Transceiver: internal
  19. Auto-negotiation: off
  20. MDI-X: Unknown
  21. Supports Wake-on: uag
  22. Wake-on: d
  23. Link detected: yes

如何检查以太网卡的驱动程序和固件版本

你可以使用 ethtool 命令的 -i 选项检查驱动程序版本、固件版本和总线的详细信息,如下所示:

  1. # ethtool -i eth0
  2.  
  3. driver: vmxnet3
  4. version: 1.4.16.0-k-NAPI
  5. firmware-version:
  6. expansion-rom-version:
  7. bus-info: 0000:0b:00.0
  8. supports-statistics: yes
  9. supports-test: no
  10. supports-eeprom-access: no
  11. supports-register-dump: yes
  12. supports-priv-flags: no

如何检查网络使用情况统计

你可以使用 ethtool 命令中的 -S 选项来查看网络使用情况统计。它可以显示传输的字节数、接收的字节数、错误数等。

  1. # ethtool -S eth0
  2.  
  3. NIC statistics:
  4. Tx Queue#: 0
  5. TSO pkts tx: 2053
  6. TSO bytes tx: 7167572
  7. ucast pkts tx: 4028081
  8. ucast bytes tx: 399093197
  9. mcast pkts tx: 0
  10. mcast bytes tx: 0
  11. bcast pkts tx: 0
  12. bcast bytes tx: 0
  13. pkts tx err: 0
  14. pkts tx discard: 0
  15. drv dropped tx total: 0
  16. too many frags: 0
  17. giant hdr: 0
  18. hdr err: 0
  19. tso: 0
  20. ring full: 0
  21. pkts linearized: 0
  22. hdr cloned: 0
  23. giant hdr: 0
  24. Tx Queue#: 1
  25. TSO pkts tx: 1955
  26. TSO bytes tx: 6536945
  27. ucast pkts tx: 3711838
  28. ucast bytes tx: 346309662
  29. mcast pkts tx: 0
  30. mcast bytes tx: 0
  31. bcast pkts tx: 1186
  32. bcast bytes tx: 49812
  33. pkts tx err: 0
  34. pkts tx discard: 0
  35. drv dropped tx total: 0
  36. too many frags: 0
  37. giant hdr: 0
  38. hdr err: 0
  39. tso: 0
  40. ring full: 0
  41. pkts linearized: 0
  42. hdr cloned: 0
  43. giant hdr: 0
  44. Rx Queue#: 0
  45. LRO pkts rx: 0
  46. LRO byte rx: 0
  47. ucast pkts rx: 5084776
  48. ucast bytes rx: 4673133395
  49. mcast pkts rx: 0
  50. mcast bytes rx: 0
  51. bcast pkts rx: 154143
  52. bcast bytes rx: 45415676
  53. pkts rx OOB: 0
  54. pkts rx err: 0
  55. drv dropped rx total: 0
  56. err: 0
  57. fcs: 0
  58. rx buf alloc fail: 0
  59. Rx Queue#: 1
  60. LRO pkts rx: 0
  61. LRO byte rx: 0
  62. ucast pkts rx: 6346769
  63. ucast bytes rx: 4835534292
  64. mcast pkts rx: 0
  65. mcast bytes rx: 0
  66. bcast pkts rx: 3464
  67. bcast bytes rx: 714646
  68. pkts rx OOB: 0
  69. pkts rx err: 0
  70. drv dropped rx total: 0
  71. err: 0
  72. fcs: 0
  73. rx buf alloc fail: 0
  74. tx timeout count: 0

如何改变以太网设备的速度

你可以根据需要改变以太网的速度。当你进行此更改时,网卡将自动掉线,你需要使用 ifup 命令ip 命令或 nmcli 命令将其重新上。

  1. # ethtool -s eth0 speed 100
  2. # ip link set eth0 up

如何在 Linux 上启用/禁用以太网卡的自动协商?

你可以使用 ethtool 命令中的 autoneg 选项启用或禁用自动协商,如下图所示:

  1. # ethtool -s eth0 autoneg off
  2. # ethtool -s eth0 autoneg on

如何同时更改多个参数

如果你想使用 ethtool 命令同时更改以太网卡的多个参数,请使用下面的格式:

  1. Syntax:
  2. ethtool s [device_name] speed [10/100/1000] duplex [half/full] autoneg [on/off]
  1. # ethtool s eth0 speed 1000 duplex full autoneg off

如何检查特定网卡的自动协商、RX 和 TX

要查看关于特定以太网设备的自动协商等详细信息,请使用以下格式:

  1. # ethtool -a eth0

如何从多个设备中识别出特定的网卡(闪烁网卡上的 LED)

如果你想识别一个特定的物理接口,这个选项非常有用。下面的 ethtool 命令会使 eth0 端口的 LED 灯闪烁:

  1. # ethtool -p eth0

如何在 Linux 中永久设置这些参数

在系统重启后,你使用 ethtool 所做的更改将被默认恢复。

要使自定义设置永久化,你需要更新网络配置文件中的值。根据你的 Linux 发行版,你可能需要将此值更新到正确的文件中。

对于基于 RHEL 的系统。你必须使用 ETHTOOL_OPTS 变量:

  1. # vi /etc/sysconfig/network-scripts/ifcfg-eth0
  2.  
  3. ETHTOOL_OPTS="speed 1000 duplex full autoneg off"

对于基于 Debian 的系统:

  1. # vi /etc/network/interfaces
  2.  
  3. post-up ethtool -s eth0 speed 1000 duplex full autoneg off

 

来源:Linux中国内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯