从零开始:VirtualBox虚拟机安装与CentOS 7部署+双网卡网络配置指南
在云原生学习、测试环境搭建或多系统开发场景中,虚拟机是不可或缺的工具。VirtualBox作为一款开源免费、跨平台的虚拟机软件,支持Windows、macOS、Linux等主流宿主系统,能轻松实现“一台物理机运行多台虚拟电脑”的需求。本文将手把手带您完成VirtualBox安装、CentOS 7虚拟机部署,并配置NAT+Host-Only双网卡,实现虚拟机“上外网+与主机互通”的核心功能。
一、VirtualBox:认识与下载安装
1.1 为什么选VirtualBox?
- 开源免费:基于GPLv3协议,个人与企业使用均无成本,且Oracle官方持续维护更新。
- 跨平台兼容:宿主系统覆盖Windows、macOS(含Intel/Arm64/M1/M2)、Linux、Solaris, guest系统支持CentOS、Windows、Ubuntu等数十种。
- 轻量高效:相比VMware,资源占用更低,适合入门级用户与轻量级开发测试场景。
1.2 下载VirtualBox
- 访问官方下载页:https://www.virtualbox.org/wiki/Downloads
- 选择对应宿主系统版本:
- Windows用户:点击“Windows hosts”;
- macOS用户:Intel芯片选“macOS / Intel hosts”,M1/M2芯片选“Developer preview for macOS / Arm64 (M1/M2) hosts”;
- Linux用户:根据发行版(如Ubuntu、CentOS)选择对应包。
- 版本说明:VirtualBox 7.0为当前主流版本,6.1版本支持至2023年12月,建议优先选7.0(如本文用7.0.8)。
1.3 安装VirtualBox
- Windows/macOS:双击安装包,默认下一步即可。注意:
- Windows可能弹出“用户账户控制(UAC)”提示,点击“允许”;
- macOS需在“系统设置-安全性与隐私”中允许Oracle扩展程序。
- Linux:通过包管理器安装(如Ubuntu用
dpkg -i 包名.deb
),过程无特殊配置。
安装完成后,桌面会出现“Oracle VM VirtualBox”图标,启动后进入管理器界面,准备创建虚拟机。
二、部署CentOS 7虚拟机:从创建到登录
2.1 准备CentOS 7镜像
首先下载CentOS 7 64位镜像,推荐官方地址:https://www.centos.org/download/(选择“CentOS-7-x86_64-DVD-xxx.iso”,如本文用2207-02版本)。
2.2 新建CentOS 7虚拟机
-
启动创建向导:打开VirtualBox管理器,点击左上角“新建”,进入“虚拟电脑名称与操作系统”界面:
- 名称:自定义(如
node1
,便于识别); - 系统类型:选择“Linux”,版本“Red Hat (64-bit)”(CentOS基于Red Hat,兼容性最佳);
- 虚拟光盘:点击“选择”,找到下载的CentOS 7 ISO文件,加载镜像。
- 名称:自定义(如
-
配置自动安装参数:点击“下一步”,进入“自动安装”界面:
- 用户名:默认
vboxuser
(可自定义),密码自行设置(记牢,用于普通用户登录); - 主机名:默认
node1.myguest.virtualbox.org
(可改,如centos7-node1
); - 增强功能:默认不勾选(后续需可手动安装),直接“下一步”。
- 用户名:默认
-
调整硬件配置:进入“硬件”界面,根据物理机配置调整(新手建议默认):
- 内存:2048 MB(物理机内存≥8GB可设4096 MB,避免卡顿);
- 处理器:1核(物理机CPU核心数多可设2核);
- 启用EFI:默认“否”(仅特殊系统需开启),点击“下一步”。
-
创建虚拟硬盘:进入“虚拟硬盘”界面:
- 选择“现在创建虚拟硬盘”,容量设20.00 GB(CentOS 7最小安装需10GB以上,预留空间便于后续安装软件);
- 格式默认“VDI”,无需“预先分配全部空间”(节省物理磁盘空间),点击“下一步”。
-
确认配置并创建:进入“摘要”界面,核对名称、镜像路径、硬件参数无误后,点击“完成”,虚拟机骨架创建完成。
2.3 启动并安装CentOS 7
-
确认镜像挂载:在VirtualBox管理器中,选中
node1
虚拟机,点击“设置-存储”:- 查看“控制器:IDE”下的“分配光驱”,确认已加载CentOS ISO(若未加载,点击“没有盘片”→“选择虚拟盘”重新挂载)。
- 查看“控制器:IDE”下的“分配光驱”,确认已加载CentOS ISO(若未加载,点击“没有盘片”→“选择虚拟盘”重新挂载)。
-
启动虚拟机:点击“启动”,虚拟机窗口打开后,出现CentOS启动菜单:
- 选择“Install CentOS 7”(直接安装,不选“Test this media”可节省时间),按回车。
- 选择“Install CentOS 7”(直接安装,不选“Test this media”可节省时间),按回车。
-
图形化安装配置:
-
语言选择:默认“简体中文(中国)”,点击“继续”;
-
安装信息摘要:重点检查“安装位置”——点击进入后,选择“本地标准磁盘”(即刚才创建的20GB虚拟硬盘),确保磁盘前显示✅,点击“完成”;
-
其他选项(如“软件选择”默认“最小安装”,“网络和主机名”暂不配置),确认无误后点击“开始安装”。
-
-
设置root密码:安装过程中,点击“ROOT密码”,输入密码(建议复杂度适中,记牢!),点击“完成”(若密码简单,需点击“完成”确认两次)。
-
等待安装与重启:安装进度条走完后,点击“重启”,虚拟机自动重启。
2.4 登录CentOS 7系统
重启后,虚拟机显示登录界面:
-
输入用户名
root
,按回车; -
输入刚才设置的root密码(输入时不显示字符,输完按回车);
-
若成功登录,界面显示
[root@localhost ~]#
,表示CentOS 7系统部署完成!
三、双网卡配置:实现“外网访问+主机互通”
默认情况下,虚拟机未配置网络,无法上外网也无法与物理机通信。需配置NAT网卡(上外网) 和Host-Only网卡(主机与虚拟机互通) ,两步实现网络打通。
3.1 第一步:在VirtualBox创建网络环境
先在VirtualBox管理器中创建两种网络,供虚拟机使用:
3.1.1 创建Host-Only网络(主机与虚拟机互通)
-
关闭
node1
虚拟机(配置网卡需关机),回到VirtualBox管理器; -
点击“工具”→“网络”,切换到“仅主机(Host-Only)网络”标签;
-
点击“创建”,生成新的Host-Only网络(默认名
VirtualBox Host-Only Ethernet Adapter
);
-
点击“属性”,配置参数:
- IPv4地址:默认
192.168.56.1
(物理机在该网络的IP); - 子网掩码:
255.255.255.0
; - 地址范围:最小
192.168.56.101
,最大192.168.56.254
(虚拟机IP需在该范围内); - 点击“应用”保存。
- IPv4地址:默认
3.1.2 创建NAT网络(虚拟机上外网)
- 在“网络”界面切换到“NAT网络”标签;
- 点击“创建”,生成新的NAT网络(默认名
NatNetwork
); - 点击“属性”,配置参数:
- IPv4网络:
10.0.2.0/24
(子网掩码255.255.255.0
); - 启用DHCP:勾选“DHCP服务器”(虚拟机可自动获取外网IP);
- 点击“应用”保存。
- IPv4网络:
3.2 第二步:为虚拟机添加双网卡
-
选中
node1
虚拟机,点击“设置-网络”; -
添加NAT网卡(网卡1) :
- 勾选“启用网络连接”;
- 连接方式:选择“网络地址转换(NAT)”;
- 名称:选择刚才创建的
NatNetwork
; - 点击“确定”暂存。
-
添加Host-Only网卡(网卡2) :
- 点击“网卡2”标签,勾选“启用网络连接”;
- 连接方式:选择“仅主机(Host-Only)网络”;
- 名称:选择刚才创建的
VirtualBox Host-Only Ethernet Adapter
; - 点击“确定”保存配置。
3.3 第三步:配置虚拟机内网卡文件
启动node1
虚拟机,用root登录([root@localhost ~]#
),通过命令行配置网卡参数:
3.3.1 查看网卡名称
输入命令ip addr
,查看系统识别的网卡:
- 通常
enp0s3
对应NAT网卡(第一张网卡); enp0s8
对应Host-Only网卡(第二张网卡)(若未显示,重启虚拟机即可识别)。
3.3.2 配置NAT网卡(enp0s3)
NAT网卡用DHCP自动获取IP,只需设置“开机加载”:
- 进入网络配置文件目录:
cd /etc/sysconfig/network-scripts
; - 编辑enp0s3配置文件:
vi ifcfg-enp0s3
(vi是Linux默认编辑器);
- 进入编辑模式:按
i
键,找到ONBOOT=no
,修改为ONBOOT=yes
(作用:开机自动加载该网卡);
- 保存退出:按
ESC
键,输入:wq
(冒号+wq,意为“写入并退出”),按回车。
3.3.3 配置Host-Only网卡(enp0s8)
Host-Only网卡需用静态IP(便于主机固定访问),步骤如下:
- 复制enp0s3的配置文件,生成enp0s8的配置:
cp ifcfg-enp0s3 ifcfg-enp0s8
; - 生成新UUID(避免与enp0s3冲突):
uuidgen ifcfg-enp0s8
,复制输出的UUID(如6fa10f9d-1a99-47b7-8be4-a2e6e6c2c5db
);
- 编辑enp0s8配置文件:
vi ifcfg-enp0s8
,按i
进入编辑模式,修改以下参数:BOOTPROTO=dhcp
→BOOTPROTO=static
(静态IP);NAME=enp0s3
→NAME=enp0s8
(网卡名匹配);DEVICE=enp0s3
→DEVICE=enp0s8
(设备名匹配);UUID=xxx
→ 替换为刚才复制的新UUID;
- 在文件末尾新增3行(IP需在Host-Only地址范围内,如
192.168.56.120
):IPADDR=192.168.56.120 NETMASK=255.255.255.0 GATEWAY=192.168.56.1
- 保存退出:按
ESC
,输入:wq
回车。
3.4 第四步:重启网络并测试连通性
- 重启网络服务:
service network restart
,显示[ OK ]
表示重启成功;
- 测试外网连通性: ping百度4次(避免无限ping):
ping www.baidu.com -c 4
;- 若显示“4 packets transmitted, 4 received”(4个包发送,4个接收),说明NAT网卡生效,虚拟机可上外网;
- 若显示“4 packets transmitted, 4 received”(4个包发送,4个接收),说明NAT网卡生效,虚拟机可上外网;
- 测试主机与虚拟机互通:
- 物理机打开终端(Windows用cmd,macOS/Linux用终端),ping虚拟机的Host-Only IP:
ping 192.168.56.120
; - 若显示“来自 192.168.56.120 的回复”,说明Host-Only网卡生效,主机与虚拟机可互通。
- 物理机打开终端(Windows用cmd,macOS/Linux用终端),ping虚拟机的Host-Only IP:
四、常见问题与注意事项
- 虚拟机无法识别网卡?
重启虚拟机即可(VirtualBox添加网卡后需重启才能识别)。 - ping百度失败?
检查NAT网卡是否“启用网络连接”,或ONBOOT=yes
是否配置正确。 - 主机ping不通虚拟机?
确认Host-Only网卡的IP在192.168.56.1-199
范围内,且虚拟机防火墙未拦截(新手可临时关闭防火墙:systemctl stop firewalld
)。 - vi编辑文件后无法保存?
需用root用户操作(确保登录的是root,而非普通用户vboxuser)。