沙滩星空的博客沙滩星空的博客

使用ethtool命令管理以太网卡

简介

ethtool 是用于查询及设置网卡参数的命令。包括自动协商、速度、双工和局域网唤醒等参数。

  • 半双工:半双工模式允许设备一次只能发送或接收数据包。
  • 全双工:全双工模式允许设备可以同时发送和接收数据包。
  • 自动协商:自动协商是一种机制,允许设备自动选择最佳网速和工作模式(全双工或半双工模式)。
  • 速度:默认情况下,它会使用最大速度,你可以根据自己的需要改变它。
  • 链接检测:链接检测可以显示网卡的状态。如果显示为 no,请尝试重启网卡。如果链路检测仍显示 no,则检查交换机与系统之间连接的线缆是否有问题。

安装

# debian, ubuntu
apt install ethtool

# CentOS, RedHat
yum install ethtool

ethtool 基础命令

ethtool [OPTIONS] ethX: [OPTIONS] 是可选参数,如 -a, -i, -S 等,ethX 是网口名称,如 eth0。

  • 检查以太网卡的驱动程序和固件版本: ethtool -i eth0
  • 网络使用情况统计: ethtool -S eth0
  • 指定以太网卡的物理端口的LED灯闪烁: ethtool -p eth0
  • 查看太网设备的自动协商等详细信息: ethtool -a eth0
  • 查明命令帮助: ethtool –h
  • 重置ethX网口到自适应模式 ethtool –r ethX
  • 查询ethX网口注册性信息: ethtool –d ethX
[duplex half|full]           //设置网口半/全双工
[autoneg on|off]           //设置网口是否自协商
[port tp|aui|bnc|mii]         //设置网口类型

网卡(NIC)信息

Linux 系统中,每个网卡(NIC)都被分配了唯一的名称,如 ethXenpXXX 等。

  • 旧的 Linux 发行版使用的是 eth[X] 格式。例如,RHEL 6 和它们的旧版本。
  • 现代的 Linux 发行版使用 enp[XXX]ens[XXX] 格式

可通过 ip address show (ip a, ip addr) 命令查看网卡名称:

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host noprefixroute
       valid_lft forever preferred_lft forever
2: enp1s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether e4:3a:6e:5c:4a:7d brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.101/24 brd 192.168.1.255 scope global enp1s0
       valid_lft forever preferred_lft forever
    inet6 fe80::e63a:6eff:fe5c:4a7d/64 scope link
       valid_lft forever preferred_lft forever
3: enp2s0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN group default qlen 1000
    link/ether e4:3a:6e:5c:4a:7e brd ff:ff:ff:ff:ff:ff
4: eno1: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN group default qlen 1000
    link/ether e4:3a:6e:5c:4a:7f brd ff:ff:ff:ff:ff:ff
    altname enp3s0
5: enp4s0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN group default qlen 1000
    link/ether e4:3a:6e:5c:4a:80 brd ff:ff:ff:ff:ff:ff

ethtool ethX: 查询ethX网口基本设置

Settings for eth0:
        Supported ports: [ TP MII ]
        Supported link modes:   10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
                                1000baseT/Half 1000baseT/Full
        Supported pause frame use: No
        Supports auto-negotiation: Yes
        Supported FEC modes: Not reported
        Advertised link modes:  10baseT/Half 10baseT/Full
                                100baseT/Half 100baseT/Full
                                1000baseT/Half 1000baseT/Full
        Advertised pause frame use: Symmetric Receive-only
        Advertised auto-negotiation: Yes
        Advertised FEC modes: Not reported
        Link partner advertised link modes:  10baseT/Half 10baseT/Full
                                             100baseT/Half 100baseT/Full
                                             1000baseT/Half 1000baseT/Full
        Link partner advertised pause frame use: No
        Link partner advertised auto-negotiation: Yes
        Link partner advertised FEC modes: Not reported
        Speed: 1000Mb/s
        Duplex: Full
        Port: MII
        PHYAD: 0
        Transceiver: internal
        Auto-negotiation: on
Cannot get wake-on-lan settings: Operation not permitted
        Current message level: 0x00000033 (51)
                               drv probe ifdown ifup
        Link detected: yes

改变以太网设备的速度

进行此更改时,网卡将自动掉线。需要使用 ifup 命令 或 ip 命令或 nmcli 命令将其重新上。

ethtool -s eth0 speed 100
ip link set eth0 up

启用/禁用以太网卡自动协商

ethtool -s eth0 autoneg off
ethtool -s eth0 autoneg on

同时更改多个设置参数:

ethtool –s eth0 speed 1000 duplex full autoneg off

永久保存设置参数:

解决方法一:

在系统重启后,你使用 ethtool 所做的更改将被默认恢复。

RedHad:

vi /etc/sysconfig/network-scripts/ifcfg-eth0
# 添加如下一行
ETHTOOL_OPTS="speed 1000 duplex full autoneg off"

Debian:

vi /etc/network/interfaces
post-up ethtool -s eth0 speed 1000 duplex full autoneg off

解决方法二:

将ethtool设置写入 /etc/rc.d/rc.local 之中。


CDH主机网络接口似乎未以全速运行 https://blog.csdn.net/qq_35952353/article/details/108071418
如何使用ethtool命令管理以太网卡 https://www.51cto.com/article/618407.html

未经允许不得转载:沙滩星空的博客 » 使用ethtool命令管理以太网卡

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址