"老王,服务器又断网了!"一大早刚进办公室,小张就火急火燎地冲过来,我揉了揉太阳穴,这已经是本周第三次了,每次排查网络问题,第一件事就是确认网卡型号和驱动情况,但总有人记不住查看命令,今天我就把Linux下查看网卡型号的几种实用方法整理出来,下次断网别再抓瞎了!
上周数据中心搬迁,十几台服务器搬过去后集体"失联",运维组折腾半天才发现,新机房的交换机只支持千兆网卡,而我们的老服务器用的都是百兆网卡,要是早点确认网卡型号,就能提前准备转换器,不至于耽误大半天业务。
知道网卡型号不仅能解决兼容性问题,还能:
我的习惯是先用lspci
这个"硬件侦探"快速扫描,这个命令能列出所有PCI设备,网卡自然也在其中。
lspci | grep -i ethernet
输出示例:
00:1f.6 Ethernet controller: Intel Corporation Ethernet Connection (7) I219-V (rev 10)
04:00.0 Ethernet controller: Broadcom Inc. and subsidiaries NetXtreme BCM5720 Gigabit Ethernet PCIe
这里清晰显示有两块网卡:
想看更详细的信息?加上-v
参数:
lspci -v -s 00:1f.6
输出会包含设备ID、中断号、内存地址等详细信息,适合深度排查问题时使用。
有时候我们更关心的是系统识别到的网络接口名称,这时ip link
命令就派上用场了:
ip link show
输出类似:
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: enp0s31f6: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000
link/ether 54:e1:ad:5a:67:89 brd ff:ff:ff:ff:ff:ff
3: wlp4s0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
link/ether 76:d9:47:87:32:6f brd ff:ff:ff:ff:ff:ff
这里可以看到:
enp0s31f6
是有线网卡(ether表示以太网)wlp4s0
是无线网卡lo
是本地回环接口想知道网卡具体支持哪些功能?ethtool
就是专业的网卡能力检测工具,先通过ip link
获取接口名,
sudo ethtool enp0s31f6
输出示例:
Settings for enp0s31f6:
Supported ports: [ TP ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Supported pause frame use: No
Supports auto-negotiation: Yes
Advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Advertised auto-negotiation: Yes
Speed: 1000Mb/s
Duplex: Full
Port: Twisted Pair
PHYAD: 1
Transceiver: internal
Auto-negotiation: on
MDI-X: on (auto)
这里特别关注:
Supported link modes
:显示支持的速率(10/100/1000兆)Speed
:当前实际连接速率Auto-negotiation
:是否开启自动协商对于服务器运维,有时候需要更底层的硬件信息。dmidecode
可以读取主板BIOS信息:
sudo dmidecode -t baseboard
这个命令会输出主板详细信息,包括板载网卡的硬件布局,不过要注意,这个方法需要root权限,且不是所有网卡信息都能通过这种方式获取。
当网卡驱动加载有问题时,查看内核日志往往能找到线索:
dmesg | grep -i ethernet
或者直接查看系统日志:
journalctl -k | grep -i eth
这里会显示网卡初始化时的详细信息,包括驱动加载情况、硬件识别过程等。
无线网卡的信息查看稍有不同,可以使用:
lspci | grep -i wireless
或者使用专用工具:
iwconfig
查看支持的无线模式:
iw list
我习惯在工具箱里放一个快速检查脚本nic_info.sh
:
#!/bin/bash echo "=== PCI网卡列表 ===" lspci | grep -i 'network\|ethernet' echo "\n=== 网络接口状态 ===" ip -br link show echo "\n=== 有线网卡详情 ===" for iface in $(ip -br link | awk '/^e/ {print $1}'); do echo "[$iface]" sudo ethtool $iface | grep -E 'Speed|Duplex|Link detected' done
给执行权限后,直接运行就能获取关键信息汇总。
Q:命令返回空白怎么办? A:可能原因:
dmesg
看驱动是否加载lsusb
命令Q:如何判断是硬件还是驱动问题? A:三步判断法:
lspci
能看到设备 → 硬件正常ip link
看不到对应接口 → 驱动问题Q:为什么ethtool显示Speed: Unknown? A:通常表示网线未连接或交换机端口有问题,先检查物理连接。
记住这几个命令组合,能解决90%的网卡识别问题:
lspci | grep -i ethernet
ip -br link show
sudo ethtool <接口名>
dmesg | grep -i eth
下次再遇到网卡问题,别急着重启,先按这个流程走一遍,就像我常跟团队说的:"搞清楚手里是什么牌,才知道怎么打这局。"
本文由 仍悦远 于2025-08-02发表在【云服务器提供商】,文中图片由(仍悦远)上传,本平台仅提供信息存储服务;作者观点、意见不代表本站立场,如有侵权,请联系我们删除;若有图片侵权,请您准备原始证明材料和公证书后联系我方删除!
本文链接:https://vps.7tqx.com/wenda/514428.html
发表评论