Linux 网络排障利器:mii-tool 命令超全详解,网卡速率 / 双工模式一键掌控
📅 2026/7/9 16:20:42
👁️ 阅读次数
📝 编程学习
一、命令简介
mii-tool 是一个用于查看、管理和配置网络接口介质状态及协商方式的命令行工具。它主要用于检查和设置以太网接口的物理层参数,如连接速度、双工模式(半双工 / 全双工)和自动协商状态。该工具在诊断网络连接问题(如丢包、速度不匹配)时尤为有用,允许管理员手动指定网卡的协商方式,以替代可能不稳定的自动协商机制。
二、语法格式
bash
运行
mii-tool [选项] [网络接口...]三、常用选项及说明
表格
| 选项 | 说明 |
|---|---|
| -V | 显示 mii-tool 的版本信息。 |
| -v | 显示指定网络接口的详细信息,包括产品信息、基本模式、状态、支持的能力和广告模式等。 |
| -R | 将 MII(介质无关接口)重置为开启状态。 |
| -r | 重启自动协商模式。 |
| -w | 监视网络接口的连接状态变化,并实时显示。 |
| -l | 将网络接口的事件记录到系统日志中。 |
| -A media,... | 设置网络接口广告的能力(即向对端声明自己支持的模式),media 为逗号分隔的介质列表。 |
| -F media | 强制设置网络接口的协商方式为指定的介质模式,禁用自动协商。 |
介质模式 (media) 可选值:
- 100baseT4
- 100baseTx-FD(100 Mbps,全双工)
- 100baseTx-HD(100 Mbps,半双工)
- 10baseT-FD(10 Mbps,全双工)
- 10baseT-HD(10 Mbps,半双工)
- 100baseTx(同时广告全双工和半双工)
- 10baseT(同时广告全双工和半双工)
四、示例用法
1. 查看所有网络接口的协商状态
bash
运行
mii-tool输出示例:
plaintext
eth0: negotiated 100baseTx-FD, link ok eth1: no link2. 查看指定网络接口的详细信息
bash
运行
mii-tool -v eth0输出示例:
plaintext
eth0: negotiated 100baseTx-FD, link ok product info: vendor 00:50:ef, model 60 rev 8 basic mode: autonegotiation enabled basic status: autonegotiation complete, link ok capabilities: 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD advertising: 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD flow-control link partner: 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD3. 强制设置网络接口为 100 Mbps 全双工模式
bash
运行
mii-tool -F 100baseTx-FD eth0执行后,再次查看状态:
bash
运行
mii-tool -v eth0输出示例:
plaintext
eth0: 100 Mbit, full duplex, link ok product info: vendor 00:00:00, model 0 rev 0 basic mode: 100 Mbit, full duplex basic status: link ok capabilities: 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD advertising: 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD4. 重启自动协商模式
bash
运行
mii-tool -r eth05. 监视网络接口连接状态变化
bash
运行
mii-tool -w eth0此命令将持续运行,并在连接状态发生变化时输出信息。
6. 设置网络接口广告的能力
bash
运行
mii-tool -A 100baseTx-FD,10baseT-FD eth0这将使 eth0 仅广告 100 Mbps 全双工和 10 Mbps 全双工模式。
五、注意事项
- 权限要求:大多数 mii-tool 操作需要 root 或 sudo 权限。
- 网络中断:更改网络接口的协商方式可能导致网络连接暂时中断。
- 兼容性:强制设置协商方式时,需确保对端设备(如交换机)支持相同的模式,否则可能导致连接失败或性能下降。
- 自动协商:在大多数现代网络中,自动协商是推荐配置。仅在自动协商失败或出现特定问题时才考虑手动设置。
- 工具替代:对于更复杂的网络配置,ethtool 是功能更强大的替代工具,支持更多高级选项(如设置千兆以太网)。例如,设置 100 Mbps 全双工也可使用:
bash
运行
ethtool -s eth0 speed 100 duplex full - 接口名称:请根据实际系统环境替换示例中的网络接口名称(如 eth0、enp3s0 等)。
编程学习
技术分享
实战经验