ethtool – 命令

ethtool

导览:
    1. 如何查看 Linux 中可用的网卡接口
    2. 如何查看 Linux 中网卡信息
    3. 如何查看网卡驱动版本以及硬件版本
    4. 如何查看网络使用情况统计
    5. 如何改变网卡速率
    6. 如何改变网卡自动协商
    7. 如何识别网卡

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

  首先了解下以太网卡的工作原理:

  • 半双工:半双工模式允许设备一次只能发送或接收数据包。
  • 全双工:全双工模式允许设备可以同时发送和接收数据包。
  • 自动协商:自动协商是一种机制,允许设备自动选择最佳网速和工作模式(全双工或半双工模式)。
  • 速度:默认情况下,它会使用最大速度,你可以根据自己的需要改变它。
  • 链接检测:链接检测可以显示网卡的状态。如果显示为 no,请尝试重启网卡。如果链路检测仍显示 no,则检查交换机与系统之间连接的线缆是否有问题。

1. 如何查看 Liunx 中可用的网卡接口

  使用 ip a 或 ifconfig 来查看网卡

[root@localhost ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> 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
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:0c:29:e8:e7:7d brd ff:ff:ff:ff:ff:ff
    inet 192.168.3.10/24 brd 192.168.3.255 scope global noprefixroute ens33
       valid_lft forever preferred_lft forever
    inet6 fe80::1e3:3f1:c524:8f87/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever

2. 如何查看 Linux 中网卡信息

在 Linux 系统中,每个网卡(NIC)都被分配了唯一的名称,如 ethX、enpXXX 等旧的 Linux 发行版使用的是 eth[X] 格式。例如,RHEL 6 和它们的旧版本。

现代的 Linux 发行版使用 enp[XXX]ens[XXX] 格式,例如,大多数现代 Linux 发行版都使用这种格式,包括 RHEL 7、Debian 10、Ubuntu 20.04 LTS

[root@localhost ~]# ethtool ens33
Settings for ens33:
	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	# 支持的 FEC 模式
	Advertised link modes:  10baseT/Half 10baseT/Full # 通告模式
	                        100baseT/Half 100baseT/Full 
	                        1000baseT/Full 
	Advertised pause frame use: No	# 是否支持暂停帧使用
	Advertised auto-negotiation: Yes	# 是否支持自动协商
	Advertised FEC modes: Not reported	# 支持的 FEC 模式
	Speed: 1000Mb/s # 当前速率
	Duplex: Full	# 工作模式全双工
	Port: Twisted Pair # 端口:双绞线
	PHYAD: 0
	Transceiver: internal # 收发器:内部
	Auto-negotiation: on	# 自动协商:打开
	MDI-X: off (auto)	# MDI-X
	Supports Wake-on: d	# 支持唤醒
	Wake-on: d	# 唤醒
	Current message level: 0x00000007 (7) # 当前消息级别
			       drv probe link	# drv 链路探测
	Link detected: yes	# 检测到链接

3. 如何查看网卡驱动版本以及硬件版本

[root@localhost ~]# ethtool -i ens33
driver: e1000	# 驱动
version: 7.3.21-k8-NAPI	# 版本
firmware-version: # 硬件版本
expansion-rom-version: 
bus-info: 0000:02:01.0
supports-statistics: yes
supports-test: yes
supports-eeprom-access: yes
supports-register-dump: yes
supports-priv-flags: no

4. 如何查看网络使用情况统计

NIC statistics:
     rx_packets: 1000	# 接收数据包
     tx_packets: 370	# 发送数据包
     rx_bytes: 105532 # 接收字节
     tx_bytes: 53631	# 发送字节
     rx_broadcast: 0
     tx_broadcast: 0
     rx_multicast: 0
     tx_multicast: 0
     rx_errors: 0
     tx_errors: 0
     tx_dropped: 0
     multicast: 0
     collisions: 0
     rx_length_errors: 0
     rx_over_errors: 0
     rx_crc_errors: 0
     rx_frame_errors: 0
     rx_no_buffer_count: 0
     rx_missed_errors: 0
     tx_aborted_errors: 0
     tx_carrier_errors: 0
     tx_fifo_errors: 0
     tx_heartbeat_errors: 0
     tx_window_errors: 0
     tx_abort_late_coll: 0
     tx_deferred_ok: 0
     tx_single_coll_ok: 0
     tx_multi_coll_ok: 0
     tx_timeout_count: 0
     tx_restart_queue: 0
     rx_long_length_errors: 0
     rx_short_length_errors: 0
     rx_align_errors: 0
     tx_tcp_seg_good: 0
     tx_tcp_seg_failed: 0
     rx_flow_control_xon: 0
     rx_flow_control_xoff: 0
     tx_flow_control_xon: 0
     tx_flow_control_xoff: 0
     rx_long_byte_count: 105532
     rx_csum_offload_good: 854
     rx_csum_offload_errors: 0
     alloc_rx_buff_failed: 0
     tx_smbus: 0
     rx_smbus: 0
     dropped_smbus: 0

5. 如何改变网卡速率

更改完之后需要重启网卡

[root@localhost ~]# ethtool -s ens33 speed 1000

6. 如何改变网卡自动协商

[root@localhost ~]# ethtool -s ens33 autoneg off/on

7. 如何识别网卡

[root@localhost ~]# ethtool -p ens33

使用过后,网卡灯会闪

Tags: