当前位置: 首页 > news >正文

VirtualBox虚拟机连接宿主机并能够上网(小白向)

现存问题

  windows系统主要使用vmarevirtualbox两种虚拟机,virtualbox相对于vmare更加轻便,但少有博客能够详细说明使用virtualbox的教程。踩了网上的坑后,决定写一篇文章介绍virtualbox虚拟机上网的流程。

 需求

 1. virtualbox虚拟机与宿主机能够通信,便于宿主机通过ssh协议连接虚拟机
 2. virtualbox虚拟机能够访问互联网,便于下载互联网资源

方法


下载安装

       首先在官网根据自身系统下载对应版本的virtualbox。创建虚拟机有以下三种方式。

  • 本地存在.ova或者.ovf文件(现成的虚拟操作系统文件),则按以下图片直接导入电脑即可

  • 若之前注册过虚拟机,则会将相关的虚拟机文件保存到某个文件夹下,此时可以直接使用注册,选择该文件夹下的.xml或.vbox文件

  • 通过以下页面,也可以新建一个虚拟机


网卡配置(重要)

        首先需要知道virtualbox的网卡有以下几种常见的模式,它们分别的作用记录在表格中。

网络类型作用
NAT(网络地址转换模式)

1. 通过宿主机的网络来访问公网

2. 宿主机不能和虚拟机进行通信

Bridged(桥接模式)

1. 拥有独立的ip地址,访问公网

2. 要和宿主机器处于同一网段才能进行通信

Host-only(主机模式) 

1. 虚拟机无法访问公网

2. 宿主机能和虚拟机进行通信

        根据各种不同的模式,目前想要实现目的,通常有两种方法。一种是使用NAT模式,然后通过端口转发的方式解决宿主机和虚拟机通信的问题;另一种是使用两块网卡,一块使用NAT模式访问公网,另一块使用Host-only模式访问宿主机。这里采用第二种方式,来配置网卡,具体的配置信息如下图所示。


配置修改

        然后需要修改每一块网卡的配置, 这里使用netplan实现。具体命令如下:

cd /etc/netplan
sudo vim 00-installer-config.yaml
sudo netplan apply

        其中上述第二步中 00-installer-config.yaml 中需要保存的内容如下,要注意用缩进来表示层级关系,每个冒号之后要有个空格。这里设置了两张网卡,第一张网卡enp0s3对应上一步中的NAT模式,因此开启DHCP协议,自动获取IP地址用于访问互联网。第二张网卡enp0s8对应上一步的Host-only模式,因此关闭DHCP协议。addresses字段需要指定一个固定IP地址(自己想一个合法的)。

network:ethernets:enp0s3: # 配置的网卡名称,可以使用ifconfig -a查看本机的网卡dhcp4: true # 动态IP配置协议nameservers: addresses: # 要设置的DNS地址- 8.8.8.8- 114.114.114.114enp0s8:dhcp4: nodhcp6: noaddresses: - xx.xx.xx.xx/24nameservers:addresses: - 8.8.8.8- 114.114.114.114version: 2

        配置完成后,可以使用以下命令依次检查是否配置成功:

  1. ifconfig: 检查virtualbox界面上网卡的mac地址与实际配置的mac地址是否对应(具体而言,我将enp0s3网卡的信息配置为NAT模式,而"网卡1"也是NAT模式,所以查看两者的mac地址是否一样,结果发现均为0800271A58F6)

验证

        配置完成后,需要验证网卡是否起作用。首先是使用 ping baidu.com  是否能够上网,正确结束如下:

        然后宿主机和虚拟机相互ping通即可,宿主机的ip地址使用cmd输入ipconfig可以查询,而虚拟机的ip地址就是上述自己所设置的。 

http://www.lryc.cn/news/453431.html

相关文章:

  • 深度学习每周学习总结J1(ResNet-50算法实战与解析 - 鸟类识别)
  • 商家营销工具架构升级总结
  • 移动硬盘无法读取:问题解析与高效数据恢复实战
  • 20241005给荣品RD-RK3588-AHD开发板刷Rockchip原厂的Android12时使用iperf3测网速
  • node配置swagger
  • MATLAB plot画线的颜色 形状
  • Goland使用SSH远程Linux进行断点调试 (兼容私有库)
  • LLM | Ollama WebUI 安装使用(pip 版)
  • Three.js基础内容(一)
  • 网站建设制作需要注意
  • 【Python】Uvicorn:Python 异步 ASGI 服务器详解
  • 类型转换【C++提升】(隐式转换、显式转换、自定义转换、转换构造函数、转换运算符重载......你想知道的全都有)
  • 微信小程序hbuilderx+uniapp+Android 新农村综合风貌旅游展示平台
  • 【AI大模型】使用Embedding API
  • 面试速通宝典——11
  • python:reportlab 将多个图片合并成一个PDF文件
  • 决策树:机器学习中的强大工具
  • 平面电磁波(解麦克斯韦方程)电场相位是复数的积分常数,电场矢量每个分量都有一个相位。磁场相位和电场一样,这是因为无损介质中实数的波阻抗
  • 复习HTML(进阶)
  • Qt 每日面试题 -7
  • 《计算机原理与系统结构》学习系列——计算机的算数运算(下)
  • 二叉树进阶学习——从前序和中序遍历序列构造二叉树
  • 【数据分享】2000—2023年我国省市县三级逐年植被覆盖度(FVC)数据(Shp/Excel格式)
  • 【Python】Streamlit:为数据科学与机器学习打造的简易应用框架
  • OpenJudge | 置换选择排序
  • 如何提取b站的视频字幕,下载视频
  • Vue中使用ECharts实现热力图的详细教程
  • Arduino UNO R3自学笔记13 之 Arduino使用LM35如何测量温度?
  • 蓝桥杯【物联网】零基础到国奖之路:十六. 扩展模块之矩阵按键
  • Apollo9.0 Planning2.0决策规划算法代码详细解析 (4): PlanningComponent::Proc()