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.114
    enp0s8:
      dhcp4: no
      dhcp6: no
      addresses: 
        - xx.xx.xx.xx/24
      nameservers:
        addresses: 
          - 8.8.8.8
          - 114.114.114.114
  version: 2

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

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

验证

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/887942.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Android SystemUI组件(10)禁用/重启锁屏流程分析

该系列文章总纲链接:专题分纲目录 Android SystemUI组件 本章关键点总结 & 说明: 说明:本章节持续迭代之前章节的思维导图,主要关注左侧上方锁屏分析部分 应用入口处理流程解读 即可。 在 Android 系统中,禁用锁屏…

AI学习记录 - L2正则化详细解释(权重衰减)

大白话: 通过让反向传播的损失值变得比原来更大,并且加入的损失值关联到神经网络全部权重的大小,当出现权重的平方变大的时候,也就是网络权重往更加负或者更加正的方向走的时候,损失就越大,从而控制极大正…

【PostgreSQL】PG数据库表“膨胀”粗浅学习

文章目录 1 为什么需要关注表膨胀?2 如何确定是否发生了表膨胀?2.1 通过查询表的死亡元组占比情况来判断膨胀率2.1.1 指定数据库和表名2.1.2 查询数据库里面所有表的膨胀情况 3 膨胀的原理3.1 什么是膨胀?膨胀率?3.2 哪些数据库元…

Unity Asset Store的默认下载位置及更改下载路径的方法

修改Unity Asset Store的默认下载路径 Unity Asset Store默认下载位置 Unity Asset Store里下载资源,默认是下载到C盘里的,如果你不想做C盘战士的话,记得将下载的资源转移到其他盘。 Unity商城默认下载路径是C:\用户\用户名(一般…

晶体管最佳效率区域随频率逆时针旋转原因分析

晶体管最佳效率区域随频率逆时针旋转原因分析 在功率放大器的设计时,晶体管最佳区域随频率逆时针旋转。但是,对于一般的微带电路,匹配阻抗区域是随着频率顺时针旋转的(也有称这个特性是Foster特性),因此功…

UE5学习笔记23-给角色添加血量,添加收到伤害的功能

零、一些游戏框架知识 1.UE5中包含游戏模式类(Game Mode)、游戏状态类(Game State)、玩家状态类(Player State)、玩家控制器类(Player Controller)、所有的可以被控制的实体或角色类(Pawn)、窗口类(HUD/Widget) Game Mode:存在在服务器上,当我们在客户端…

Redis实现每日签到(大数据量)

PHP语言使用Redis NoSQL服务器二进制数据类型实现大数据情况下签到功能 目录 问题 解决方式 封装签到类 功能调用 总结 问题 实现用户每日签到功能不难,但随着用户量上升之后,不论是存储还是判断对数据量来说都很麻烦;假如每天有100万用…

【STM32开发环境搭建】-4-在STM32CubeMX中新增Keil(MDK-ARM) 5的工程目录(包含指定路径的C和H文件)

案例背景: 由于Keil(MDK-ARM)5工程:DEMO_STM32F030C8T6.uvprojx是由STM32CubeMX工具生成的,如果我们在Keil工程中手动添加了一些c文件和h文件的Include Path包含路径,会在STM32CubeMX下一次生成uvprojx文件时,被删除&…

C语言复习概要(四)

本文 1. 操作符的分类算术操作符关系操作符逻辑操作符 2. 二进制制和进制转换二进制与十六进制的表示进制转换算法 3. 原码、反码和补码原码反码补码 1. 操作符的分类 C语言中的操作符种类繁多,常用的主要操作符可以按照其功能进行如下分类: 算术操作符…

Emergency Stop (ES)

文章目录 1. 介绍2. Feature List3. 紧急停止信号触发方式3.1 Port触发紧急停止信号3.2 SMU事件触发紧急停止信号3.3 软件触发紧急停止信号 4. 应用场景4.1 Port4.2 MSC 1. 介绍 Emergency Stop (ES)是Ifx System Control Units (SCU)六大模块之一。详细信息可以参考Infineon-…

毕设 大数据抖音短视频数据分析与可视化(源码)

文章目录 0 前言1 课题背景2 数据清洗3 数据可视化地区-用户观看时间分界线每周观看观看路径发布地点视频时长整体点赞、完播 4 进阶分析相关性分析留存率 5 深度分析客户价值判断 0 前言 🔥 这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕…

以太网交换安全:MAC地址表安全

一、MAC地址表安全 MAC地址表安全是网络安全中的一个重要方面,它涉及到网络设备的MAC地址表的管理和保护。以下是对MAC地址表安全的详细介绍: (1)基本概念 定义:MAC地址表是网络设备(如交换机&#xff0…

阿里云域名注册购买和备案

文章目录 1、阿里云首页搜索 域名注册2、点击 控制台3、域名控制台 1、阿里云首页搜索 域名注册 2、点击 控制台 3、域名控制台

关系数据库和关系模型(1)

昨天补充了DBMS概况的存储管理层面,今天来详细介绍数据库管理系统中常见且应用广泛的关系型数据库(简称关系数据库),比如postgreSQL、MySQL、Oracle Database。 关系模型 关系模型是数据库中如何进行存储和组织数据的理论基础。…

掌控物体运动艺术:图扑 Easing 函数实践应用

现如今,前端开发除了构建功能性的网站和应用程序外,还需要创建具有吸引力且尤为流畅交互的用户界面,其中动画技术在其中发挥着至关重要的作用。在数字孪生领域,动画的应用显得尤为重要。数字孪生技术通过精确模拟现实世界中的对象…

虚幻引擎GAS入门学习笔记(一)

虚幻引擎GAS入门(一) Gameplay Ability System(GAS) 是一个模块化且强大的框架,用于管理虚幻引擎中的游戏玩法逻辑。它的核心组成部分包括 Gameplay Ability(定义和执行能力)、Gameplay Effect(应用和管理…

mit6824-01-MapReduce详解

文章目录 MapReduce简述编程模型执行流程执行流程排序保证Combiner函数Master数据结构 容错性Worker故障Master故障 性能提升定制分区函数局部性执行缓慢的worker(slow workers) 常见问题总结回顾参考链接 MapReduce简述 MapReduce是一个在多台机器上并行计算大规模数据的软件架…

Electron 主进程与渲染进程、预加载preload.js

在 Electron 中,主要控制两类进程: 主进程 、 渲染进程 。 Electron 应⽤的结构如下图: 如果需要更深入的了解electron进程,可以访问官网 流程模型 文档。 主进程 每个 Electron 应用都有一个单一的主进程,作为应用…

webpack插件 --- webpack-bundle-analyzer【查看包体积】

const UglifyJsPlugin require(uglifyjs-webpack-plugin) // 清除注释 const CompressionWebpackPlugin require(compression-webpack-plugin); // 开启压缩// 是否为生产环境 const isProduction process.env.NODE_ENV production; const { BundleAnalyzerPlugin } requi…

【AI大模型】使用Embedding API

一、使用OpenAI API 目前GPT embedding mode有三种,性能如下所示: 模型每美元页数MTEB得分MIRACL得分text-embedding-3-large9,61554.964.6text-embedding-3-small62,50062.344.0text-embedding-ada-00212,50061.031.4 MTEB得分为embedding model分类…