VirtualBox配置双网卡实现宿主机和虚拟机相互访问以及虚拟机外网访问

目录

一:背景

二:实现

三:总结


一:背景

在VirtualBox中配置虚拟机以实现本地主机远程登录、访问外网以及虚拟机之间的相互访问,是一种常见的虚拟化实践,适用于多种场景,如开发、测试和远程工作。那么怎么实现这些功能呢,具体的步骤是怎样的,我们主要实现三步。如下:
1:远程访问:允许本地主机通过远程桌面或其他远程访问工具连接至虚拟机。
2:外网访问:确保虚拟机能够顺畅地连接至互联网,以便下载软件更新和依赖包。
3:虚拟机互联:实现虚拟机之间的网络通信,以便于环境配置和内部通信

二:实现

如果需要让两台虚拟机都可以上网,那么就需要win10的网络连接设置为共享,共享给virtualbox的host-only网卡,这样两台虚拟机可以通过host-only上网,再由本地网卡转发上网了。

1:首先本地主机网络,设置共享

2:设置virtualbox的网络管理

在管理-工具-网络管理器

配置网关地址

3:我们需要在每个虚拟主机安装两块网卡,一个网卡1使用host-only网络,一个网卡2使用nat网络,网卡1可以实现本地主机和虚拟机的通信,以及虚拟主机之间的通信。网卡2可以实现虚拟机访问外网。

4:设置虚拟机的网络

网卡1的设置如下

网卡2的设置如下:

网卡1的网络

这里网卡1会自动获取到ip地址为192.168.56.101

网卡1配置文件

网卡二配置文件


TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=dhcp
GATEWAY=10.0.3.2
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=enp0s8
UUID=b6cf2336-ea13-4235-9a20-8a3380d57277
DEVICE=enp0s8
ONBOOT=yes

这里需要注意的是,网卡二一定要设置网关地址,要不然访问不了外网

网关地址可以根据命令查看

在虚拟机访问外网:

在本地主机访问虚拟机:

发现网络是连通的

同时我们用xshell工具远程连接虚拟机也是可以连接成功的,这样我们在虚拟机上安装web服务或其他程序都是可以在本地主机上直接访问的

5:把另外一台虚拟机也按照上面3-4的配置设置好网卡的网络和网关设置,我们发现虚拟机网卡1分配的ip为192.168.56.102,网卡2的地址为10.0.3.15

我们在虚拟机2中访问虚拟机1,发现网络是可以通信的

三:总结

通过以上步骤我们可以实现虚拟机内部的访问以及本地主机访问虚拟机。配置过程中可能出现不生效或者网络不通的情况,可以尝试重启网络service network restart,另外第二块网卡的配置文件是没有的,需要复制第一个网卡的配置文件修改下。

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-06-14 22:34:01       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-06-14 22:34:01       101 阅读
  3. 在Django里面运行非项目文件

    2024-06-14 22:34:01       82 阅读
  4. Python语言-面向对象

    2024-06-14 22:34:01       91 阅读

热门阅读

  1. GlideApp无法生成问题解决

    2024-06-14 22:34:01       33 阅读
  2. 深入解析JVM的GC过程

    2024-06-14 22:34:01       31 阅读
  3. cocos入门11:生命周期

    2024-06-14 22:34:01       29 阅读
  4. Docker相关命令

    2024-06-14 22:34:01       27 阅读