如何使用Ethtool命令
时间:2020-03-05 15:26:39 来源:igfitidea点击:
ethtool命令用于显示/更改以太网适配器设置。
我们可以在Linux中使用此工具更改网卡速度,自动协商,在LAN设置,双工模式下唤醒。
在本文中,将介绍某些Ethtool命令示例,解决以太网卡问题。
1)显示以太网接口详细信息
ethtool命令检索以太网接口的状态。
输出显示Etho接口的速度,双工,状态和唤醒等属性。
下面给出了一个例子:
# ethtool eth0 Settings for eth0: Supported ports: [ TP ] 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: Yes Speed: 1000Mb/s Duplex: Full Port: Twisted Pair PHYAD: 1 Transceiver: internal Auto-negotiation: on Supports Wake-on: d Wake-on: d Current message level: 0x00000007 (7) Link detected: yes
有三种类型的双工:
全双工:在以太网连接到交换机时使用。
允许Twoway传输,即同时发送和接收数据包。
半双工:在以太网与集线器连接时使用。
只允许仅发送或者接收数据包的Oneway Transfers。
自动协商:在网络连接的基础上,以太网接口决定是否使用全部或者半双工。
2)ethtool_opts变量
可以将ethtool_opt变量永久设置ethtool命令设置。
让我们看看下面给出的例子:
# vi /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 BOOTPROTO=static ONBOOT=yes ETHTOOL_OPTS="speed 50 duplex full autoneg off"
我们可以使用ifup和ifdown命令测试上面的设置。
3)显示统计信息
可以使用以下命令检查以太网驱动程序设置和自动协商:
# ethtool -i eth0 driver: bnx2 version: 2.0.1-suse firmware-version: 1.9.3 bus-info: 0000:04:00.0
[root@localhost ~]# ethtool –a eth0 Pause parameters for eth0: Autonegotiate: on RX: on TX: on
ethtool命令的'-p选项'有助于识别来自多个设备的特定设备。
# ethtool –p eth0
拥有网卡的统计信息对于网络问题的故障排除非常有用。
# ethtool –S eth0 NIC statistics: tx_packets: 148683 rx_packets: 179489 tx_errors: 0 rx_errors: 0 rx_missed: 0 align_errors: 0 tx_single_collisions: 0 tx_multi_collisions: 0 unicast: 116884 broadcast: 25361 multicast: 61674 tx_aborted: 0 tx_underrun: 0
上面的输出显示了有关传输和接收的数据包的详细信息。
4)启用流量控制
可以通过最新的Mac和GMAC嵌入式设备中的"暂停"参数来启用全双工中的流量控制。
以下是解决方案:
# ethtool -A eth0 [autoneg on|off] [rx on|off] [tx on|off]
卸载参数详细信息可以获得如下:
# ethtool –k eth0
但是,在下次启动时,以太网参数设置中所做的任何更改都将消失。
为了使它们完好在下一个启动中,我们必须通过向/etc/rc.local添加命令来使这些更改永久
# cat /etc/rc.local ethtool -s eth0 speed 100 duplex full autoneg on 1>/dev/null 2>/dev/null ethtool -s eth1 speed 100 duplex full autoneg on 1>/dev/null 2>/dev/null
5)设置双工模式
下面的示例显示如何使用ethtool命令设置速度或者双工模式如下:
# ethtool -s eth0 speed 100 duplex full # ethtool -s eth0 speed 10 duplex half