【转】VirtualBox配置双网卡实现宿主机和虚拟机相互访问及网络互通

 

原文:https://zhuanlan.zhihu.com/p/458822186

----------------

近期在使用VirtualBox的时候遇到这样的场景,我们需要让宿主机可以访问虚拟机内部的服务,并且虚拟机可以上网。VirtualBox默认的网络方式是Nat网络地址转换,虚拟机可以直接上网但是宿主机却无法访问虚拟机的服务。

四种网络类型

1、NAT 网络地址转换模式(NAT,Network Address Translation) 2、Bridged Adapter 桥接模式 3、Internal 内部网络模式 4、Host-only Adapter

主机模式VMWare中有三种,其实他跟VMWare 的网络连接方式都是一样概念,只是比VMWare多了Internal方式。要让自己(或别人)理解深刻,方法就是做比较和打比方,比较之间的不同和相同,拿熟知的事物打比方。先来一张图,通过这张图就很容易看出这4种方式的区别:

 

 

解决方案

我们可以使用双网卡的配置来完成这个需求。

首先将网卡1设置为仅主机(Host-Only)网络

 

 

如果没有这个选项,那么点击管理,然后点击主机网络管理器,点击创建新建一个host-only网络即可

 

 

然后启用网卡2,将网卡2设置为网络地址转换NAT

 

 

然后启动ubuntu,命令行中输入ip a查看网卡,由图中我们可以看到已经有两张网卡:enp0s3和enp0s8

 

 

我们在/etc/netplan/文件夹下新建一个网卡配置文件netcfg.yaml

cd /etc/netplan/
vim netcfg.yaml

然后写上如下内容:

network:
  version: 2
  renderer: networkd
  ethernets:
    enp0s3:				//对应网卡名称,这个是host-only网络
      addresses:
              - 192.168.56.101/24	// 我们给虚拟机分配的内网固定静态ip地址
      dhcp4: no
    enp0s8:				// 这个是nat地址转换网络
      addresses: []
      dhcp4: true

然后保存,使用以下命令让配置生效:

 sudo netplan generate
 sudo netplan apply

这个时候配置应该生效了,可以ping一下我们给虚拟机配置的ip看看是否可ping通

 

 

如果ping不通,可以尝试重启试一下。

我们在虚拟机内部ping一下百度,验证是否可以上网

 

 

虚拟主机内部我安装了宝塔,所以接下来尝试访问宝塔的端口看是否正常

 

 

ok,至此已配置完成。

本文参考:

编辑于 2022-01-18 10:23
VirtualBox
虚拟机
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章