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"

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

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章