Linux查看网卡配置,掌握这三条命令即可覆盖99%场景
在Linux系统运维中,查看网卡配置是最高频的基础操作之一,无论你是排查网络故障、配置静态IP,还是确认网卡驱动状态,最核心的命令只有三条:ip addr、ethtool和nmcli,其中ip addr负责查看IP地址与接口状态,ethtool负责查看物理链路与速率,nmcli负责查看NetworkManager管理的连接配置,结合/etc/sysconfig/network-scripts/或/etc/netplan/下的配置文件,即可完整掌握一套网卡的全部信息。
用ip addr快速查看IP与接口状态
ip命令是现代Linux系统的标准网络工具,取代了已被淘汰的ifconfig,执行:
ip addr show
输出中每个网卡对应一个编号,例如2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP>,需要重点关注:
UP标志:表示网卡处于启用状态,若为DOWN,说明接口未激活。inet字段:显示IPv4地址及子网前缀,例如inet 192.168.1.100/24。link/ether:显示MAC地址。
只查看某个指定网卡,可追加网卡名:
ip addr show eth0
若想知道默认路由和网关,使用:
ip route
其中default via 192.168.1.1 dev eth0即为网关地址。
经验案例(酷番云)
酷番云云服务器默认使用eth0作为主网卡,我们曾遇到一位客户反馈“重启后IP丢失”,排查发现其系统使用了NetworkManager,而/etc/sysconfig/network-scripts/ifcfg-eth0中的ONBOOT=no导致开机未自动加载,通过ip addr

确认接口状态为DOWN后,执行nmcli connection up eth0临时解决,随后修改配置文件为ONBOOT=yes彻底修复。建议所有云服务器用户检查该参数,否则重启后可能无法远程连接。
用ethtool查看物理链路与驱动信息
ip addr只能看到逻辑层配置,无法反映物理链路是否正常,此时需要:
ethtool eth0
重点查看两个关键项:
Speed:当前协商速率,如1000Mb/s,若远低于预期,可能是网线、交换机或驱动问题。Link detected:yes表示物理线缆连接正常,no表示网线未插好或对端设备未启动。
查看网卡驱动与固件版本,使用:
ethtool -i eth0
输出中的driver、version、firmware-version能帮助判断是否需要更新驱动。
经验案例(酷番云)
一位用户反馈从酷番云控制台看到的带宽是100Mbps,但实际传输速度只有10MB/s,我们用ethtool eth0发现Speed: 100Mb/s,而服务器规格应为1000Mb/s,进一步检查发现是用户在虚拟机内自行修改了网卡速率,执行ethtool -s eth0 speed 1000 duplex full后恢复正常。注意:云服务器的物理网卡速率由虚拟化平台固定,不建议在系统内强制修改,否则可能造成网络中断。
用nmcli查看网络管理器配置
大多数现代发行版默认启用NetworkManager,nmcli是它的命令行客户端,查看所有连接:
nmcli connection show
输出包含连接名称、UUID、类型、设备,查看某个连接的详细配置:
nmcli connection show "eth0"

其中ipv4.addresses、ipv4.gateway、ipv4.dns就是当前生效的静态配置。如果系统使用/etc/network/interfaces(Debian/Ubuntu旧版)或/etc/netplan(Ubuntu 18.04+)管理网络,则直接查看对应文件。
常见的配置文件路径:
- RHEL/CentOS:
/etc/sysconfig/network-scripts/ifcfg-<网卡名> - Debian/Ubuntu:
/etc/network/interfaces或/etc/netplan/.yaml - SUSE:
/etc/sysconfig/network/ifcfg-<网卡名>
经验案例(酷番云)
通过对大量用户工单的统计,约70%的网络配置问题源于配置文件语法错误或字段冲突,例如查看nmcli显示IP为168.1.200,但实际想改成的168.1.150却不生效,此时应检查是否有多个连接绑定同一网卡:
nmcli connection show --active
若有两条连接同时激活,优先使用的往往不是你最近修改的那条,酷番云建议使用nmcli connection delete <名称>删除无用连接,只保留一条,避免混乱。
三条命令组合排查流程
遇到“上不了网”或“网速慢”时,按以下顺序快速定位:
- 首先执行
ip addr确认接口是否UP,是否有IP地址。 - 其次执行
ethtool eth0确认物理链路是否yes,速率是否正常。 - 最后执行
nmcli connection show确认NetworkManager是否接管了网络,连接配置是否正确。
如果以上都没有问题,再检查防火墙、路由表或DNS配置。
常见问题与解决方法
ip addr看不到IP:检查网卡是否UP,若是DOWN,执行,若仍无IP,检查DHCP客户端是否运行。
ip link set eth0 up
ethtool报错“Operation not supported”:多见于虚拟网卡,可忽略部分字段,以ip addr和配置文件为准。- 修改配置文件后不生效:重启网络服务
systemctl restart network(RHEL系)或netplan apply(Ubuntu),也可以直接重启网卡nmcli connection reload。
相关问答模块
问题1:ifconfig和ip addr查看网卡配置有什么区别?哪个更好?
ifconfig来自net-tools包,已多年未维护,它不显示新内核支持的网卡属性(如多队列、命名空间等),且在高版本Linux系统中可能未预装。ip addr来自iproute2包,是内核推荐的标准工具,功能更全面,输出的信息更规范。强烈建议日常使用ip addr替代ifconfig,如果你习惯ifconfig的简洁输出,临时安装net-tools也可以,但排查复杂问题时,ip命令的优势非常明显。
问题2:修改网卡IP地址后,为什么ip addr显示的是旧IP?
该现象几乎都是因为NetworkManager缓存了旧连接配置,修改了ifcfg-eth0文件后,NetworkManager不会自动重新加载,此时执行nmcli connection reload,再执行nmcli connection up eth0即可,如果仍然显示旧IP,检查是否有多个连接文件指向同一网卡,删除多余连接或使用nmcli connection modify eth0 ipv4.addresses修改,最后用ip addr flush eth0清空临时地址。
你的Linux机器现在能查到哪几项关键信息?欢迎在评论区留下你遇到的网卡配置问题,或分享你常用的查看命令,如果这篇文章帮你解决了实际问题,点个赞让更多运维同行看到。
图片来源于AI模型,如侵权请联系管理员。作者:酷小编,如若转载,请注明出处:https://www.kufanyun.com/ask/750567.html

