VirtualBox 安装 CentOS7 后无法获取 IP 的排查与修复
标题:VirtualBox 安装 CentOS7 后无法获取 IP 的排查与修复
问题现象
在 VirtualBox 中全新安装 CentOS-7-x86_64-Minimal-2009.iso(或任何 7.x 版本)后,执行 ip addr
只能看到本地回环地址 127.0.0.1
,网卡 enp0s3
没有分配到 IPv4 地址,导致宿主机无法通过 SSH(Xshell、MobaXterm 等)连接。
根因分析
CentOS 7 默认安装后,第一块网卡(enp0s3
)的配置文件 /etc/sysconfig/network-scripts/ifcfg-enp0s3
中:
ONBOOT=no
该参数表示开机不自启该网卡,VirtualBox 的 NAT/桥接网络自然拿不到 IP。
解决步骤(一次性修复)
-
进入系统
如果还没装完,可在安装界面按Ctrl+Alt+F2
切到 TTY;已装完直接登录。 -
编辑网卡配置
sudo vi /etc/sysconfig/network-scripts/ifcfg-enp0s3
找到
ONBOOT=no
,改为ONBOOT=yes
保存退出(
:wq
)。
同时,在设置->网络里面修改配置
-
重启网络服务
CentOS 7 使用 systemd 管理网络:sudo systemctl restart network
若提示找不到
network.service
,可改用 NetworkManager:sudo systemctl restart NetworkManager
-
验证结果
ip addr show enp0s3
已能看到类似
10.0.2.15/24
的地址,宿主机即可通过ssh root@10.0.2.15
连接。
一劳永逸:安装时自动启用网卡
在 Anaconda 安装界面,进入 网络与主机名 → 选中 enp0s3
→ 打开右上角开关 → 完成。这样生成的配置文件默认就是 ONBOOT=yes
,省去事后手动修改。
排坑补充
-
VirtualBox 网络模式
- NAT:适合需要宿主机访问外网,但外网不访问虚拟机。
- 桥接:虚拟机直接拿到局域网 IP,方便局域网其他机器访问。
两种模式均需ONBOOT=yes
才能生效。
-
DHCP 失败
如果ONBOOT=yes
仍无 IP,确认 VirtualBox 的“网络 → 高级 → 控制芯片”选择 Intel PRO/1000 MT Desktop (82540EM),并勾选 电缆已连接。再执行:sudo dhclient enp0s3
-
最小化镜像缺命令
最小化 ISO 没有ifconfig
,用ip addr
或nmcli device status
查看即可。
小结
一句话:CentOS 7 安装后先改 ONBOOT=yes
再 systemctl restart network
,90 % 的无 IP 问题都能解决。