ethtool工具使用實例


使用ethtool工具可以查看和修改網卡(NIC卡)設備配置,下面我們來看ethtool的具體用法。

 

1.顯示網卡屬性

ethtool命令后直接跟網卡名稱,可以顯示關於該網卡的屬性值:

# ethtool eth0
Settings for eth0:
        Supported ports: [ TP ]
        Supported link modes:   10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
                                1000baseT/Full
        Supports auto-negotiation: Yes
        Advertised link modes:  10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
                                1000baseT/Full
        Advertised auto-negotiation: Yes
        Speed: 100Mb/s Duplex: Full
        Port: Twisted Pair
        PHYAD: 1
        Transceiver: internal
        Auto-negotiation: on
        Supports Wake-on: d
        Wake-on: d
        Link detected: yes

以上顯示了eth0網卡支持的10/100/1000Mb每秒的傳輸速率,當前傳輸速率為100Mb/s,自協商開啟,傳輸模式為全雙工,鏈路檢測狀態為正常啟動。以下為三種可選擇的傳輸模式:

  • 半雙工:允許同時收包、發包,該模式在網卡連接交換機時啟用
  • 全雙工:在同一時刻,只能收包或發包,該模式在網卡連接集線器時啟用
  • 自協商:啟用時根據所連接設備,由網卡自行設定傳輸模式為全雙工或半雙工

 

2.修改網卡配置

使用 -s 選項可以修改網卡配置:

# ethtool -s eth0 speed 100 autoneg off

以上命令將eth0網卡的自協商傳輸模式關閉,傳輸速率改為100Mb/s。命令執行后需要重新啟動eth0網卡:

# ifup eth0
    eth0      device: Broadcom Corporation NetXtreme II BCM5709 Gigabit Ethernet (rev 20)
    eth0      configuration: eth-bus-pci-0000:0b:00.0
Checking for network time protocol daemon (NTPD):                     running

# ethtool eth0
Settings for eth0: 
        Supported ports: [ TP ] 
        Supported link modes:   10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
                                1000baseT/Full
        Supports auto-negotiation: Yes
        Advertised link modes:  Not reported
        Advertised auto-negotiation: No
        Speed: 100Mb/s
        Duplex: Full
        Port: Twisted Pair
        PHYAD: 1
        Transceiver: internal
        Auto-negotiation: off
        Supports Wake-on: g
        Wake-on: g
        Link detected: yes

 

3.保持重啟后使配置生效

通過以上命令修改網卡配置,在機器重啟后配置將不再生效,若要使重啟后配置依然生效,需進行以下配置(以Suse為例):

# vim /etc/sysconfig/network/ifcfg-eth0
POST_UP_SCRIPT='eth0'

以上修改eth0網卡配置文件,在配置文件最后一行添加 "POST_UP_SCRIPT='eth0'";

# cd /etc/sysconfig/network/

# vim scripts/eth0
#!/bin/bash
/sbin/ethtool -s duplex full speed 100 autoneg off

在scripts目錄下添加相應配置文件,使用ethtool命令完成網卡配置。也可以通過在 /etc/sysconfig/network/ifcfg-eth0 中添加以下一行,達到相同目的:

ETHTOOL_OPTIONS='speed 100 duplex full autoneg off'

 

4.顯示網卡驅動設置

使用 -i 選項可以顯示網卡驅動名稱,驅動版本,firmware版本以及總線信息:

# ethtool -i eth0
driver: tg3
version: 3.106
firmware-version: sb v3.04
bus-info: 0000:06:00.0

 

5.顯示網卡統計信息

使用 -S 選項,可以針對某網卡查詢收發包、錯包的統計情況:

# ethtool -S eth0
NIC statistics:
     rx_bytes: 74356477841
     rx_error_bytes: 0
     tx_bytes: 110725861146
     tx_error_bytes: 0
     ……

 

6.網口連接問題定位

當發現網絡無法連接時,我們通常會檢查指定網口的狀態是否正常,出現以下情況說明網口狀態異常:

  • 速率和傳輸模式顯示為 "Unknown"
  • 鏈路狀態檢測(Link detected)顯示為 "No"

出現以上情形,可先對鏈路進行檢查,例如網線是否松動,更換網線進行排查,進一步可以排查是否為網卡本身的問題。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM