使用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. 微信小程序 CSS border-radius元素 overflow:hidden失效问题 iPhone ios 苹果兼容问题 伪类元素

    同事找我解决一个问题 说安卓圆角没问题 苹果上失效了 我一看 其实就是没做兼容上图给你们看看 有没有看出来 其实就是父级设置圆角属性失效 父元素使用border-radius和overflow:hid ...

  2. Mybatis__模糊查询

    在一个Web工程中,查询功能几乎都要用到姓名模糊查询,,虽然学号,工号等可以最准确最快的定位,但如果清楚信息到连学号,工号都一个数不差,应该也没必要去查询了. 故需要用到一下语句实现模糊查询: sel ...

  3. 基于go语言结合微信小程序开发的微商城系统

    最近在慕课网上录制了一门<Golang微信小程序微商城系统原型>,这门免费课程特别适合在校大学生或者刚毕业的大学生,go语言初学者以及想要从事微商城开发项目入门的小伙伴们来学习.在课程当中 ...

  4. 百度小程序自定义通用toast组件

    百度小程序Toast组件 author: @TiffanysBear 百度小程序自定义通用toast组件 BdToast百度小程序自定义通用组件-github地址 需求 手百小程序的toast仅支持在 ...

  5. Socket编程(C语言实现):bind()函数英文翻译

    本篇翻译的bind()函数,我参考的国外网站是: bind 朋友们可以自由转载我对英文的中文翻译,但是对于"作者注:"的描述,转载时请注明出处和作者,否则视为侵权. 下面是翻译的正 ...

  6. [机器学习] k-近邻算法(knn)

    最近在参加大数据的暑期培训,记录一下学习的东西. 引言 懒惰学习法:简单的存储数据,并且一直等待,直到给定一个检验数据,才进行范化,以便根据与存储的训练元组的相似性对该检验数据进行分类.懒惰学习法在 ...

  7. (转)Vix_API 操作 VMware

    对虚拟机(VMware Workstation)进行程序控制,查询了VMware官方网站的一些内容,但调试的时候还是出现很多问题. 刚开始想通过命令行的方式控制虚拟机,但总是存在一些问题,到现在也没搞 ...

  8. Keil debug command SAVE 命令保存文件的解析

    简介 使用 Keil debug 很方便,把内存中的一段区域 dump 出来也很方便,例如使用命令 SAVE filepath startAddr, endAddr, typeCode .但是要查看 ...

  9. laravel5.6 使用迁移创建表

    laravel 使用迁移创建表 创建迁移文件 --table 和 --create 选项可以用于指定表名以及该迁移是否要创建一个新的数据表.这些选项只需要简单放在上述迁移命令后面并指定表名: php ...

  10. 我对微服务、SpringCloud、k8s、Istio的一些杂想

    一.微服务与SOA “微服务”是一个名词,没有这个名词之前也有“微服务”,一个朗朗上口的名词能让大家产生一个认知共识,这对推动一个事务的发展挺重要的,不然你叫微服务他叫小服务的大家很难集中到一个点上. ...