linux ethtool 查看網卡狀態

ethtool 工具關於網絡協商功能介紹; linux


ethtool - Display or change ethernet card settings(ethtool 是用來顯示和更改網卡設置的工具);這個工具比較複雜,功能也特別多。因爲洋文比較難懂。因此咱們仍是把網絡設備協商方式的設置方法說一說。web


2.1 ethtool 顯示網絡端口設置功能;網絡

這個功能比較好辦。就是ethtool 後面直接接網絽接口就行;好比下面的例子;工具

[root@localhost ~]# ethtool eth0
Settings for eth0:
        Supported ports: [ TP MII ]
        Supported link modes: 10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
        Supports auto-negotiation: Yes
        Advertised link modes: 10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
        Advertised auto-negotiation: No 注:自動協商關閉
        Speed: 100Mb/s 注:速度 100Mb
        Duplex: Full 注:全雙工
        Port: MII
        PHYAD: 32
        Transceiver: internal
        Auto-negotiation: off
        Supports Wake-on: pumbg
        Wake-on: d
        Current message level: 0x00000007 (7)
        Link detected: yes 注:eth0已經激活;

2.2 ethtool 設置網卡的協商模式;ui

在ethtool的-h幫助中咱們查看到有這樣的幫助信息;spa

ethtool -s DEVNAME /
                [ speed 10|100|1000 ] /
                [ duplex half|full ] /
                [ port tp|aui|bnc|mii|fibre ] /
                [ autoneg on|off ] /
 orm

* 實例一: 把網卡eth0 速度改成10Mb/s,採用半雙工;接口

[root@cuc03 beinan]# ethtool -s eth1 speed 10 duplex half
[root@cuc03 beinan]# ethtool eth1
Settings for eth1:
        Supported ports: [ TP MII ]
        Supported link modes:   10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
        Supports auto-negotiation: Yes
        Advertised link modes:  10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
        Advertised auto-negotiation: No
        Speed: 10Mb/s 注:速度 10M/s
        Duplex: Half  注:半雙工
        Port: MII
        PHYAD: 32
        Transceiver: internal
        Auto-negotiation: off
        Supports Wake-on: pumbg
        Wake-on: d
        Current message level: 0x00000007 (7)
        Link detected: no 注:eth1沒有激活;ip

* 實例二: 把網卡eth0 速度改成100Mb/s,採用全雙工;it

[root@cuc03 beinan]# ethtool -s eth1 speed 100 duplex full 
[root@cuc03 beinan]# ethtool eth1
Settings for eth1:
        Supported ports: [ TP MII ]
        Supported link modes:   10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
        Supports auto-negotiation: Yes
        Advertised link modes:  10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
        Advertised auto-negotiation: No
        Speed: 100Mb/s  注:速度 100M/s
        Duplex: Full 注:全雙工
        Port: MII
        PHYAD: 32
        Transceiver: internal
        Auto-negotiation: off
        Supports Wake-on: pumbg
        Wake-on: d
        Current message level: 0x00000007 (7)
        Link detected: no 注:eth1網卡沒有激活;

 

命令描述:

ethtool 是用於查詢及設置網卡參數的命令。 

使用概要:
ethtool ethx       //查詢ethx網口基本設置,其中 x 是對應網卡的編號,如eth0、eth1等等
ethtool –h        //顯示ethtool的命令幫助(help)
ethtool –i ethX    //查詢ethX網口的相關信息 
ethtool –d ethX    //查詢ethX網口註冊性信息
ethtool –r ethX    //重置ethX網口到自適應模式
ethtool –S ethX    //查詢ethX網口收發包統計
ethtool –s ethX [speed 10|100|1000] [duplex half|full]  [autoneg on|off]        //設置網口速率10/100/1000M、設置網口半/全雙工、設置網口是否自協商

使用舉例:
1)[root@linux /]# ethtool eth1
   Settings for eth1:
        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: 1000Mb/s
        Duplex: Full
        Port: Twisted Pair
        PHYAD: 0
        Transceiver: internal
        Auto-negotiation: on
        Supports Wake-on: umbg
        Wake-on: d
        Link detected: yes
2)[root@linux /]# ethtool -i eth1
   driver: e1000
   version: 5.0.43-k1
   firmware-version: N/A
   bus-info: 06:08.1
3)[root@linux /]# ethtool -S eth1
   NIC statistics:
     rx_packets: 58068300
     tx_packets: 87124083
     rx_bytes: 1589713008
     tx_bytes: 2165825901
     rx_errors: 0
     tx_errors: 0
     rx_dropped: 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_fifo_errors: 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
4)[root@linux /]# ethtool -s eth1 autoneg off speed 100 duplex full

相關參考:
1)[root@linux /]# which ethtool        //查詢 ethtool 存放的路徑
    /sbin/ethtool
2)[root@linux /]# rpm -qf /sbin/ethtool        //查詢 ethtool 的版本信息
   ethtool-1.6-5
3)將 ethtool 設置永久保存在網絡設備的方法
        解決方法一:
        ethtool 設置可經過 /etc/sysconfig/network-scripts/ifcfg-ethX 文件保存,從而在設備下次啓動時激活選項。 
例如:ethtool -s eth0 speed 100 duplex full autoneg off
此指令將eth0設備設置爲全雙工自適應,速度爲100Mbs。若要eth0啓動時設置這些參數, 修改文件/etc/sysconfig/network-scripts/ifcfg-eth0 ,添加以下一行: 
ETHTOOL_OPTS="speed 100 duplex full autoneg off"
         解決方法二:         將ethtool設置寫入/etc/rc.d/rc.local之中。

相關文章
相關標籤/搜索