优先使用 ip 命令查看网络状态,如 ip -c a 查接口IP与状态、ip link show 查物理层连通性、ip route show/get 查路由,配合 ping 和 resolvectl 可快速定位90%基础网络问题。

linux 查看网络状态,优先用 ip 命令,ifconfig 已逐步被弃用(多数新系统默认不安装)。两者都能查接口、IP、状态,但 ip 更全面、语义更清晰,排查网络问题时也更可靠。
查看所有网卡及基础状态(UP/DOWN、IP地址)
运行以下命令,快速确认哪些网卡已启用、是否获取到 IP:
- ip -c a(-c 启用颜色高亮,更易读;显示所有接口含 IPv4/ipv6 地址、mac、UP/DOWN 状态)
- ip link show(专注物理/逻辑层:MTU、收发包统计、是否 carrier detect、是否 UP)
- 若需兼容旧习惯,可装 net-tools:sudo apt install net-tools(debian/ubuntu)或 sudo yum install net-tools(centos/RHEL),再用 ifconfig -a
判断网卡是否真正连通(不只是“UP”)
“UP”仅表示内核启用了该接口,不代表物理连接正常。关键看两处:
- ip link show eth0 | grep “state|carrier” —— 若显示 state UP 且 carrier on,说明网线插好、交换机端口通电握手成功
- 若 state UP 但 carrier off,常见于:网线未插、对端设备关机、网口损坏、SFP模块异常
- 补充验证:ethtool eth0(需安装 ethtool)可查速率、双工模式、link 检测结果,比 ip 更底层
检查路由与默认网关是否生效
有 IP 不代表能上网,必须有正确路由。重点检查:
- ip route show —— 查看当前路由表,确认是否有 default via X.X.X.X 条目,且下一跳 IP 属于本机直连子网
- ip route get 8.8.8.8 —— 模拟访问外部地址,返回实际走哪条路由、从哪个接口出、下一跳是谁,是精准排障利器
- 对比 ifconfig:它完全不显示路由信息,无法替代 ip route
快速定位 dns 或连通性问题
看到 IP 和路由都正常,但 ping 不通外网?继续往下查:
- cat /etc/resolv.conf —— 确认 DNS 服务器配置有效(如 nameserver 114.114.114.114)
- ping -c 3 114.114.114.114 —— 绕过 DNS,测试基础三层连通性
- ping -c 3 www.baidu.com —— 若上一步通、这步不通,基本锁定 DNS 解析失败
- 注意:某些发行版(如 Ubuntu 22.04+)用 systemd-resolved,DNS 配置可能在 resolvectl status 中查看
基本上就这些。用好 ip a、ip link、ip route 三个子命令,配合 ping 和 resolvectl,90% 的基础网络状态和连通性问题都能快速定位。ifconfig 可作为辅助参考,但别依赖它做决策。