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
使用過後,網卡燈會閃