如何使用ethtool命令操作以太网卡

命令坞
命令坞
命令坞
95
文章
2
评论
2020-05-1314:30:36 评论 559 4223字

如何使用ethtool命令操作以太网卡

Ethtool用于查看和修改网络设备驱动程序参数和硬件设置,尤其是对于有线以太网设备。

您可以根据需要更改以太网卡参数,包括自动协商,速度,双工和唤醒LAN。

以太网卡的配置使您的计算机可以有效地通过网络进行通信。

该工具提供了许多有关连接到Linux系统的以太网设备的信息。

在本文中,我们将向您展示如何更改以下参数以及如何查看它们。

本文将帮助您解决Linux系统上与以太网卡相关的问题。

以下信息将帮助您了解以太网卡的工作方式。

  • 半双工:半双工模式允许设备一次发送或接收数据包。
  • 全双工:全双工模式允许设备同时发送和接收数据包。
  • 自动协商:自动协商是一种允许设备自动选择最佳网络速度和操作模式(全双工或半双工模式)的机制。
  • 速度:默认情况下,它使用最大速度,您可以根据需要进行更改。
  • 链接检测:链接检测显示网络接口卡的状态。如果显示“否”,请尝试重新启动界面。如果链路检测仍然显示“否”,请检查交换机和系统之间连接的电缆是否有问题。

如何在Linux上安装ethtool

默认情况下,ethtool应该已经安装在大多数系统上。如果没有,您可以从发行官方存储库中安装它。

对于RHEL / CentOS 6/7系统,请使用  yum命令  安装ethtool。

$ sudo yum install -y ethtool

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

$ sudo dnf install ethtool

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

$ sudo apt-get install ethtool

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

$ sudo zypper install -y ethtool

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

$ sudo pacman -S ethtool

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

您可以使用ip命令ifconfig命令(在现代发行版中已弃用)来验证可用和活动网络接口的名称和其他详细信息。

# ip a
或者
# ifconfig

1: lo: mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
2: eth0: mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 00:10:22:35:23:sf brd ff:ff:ff:ff:ff:ff
    inet 192.164.23.100/24 brd 192.164.23.255 scope global eth0
       valid_lft forever preferred_lft forever

如何在Linux上检查网络接口卡(NIC)信息

有了以太网接口名称后,您可以使用ethtool命令轻松检查其详细信息,如下所示。

在Linux上,为每个网络接口卡(NIC)分配了唯一的名称,例如ethX,enpXXX等。

  • 较早的Linux发行版使用eth [X]格式。例如,RHEL 6及其早期版本。
  • 现代Linux发行版使用enp [XXX]ens [XXX]格式。例如,大多数现代Linux发行版都使用这种格式,包括RHEL 7,Debian 10,Ubuntu 16.04 LTS。
# ethtool eth0

Settings for eth0:
        Supported ports: [ TP ]
        Supported link modes: 1000baseT/Full
                              10000baseT/Full
        Supported pause frame use: No
        Supports auto-negotiation: No
        Supported FEC modes: Not reported
        Advertised link modes: Not reported
        Advertised pause frame use: No
        Advertised auto-negotiation: No
        Advertised FEC modes: Not reported
        Speed: 10000Mb/s
        Duplex: Full
        Port: Twisted Pair
        PHYAD: 0
        Transceiver: internal
        Auto-negotiation: off
        MDI-X: Unknown
        Supports Wake-on: uag
        Wake-on: d
        Link detected: yes

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

您可以使用带有“ -i”选项的ethtool命令来检查驱动程序版本,固件版本和总线详细信息,如下所示。

# ethtool -i eth0

driver: vmxnet3
version: 1.4.16.0-k-NAPI
firmware-version:
expansion-rom-version:
bus-info: 0000:0b:00.0
supports-statistics: yes
supports-test: no
supports-eeprom-access: no
supports-register-dump: yes
supports-priv-flags: no

如何在Linux上检查网络使用情况统计信息

您可以使用带有“ -S”选项的ethtool命令查看网络使用情况统计信息。它显示了传输,接收,错误等字节。

# ethtool -S eth0

NIC statistics:
     Tx Queue#: 0
       TSO pkts tx: 2053
       TSO bytes tx: 7167572
       ucast pkts tx: 4028081
       ucast bytes tx: 399093197
       mcast pkts tx: 0
       mcast bytes tx: 0
       bcast pkts tx: 0
       bcast bytes tx: 0
       pkts tx err: 0
       pkts tx discard: 0
       drv dropped tx total: 0
          too many frags: 0
          giant hdr: 0
          hdr err: 0
          tso: 0
       ring full: 0
       pkts linearized: 0
       hdr cloned: 0
       giant hdr: 0
     Tx Queue#: 1
       TSO pkts tx: 1955
       TSO bytes tx: 6536945
       ucast pkts tx: 3711838
       ucast bytes tx: 346309662
       mcast pkts tx: 0
       mcast bytes tx: 0
       bcast pkts tx: 1186
       bcast bytes tx: 49812
       pkts tx err: 0
       pkts tx discard: 0
       drv dropped tx total: 0
          too many frags: 0
          giant hdr: 0
          hdr err: 0
          tso: 0
       ring full: 0
       pkts linearized: 0
       hdr cloned: 0
       giant hdr: 0
     Rx Queue#: 0
       LRO pkts rx: 0
       LRO byte rx: 0
       ucast pkts rx: 5084776
       ucast bytes rx: 4673133395
       mcast pkts rx: 0
       mcast bytes rx: 0
       bcast pkts rx: 154143
       bcast bytes rx: 45415676
       pkts rx OOB: 0
       pkts rx err: 0
       drv dropped rx total: 0
          err: 0
          fcs: 0
       rx buf alloc fail: 0
     Rx Queue#: 1
       LRO pkts rx: 0
       LRO byte rx: 0
       ucast pkts rx: 6346769
       ucast bytes rx: 4835534292
       mcast pkts rx: 0
       mcast bytes rx: 0
       bcast pkts rx: 3464
       bcast bytes rx: 714646
       pkts rx OOB: 0
       pkts rx err: 0
       drv dropped rx total: 0
          err: 0
          fcs: 0
       rx buf alloc fail: 0
     tx timeout count: 0

如何在Linux上更改以太网设备的速度

您可以根据需要更改以太网的速度。进行此更改后,该接口将自动脱机,并且需要使用ifup命令或ip命令或nmcli命令使其重新联机。

# ethtool -s eth0 speed 100
# ip link set eth0 up

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

您可以使用带有“ autoneg”选项的ethtool命令启用或禁用自动协商,如下所示。

# ethtool -s eth0 autoneg off      <--- 关闭
# ethtool -s eth0 autoneg on      <--- 打开

如何一次更改多个参数

如果要使用ethtool命令同时更改以太网接口的多个参数,请使用以下格式。

Syntax:
ethtool –s [device_name] speed [10/100/1000] duplex [half/full] autoneg [on/off]
语法: 
ethtool –s [设备名称]速度[10/100/1000]双工[半/全] autoneg [开/关]
# ethtool –s eth0 speed 1000 duplex full autoneg off

如何在Linux上检查特定接口的自动协商,RX和TX

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

#ethtool -a eth0

如何从多个设备识别特定的NIC(NIC卡的闪烁LED端口)

如果要识别其他特定的物理接口端口,此选项非常有用。下面的ethtool命令使eth0端口的LED闪烁。

#ethtool -p eth0

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

系统重启后,您使用ethtool所做的更改将默认还原。

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

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

# vi /etc/sysconfig/network-scripts/ifcfg-eth0

ETHTOOL_OPTS="speed 1000 duplex full autoneg off"

对于基于Debian的系统。

# vi /etc/network/interfaces

post-up ethtool -s eth0 speed 1000 duplex full autoneg off
命令坞
Linux Mint 20 发布前一窥 最新资讯

Linux Mint 20 发布前一窥

Ubuntu 20.04 LTS 版本发布了。这对 Linux Mint 用户来说也是一个好消息。一个新的 Ubuntu LTS 版本意味着新的 Linux Mint 主要版本也将很快随之出现。 为什...
使用 AppImage 进行 Linux 软件包管理 分享

使用 AppImage 进行 Linux 软件包管理

AppImage 在自足的环境中分发应用, 它适用于任何 Linux 发行版。 管理 Linux 机器(尤其是远程机器)的一个重要分就是管理和安装软件。当本地应用程序出现问题时,或者文件系统上的某些文...
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: