使用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:
        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 )
    eth0      configuration: eth-bus-pci-: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:
        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  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.
bus-::00.0

5.显示网卡统计信息

使用 -S 选项,可以针对某网卡查询收发包、错包的统计情况:

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

6.网口连接问题定位

当发现网络无法连接时,我们通常会检查指定网口的状态是否正常,出现以下情况说明网口状态异常:

  • 速率和传输模式显示为 "Unknown"
  • 链路状态检测(Link detected)显示为 "No"

出现以上情形,可先对链路进行检查,例如网线是否松动,更换网线进行排查,进一步可以排查是否为网卡本身的问题。

ethtool工具使用实例的更多相关文章

  1. MySQL基准测试(三)--开源工具与实例演示

    MySQL基准测试(三)--开源工具与实例演示 针对web应用 ab ab是一个Apache HTTP服务的基准测试工具. http_load http_load是一个针对Web服务器测试工具. JM ...

  2. Vue UI组件 开发框架 服务端 辅助工具 应用实例 Demo示例

    Vue UI组件 开发框架 服务端 辅助工具 应用实例 Demo示例 element ★11612 - 饿了么出品的Vue2的web UI工具套件 Vux ★7503 - 基于Vue和WeUI的组件库 ...

  3. Ethtool工具源码剖析

    Ethtool工具源码剖析 ethool是一个实用的工具,用来给系统管理员以大量的控制网络接口的操作.可以用来控制接口参数,速度,介质类型,双工模式,DMA环设置,硬件校验和,LAN唤醒操作等.本人经 ...

  4. Nunit测试工具使用实例

    前言: 本文主要是介绍了Nunit的基本使用,其中参详了很多已有的文章,由于最近要使用其进行测试,所以对网上的文章做了下整理,同时加入了一些自己的实践. NUnit的属性 TestFixture 它标 ...

  5. JDBC工具类实例

    本文以讲解用单利模式实现一个简单的JDBC实用工具类JDBC连接的四个基本步骤:1.加载相应数据库驱动2.建立相应数据库连接3.构建Statement语句,即增删改查SQL语句4.执行Statemen ...

  6. C#实现的UDP收发请求工具类实例

    本文实例讲述了C#实现的UDP收发请求工具类.分享给大家供大家参考,具体如下: 初始化: ListeningPort = int.Parse(ConfigurationManager.AppSetti ...

  7. PCB OD工具破解实例应用

    以下破解Genesis为例,对OD工具使用进行实例讲解 工具简单 介绍下下载地址: OD工具:是一个新的动态追踪工具,将IDA与SoftICE结合起来的思想,Ring 3级调试器, 是为当今最为流行的 ...

  8. RedisPool操作Redis,工具类实例

    redis.properties 配置文件内容 redis.pool.maxActive=100redis.pool.maxIdle=20redis.pool.maxWait=3000redis.po ...

  9. HTM L百度地图API 自定义工具地图实例

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

随机推荐

  1. STL库的应用

    容器分为两类:序列式容器和关联式容器. 序列式容器,其中的元素不一定有序,但都可以被排序.如:vector.list.deque.stack.queue.heap.priority_queue.sli ...

  2. 修改Windows10的host文件。

    一.Windows10中host地址. c:\windows\system32\drivers\etc\hosts 其他系统中的位置. Windows操作系统(Windows XP/7/8/10): ...

  3. 【小家Spring】聊聊Spring中的数据绑定 --- BeanWrapper以及内省Introspector和PropertyDescriptor

    #### 每篇一句 > 千古以来要饭的没有要早饭的,知道为什么吗? #### 相关阅读 [[小家Spring]聊聊Spring中的数据转换:Converter.ConversionService ...

  4. MyBatis 接口多参数的处理方法

    From<MyBatis从入门到精通> 1.接口类中增加的方法: /* 2.7 多个接口参数的用法 多个参数时,可以选取的方案有:使用Map类型或者使用@Param注解 使用Map类型作为 ...

  5. Spring Boot 整合 Shiro实现认证及授权管理

    Spring Boot Shiro 本示例要内容 基于RBAC,授权.认证 加密.解密 统一异常处理 redis session支持 介绍 Apache Shiro 是一个功能强大且易于使用的Java ...

  6. linux weblogic12.1.3.0卸载过程

    主要是一开始以为跟之前版本一样有uninstall.sh,但却找不到. 最后google 才发现改了个名字,deinstall.sh 可能后面的版本都是这个脚本了吧. 先进入脚本目录,命令:cd /h ...

  7. android值类型转换

    各种数字类型转换成字符串型: String s = String.valueOf( value); // 其中 value 为任意一种数字类型. 字符串型转换成各种数字类型: String s = & ...

  8. [剑指offer] 53. 表达数值的字符串

    题目描述 请实现一个函数用来判断字符串是否表示数值(包括整数和小数).例如,字符串"+100","5e2","-123","3.1 ...

  9. [OpenGL] 不规则区域的填充算法

    不规则区域的填充算法 一.简单递归 利用Dfs实现简单递归填充. 核心代码: // 简单深度搜索填充 (四连通) void DfsFill(int x, int y) { || y < || x ...

  10. 基础篇-1.2Java世界的规章制度(下)

    1 Java运算符 Java世界中的运算其实就是数学运算,而运算符就是其中的媒介. 算术运算符 操作符 描述 + 加法,对符号两边的数值相加 - 减法,符号左边的数减去右边的数 * 乘法,符号两边的数 ...