好好爱自己!

【转】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
虚拟机
posted @   立志做一个好的程序员  阅读(587)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
历史上的今天:
2020-06-10 【转】Nginx服务器的反向代理proxy_pass配置方法讲解, 先rewrite 再proxy_pass
2020-06-10 bin2hex() 函数把 ASCII 字符的字符串转换为十六进制值。字符串可通过使用 pack() 函数再转换回去。
2020-06-10 infLuxdb 查询语句加tz(),返回结果的时间可以以指定的时区显示
2020-06-10 【转】彻底弄懂UTF-8、Unicode、宽字符、locale
2018-06-10 【转】反思 成长
2015-06-10 cakephp 的query方法,直接写在controller中是否 有点不合适

不断学习创作,与自己快乐相处

点击右上角即可分享
微信分享提示