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
使用过后,网卡灯会闪