当前位置: 首页 > 科技观察

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

时间:2023-03-17 13:30:02 科技观察

ethtool用于查看和修改网络设备(尤其是有线以太网设备)的驱动参数和硬件设置。您可以根据需要更改以太网卡的参数,包括自动协商、速度、双工和局域网唤醒等参数。通过配置以太网卡,您的计算机可以有效地通过网络进行通信。这个工具提供了很多关于连接到你的Linux系统的以太网设备的信息。在本文中,我们将告诉您如何更改以下参数以及如何查看它们。本文将帮助您解决Linux系统中与以太网卡相关的问题。以下信息将帮助您了解以太网卡的工作原理。半双工:半双工模式允许设备一次只发送或接收数据包。全双工:全双工模式允许设备同时发送和接收数据包。自动协商:自动协商是一种允许设备自动选择最佳网络速度和工作模式(全双工或半双工模式)的机制。速度:默认使用最大速度,您可以根据需要更改。链路检测:链路检测可以显示网卡的状态。如果显示没有,请尝试重新启动网卡。如果链路检测还是no,检查交换机与系统之间的线缆是否有问题。如何在Linux上安装ethtool默认情况下,ethtool应该已经安装在大多数系统上。如果没有,您可以从发行版的官方存储库安装它。对于RHEL/CentOS6/7系统,请使用s-systems/"class="ext"rel="externalnofollow"target="_blank">yum命令安装ethtool:$sudoyuminstall-yethtoolForRHEL/CentOS8和Fedora系统,使用dnf命令安装ethtool:$sudoyuminstall-yethtool对于基于Debian的系统,使用apt命令或apt-get命令安装ethtool:$sudoapt-getinstallethtool对于openSUSE系统,使用zypper命令安装ethtool:$sudozypperinstall-yethtool对于ArchLinux系统,使用pacman命令安装ethtool:$sudopacman-Sethtooldeprecated)以验证可用的活动NIC的名称和其他详细信息:#ipaor#ifconfig1:lo:mtu65536qdiscnoqueuestateUNKNOWNgroupdefaultqlen1000link/loopback00:00:00:00:00:00brd00:00:00:00:00:00inet127.0.0.1/8范围hostlovalid_lftforeverpreferred_lftforever2:eth0:mtu1500qdiscmqstateUPgroupdefaultqlen1000link/ether00:10:22:35:23:sfbrdff:ff:ff:ff:ff:ffinet192.164.23.100/24brd192.164.23.255scopeglobaleth0valid_lftforeverpreferred_lftforever如何在Linux上查看网卡(NIC)信息掌握了网卡名称后,可以使用ethtool命令轻松查看其详细信息,如下图在Linux系统中,每块网卡(NIC)都是分配一个唯一的名称,例如ethX、enpXXX等。较早的Linux发行版使用eth[X]格式。例如,RHEL6及其旧版本。现代Linux发行版使用enp[XXX]或ens[XXX]格式。例如,大多数现代Linux发行版都使用这种格式,包括RHEL7、Debian10、Ubuntu16.04LTS。eth0的ethtooleth0Settings:支持的端口:[TP]支持的链接模式:1000baseT/Full10000baseT/Full支持的暂停帧使用:否支持自动协商:否支持的FEC模式:未报告广告链接模式:未报告广告暂停:否广告自动协商:无广告FEC模式:未报告速度:10000Mb/s双工:全端口:双绞线PHYAD:0收发器:内部自动协商:关闭MDI-X:未知支持唤醒:uag唤醒:dLinkdetected:yes如何检查以太网卡的驱动程序和固件版本您可以使用ethtool命令的-i选项来检查驱动程序版本、固件版本和总线详细信息,如下所示:#ethtool-ieth0driver:vmxnet3version:1.4.16.0-k-NAPIfirmware-version:expansion-rom-version:bus-info:0000:0b:00.0supports-statistics:yessupports-test:nosupports-eeprom-access:nosupports-register-dump:yessupports-priv-flags:no如何查看网络使用统计数据你可以在ethtool命令中使用-S选项来查看网络使用统计数据,它可以显示传输的字节数、接收的字节数、错误数等。#ethtool-Seth0NIC统计信息:Tx队列#:0TSOpktstx:2053TSO字节tx:7167572ucastpktstx:4028081ucast字节tx:399093197mcastpktstx:0mcast字节tx:0bcastpktstx:0bcast字节tx:0pktstxerr:0pktstxdiscard:0drvdroppedtxtotal:0碎片太多:0gianthdr:0hdrerr:0tso:0ringfull:0pktslinearized:0hdrcloned:0gianthdr:0TxQueue#:1TSOpktstx:1955TSO字节tx:6536945ucastpktstx:3711838ucast字节tx:346309662mcastpktstx:0mcast字节tx:0bcastpktstx:1186bcast字节tx:49812pkrtspktstxdiscard:0drvdroppedtxtotal:0碎片太多:0gianthdr:0hdrerr:0tso:0ringfull:0pktslinearized:0hdrcloned:0巨型hdr:0Rx队列#:0LROpktsrx:0LRO字节rx:0ucastpktsrx:5084776ucast字节rx:4673133395mcastpktsrx:0mcast字节rx:0bcastpktsrx:154143bcast:475字节pk4rrxOOB:0pktsrxerr:0drvdroppedrxtotal:0err:0fcs:0rxbufallocfail:0RxQueue#:1LROpktsrx:0LRObyterx:0ucastpktsrx:6346769ucastbytesrx:4835534292mcastpktsrx:0mcastbytesrx:0bcastpktsrx:3464bcastbytesrx:714646pktsrxOOB:0pktsrxerr:0drvdroppedrxtotal:0err:0fcs:0rxfailbufalltxtimeoutcount:0如何改变以太网设备的速度你可以根据自己的需要改变以太网的速度当你做这个改变时,网卡会自动断开,你需要使用ifup命令或ip命令或nmcli命令来重新连接它。#ethtool-seth0speed100#iplinkseteth0up如何在Linux上启用/禁用以太网卡的自动协商?可以使用ethtool命令中的autoneg选项开启或关闭自动协商,如下图所示:#ethtool-seth0autonegoff#ethtool-seth0autonegon如何同时更改多个参数如果你想使用ethtool命令同时更换网卡对于多个参数,请使用如下格式:语法:ethtool–s[device_name]speed[10/100/1000]duplex[half/full]autoneg[on/off]#ethtool–seth0speed1000duplexfullautonegoff如何检查特定网卡的自动协商、RX和TX要查看特定以太网设备的自动协商等详细信息,请使用以下格式:#ethtool-aeth0LED)如果你想识别一个特定的物理接口,这个选项很有用。以下ethtool命令将导致eth0端口LED闪烁:#ethtool-peth0如何在Linux中永久设置这些参数系统重新启动后,您使用ethtool所做的更改将默认恢复。要使自定义设置永久生效,您需要更新网络配置文件中的值。根据您的Linux发行版,您可能需要将此值更新为正确的文件。对于基于RHEL的系统。您必须使用ETHTOOL_OPTS变量:#vi/etc/sysconfig/network-scripts/ifcfg-eth0ETHTOOL_OPTS="speed1000duplexfullautonegoff"对于基于Debian的系统:#vi/etc/network/interfacespost-upethtool-seth0速度1000双工全自动协商关闭