CentOS下ethtool命令详解

时间:2022-05-02 18:47:28

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之中。