VirtualBox双网卡配置保姆级教程:让CentOS7虚拟机既能上网又能被宿主机访问
2026/6/2 7:40:33 网站建设 项目流程

VirtualBox双网卡实战:5分钟搞定CentOS7虚拟机内外网互通

刚接触VirtualBox的朋友们,是否遇到过这样的尴尬:虚拟机要么能上网但宿主机连不上,要么宿主机能访问虚拟机却上不了外网?这种"二选一"的困境其实通过双网卡配置就能完美解决。今天我们就用最直白的方式,手把手带你完成NAT+Host-Only的双网卡配置,让你的CentOS7虚拟机既能畅游互联网,又能被宿主机随时访问。

1. 环境准备与基础概念

在开始配置前,我们需要准备以下环境:

  • 已安装VirtualBox 6.0及以上版本
  • 已创建CentOS7虚拟机(建议最小化安装)
  • 宿主机网络正常(Windows/macOS/Linux均可)

关键概念速览

  • NAT模式:让虚拟机通过宿主机上网,就像家用路由器的工作原理
  • Host-Only模式:建立宿主机与虚拟机之间的私有网络,与外部隔离
  • 双网卡方案:一块网卡负责外网访问(NAT),另一块负责宿主机通信(Host-Only)

提示:建议先拍摄虚拟机快照,方便配置出错时快速回滚

2. NAT网卡配置:让虚拟机连接互联网

2.1 创建NAT网络

  1. 关闭CentOS7虚拟机
  2. 打开VirtualBox主界面 → 管理 → 全局设定 → 网络
  3. 点击"添加新NAT网络"图标(螺丝刀旁边的小加号)
  4. 在弹出窗口中设置:
    • 网络CIDR:192.168.56.0/24
    • 支持IPv6:取消勾选(简化配置)

2.2 配置虚拟机网卡

  1. 右键虚拟机 → 设置 → 网络
  2. 网卡1选项卡:
    • 启用网络连接:勾选
    • 连接方式:NAT网络
    • 界面名称:选择刚创建的NAT网络

2.3 验证网络连通性

启动虚拟机后,在终端执行:

ping -c 4 www.baidu.com

看到类似以下输出表示外网连接成功:

64 bytes from 39.156.66.18 (39.156.66.18): icmp_seq=1 ttl=128 time=32.4 ms

3. Host-Only网卡配置:实现宿主机访问

3.1 检查Host-Only网络

  1. VirtualBox主界面 → 管理 → 主机网络管理器
  2. 确认存在名为"VirtualBox Host-Only Ethernet Adapter"的适配器
    • 若不存在,点击"创建"按钮新建

3.2 添加第二块网卡

  1. 虚拟机设置 → 网络 → 网卡2
    • 启用网络连接:勾选
    • 连接方式:Host-Only适配器
    • 界面名称:选择默认Host-Only网络

3.3 配置CentOS静态IP

在虚拟机中编辑网络配置:

vi /etc/sysconfig/network-scripts/ifcfg-enp0s8

写入以下内容(根据实际情况调整):

TYPE=Ethernet BOOTPROTO=static NAME=enp0s8 DEVICE=enp0s8 ONBOOT=yes IPADDR=192.168.56.100 NETMASK=255.255.255.0

重启网络服务:

systemctl restart network

4. 双网卡调优与问题排查

4.1 路由优先级设置

为避免网络冲突,需要调整路由优先级:

vi /etc/sysconfig/network-scripts/route-enp0s8

添加:

192.168.56.0/24 dev enp0s8 metric 100 default via 192.168.56.1 dev enp0s3 metric 50

4.2 常见问题解决方案

问题1:Host-Only驱动报错症状:

Could not find Host Interface Networking driver!

解决方法:

  1. 进入VirtualBox安装目录
  2. 找到drivers\network\netadp6\VBoxNetAdp6.inf
  3. 右键选择"安装"

问题2:宿主机无法ping通虚拟机检查清单:

  • 确认虚拟机防火墙已放行ICMP协议
    firewall-cmd --add-icmp-block-inversion --permanent firewall-cmd --reload
  • 确认Host-Only适配器IP与虚拟机在同一网段
  • 重启VirtualBox网络服务(宿主机端)

5. 高级应用场景

5.1 端口转发配置

如需从宿主机访问虚拟机服务(如SSH):

  1. 虚拟机设置 → 网络 → 网卡1 → 高级 → 端口转发
  2. 添加规则:
    • 名称:SSH
    • 协议:TCP
    • 主机IP:127.0.0.1
    • 主机端口:2222
    • 子系统IP:留空
    • 子系统端口:22

5.2 多虚拟机互通方案

若需多台虚拟机相互通信:

  1. 为每台虚拟机配置相同的Host-Only网络
  2. 设置静态IP在同一网段(如192.168.56.101、192.168.56.102)
  3. 关闭各虚拟机的防火墙或设置相应规则

实际项目中,这种配置特别适合搭建分布式测试环境。我曾用三台这样的虚拟机搭建过微服务测试平台,每台机器运行不同的服务组件,通过Host-Only网络互相调用,而NAT网络则统一提供外网访问能力。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询