ubuntu22 装完,无网ifconfig 一敲,卡信回车里只有 lo,无网没 eth0。卡信这事我碰见不下十次了。无网别慌,卡信不是无网网卡烧了,也不是卡信系统装废了——大概率是 net-tools 没装,或者网卡压根没被 NetworkManager 接管。无网
先说你最可能遇到的卡信情况。Ubuntu 22 默认用 Netplan 管网络,无网ifconfig 属于 net-tools 这个老古董包,卡信新系统默认不装。无网你敲 ifconfig 的卡信时候,它其实能跑,无网但只显示 loopback 接口,因为真正的物理网卡信息由 ip 命令管理。这时候你该敲 ip a 或者 ip link show,大概率能看到 enp0s3、ens33 之类的一串名字。
但如果你连 ip a 都看不到网卡,只有 lo,那问题就麻烦了。我上周在一台 Dell 工作站上就撞见这事。网卡驱动没加载,或者被 BIOS 禁用了。先查 lspci | grep -i ethernet,看系统认不认这块卡。认的话,多半是驱动模块没自动加载,手动 modprobe e1000e 试试。不认的话,直接进 BIOS,搜“Integrated NIC”或者“Onboard LAN”,确保不是 Disabled 状态。
还有个坑,我见过好几次。你装系统的时候选了“自动配置网络”,但装完把网线拔了,或者路由器 DHCP 没开。这时候网卡状态是 DOWN,ifconfig 默认不显示 DOWN 状态的接口。用 ip link set enp0s3 up 手动拉起来,再 dhclient enp0s3 要个 IP。别问我为什么知道,上个月给客户配服务器,折腾了半小时才发现是交换机端口被划到别的 VLAN 了。
说回 net-tools 这个事。如果你就是习惯用 ifconfig,直接 sudo apt install net-tools 装上,完事。但说实话,ip 命令比 ifconfig 强太多——能看路由表、能配策略路由、还能显示链路状态。我建议你趁早改习惯。不过你要是非用 ifconfig 不可,装完包之后,记得看一眼 ifconfig -a,这个参数会显示所有接口,包括 down 状态的。很多人不知道这个,以为网卡消失了。
最后说个偏门但真实存在的案例。我同事的笔记本,Ubuntu 22 装完,ifconfig 只有 lo,但 ip a 显示 wlp2s0 存在且 up。后来发现是 NetworkManager 服务没启动,导致无线网卡没被管理。手动 systemctl start NetworkManager 就好了。你看,同样是“ifconfig 无网卡信息”,背后原因能差出十万八千里。所以别急着重装系统,按顺序排查:先看 ip a 有没有接口,再看 lspci 认不认硬件,最后查 NetworkManager 状态。三步走完,九成问题能解决。