Multipass虚拟机设置局域网固定IP同时实现快速openshell的链接

本文只介绍在windows下实现的过程,Ubuntu采用22.04

安装multipass后,在卓面右下角Open shell 就可以链接默认实例Primary,当然如果你有多个虚拟机,可以针对不同内容单独建立终端的链接,而本文仅仅用Primary来说明。

一、确认网络情况和任务目标。

        在控制面板的网络连接里面,你可以看到至少有一个以太网Wlan的网络连接,也就是你上网的网卡,然后还有一个网络连接,虚拟网卡vEthernet (Default Switch),ip地址并非你局域网的ip,而是一个10开头或者172开头的结尾是1的IP地址,你当前正在操作的计算机连接到你的虚拟机,且你的计算机(宿主服务器)为网关,通过Default switch交换机访问到的Primary,而multipass的Open shell / 快速链接( multipass shell primary 命令) 也是通过这套线路进行的链接,也就是说虚拟机的eth0和Default switch交换机是对应的星际之门。

问题:如何让primary直接连接真实网络的网关(或路由器),而不通过宿主网关直接上网呢??同时还要满足可以使用open shell或小标右键快速创建终端窗口?

任务:创建一条Primary直接连接物理网关的线路,同时让multipass管理器还能继续快速openshell链接虚拟机。

二、实现

        既然要让虚拟机直接分配到一个和宿主一样的局域网ip又要让快速链接可用那就必须要再添加一块网卡(而不是更改当前网卡的链接),而这块网卡对应的,是一个和外部网关连接的全新交换机,只有这样,才不会破坏到原有宿主到虚拟机的链接,所以与默认的Default Switch交换机完全无关。

开始操作:

Multipass在windows下是基于Hyper-V管理器来创建和管理虚拟机的,所以任务栏搜索Hyper-v,打开Hyper-v管理器。

这时你可以看到左侧一个名叫你主机名字一样 或 DESKTOP-xxxxx的服务器已经链接,同时右侧有一个叫做primary的虚拟主机正在运行。

一、创建第二个虚拟交换机。

鼠标右键点击你的Hyper-v管理器中,红线这里的名字,选择虚拟交换机管理器,创建一个新的虚拟交换机,用于prime虚拟机与局域网链(原有Default switch是与宿主机链接的,始终不管它。)然后选择外部,点击创建虚拟交换机(S)按钮

名称这里,写一个你能识别出这个交换机是用于链接什么的名字,例如我的是Lan-switch,下面的网卡,选择当前链接局域网正在使用的网卡。然后按应用,再按确定

 

 至此,连接局域网的虚拟交换机创建完成。

二、添加虚拟主机第二个虚拟网卡

回到Hyper-v管理器的页面,鼠标右键点击你的虚拟机,本文中是Primary,菜单中点设置->添加硬件->网络适配器->添加

 在虚拟交换机选项中,选择你刚刚创建的Lan-switch虚拟交换机,然后点击应用确定。至此,宿主机的配置已经完成。

三、Ubuntu虚拟机设置局域网固定IP

通过右下角Mulitpass橘色小标,右键选择Open shell进行快速链接。然后先确认一下虚拟机的IP情况

 发现新添加的网卡没有认上,执行命令激活这个刚添加的第二块虚拟网卡

为了方便读者好进行复制,所以我不适用代码模式,使用引用块可以无需登录直接复制

sudo ifconfig eth1 up

执行后再次查看,应该eth1(eth0是第一块网卡负责和宿主机链接的)这个第二块网卡已经挂上了

由于Ubuntu从16之后设置IP已经不再使用ifconfig配置,所以我们直接定位完了过配置文件“Yaml”,位置在/etc/plan/目录下,版本不同名称不同,不一定都是50,但肯定是yaml结尾。

 开始编辑这个文件

执行

sudo vi 50-cloud-init.yaml

会看到除了每行开头#注释的内容外,还有以network开头的配置信息,根据我下面的信息,来修改你的信息,每行的内容以及空格的内容一定不要更换,包括开头的空格在内,都是一一堆堆的关闭。每一等级都是对上层的展开或者平级。

我们能看到eth0: 在项目后面都有个冒号“:”,在每个冒号后面必须有一个空格,否则无法识别项目。然后在version: 2的上面,开始进行编辑,添加eth1第二块网卡的信息,如果有了可以忽略,只需要修改IP地址即可,如果没有,根据我下面的内容进行编辑即可,顺序和空格一定不要乱,编辑前记得备份。

network:
    ethernets:
        eth0:
            dhcp4: true
            match:
                macaddress: 52:xx:xx:xx:f3:xx
            set-name: eth0
        eth1:
          optional: true
          addresses: [192.168.1.10/24]  #固定ip地址,网段写你自己的
          nameservers:
            addresses: [192.168.1.1]       #nameservers的地址
          routes:                                  #配置当前路由,走192.168这个交换机的地址
            - to: default
              via: 192.168.1.1
    version: 2                   

其中“-”减号代表展开的目录,nameserver下面的address前面必须空格,不能与nameserver对其,这一点写代码的朋友应该都懂。对照上面的没有问题了,wq!保存退出。

然后执行debug命令,先看看有没有什么错误,当然也可以直接apply。然后你的shell窗口会断开,重新链接即可。

sudo netplan --debug apply

sudo netplan apply

至此两个网卡和两个交换机,已经搞定了内链接和外连接的双重连接。

文章结束

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

GO学习之 微框架(Gin)

GO系列 1、GO学习之Hello World 2、GO学习之入门语法 3、GO学习之切片操作 4、GO学习之 Map 操作 5、GO学习之 结构体 操作 6、GO学习之 通道(Channel) 7、GO学习之 多线程(goroutine) 8、GO学习之 函数(Function) 9、GO学习之 接口(Interface) 10、GO学习之 网络通信(Net/Htt…

《大型网站技术架构》第二篇 架构-高可用

高可用在公司中的重要性 对公司而言,可用性关系网站的生死存亡。对个人而言,可用性关系到自己的绩效升迁。 工程师对架构做了许多优化、对代码做了很多重构,对性能、扩展性、伸缩性做了很多改善,但别人未必能直观地感受到&#…

【三维编辑】Seal-3D:基于NeRF的交互式像素级编辑

文章目录 摘要一、引言二、方法2.1.基于nerf的编辑问题概述2.2.编辑指导生成2.3.即时预览的两阶段学生训练 三、实验四、代码总结 项目主页: https://windingwind.github.io/seal-3d/ 代码:https://github.com/windingwind/seal-3d/ 论文: https://arxiv.org/pdf/23…

JavaWeb-Servlet服务连接器(一)

目录 1.Servlet生命周期 2.Servlet的配置 3.Servlet的常用方法 4.Servlet体系结构 5.HTTP请求报文 6.HTTP响应报文 1.Servlet生命周期 Servlet(Server Applet)是Java Servlet的简称。其主要的功能是交互式地浏览和修改数据,生成一些动态…

Springboot04--vue前端部分+element-ui

注意点: 这边v-model和value的区别:v-model是双向绑定的,value是单向绑定 li的key的问题 vue的组件化开发: 1. NPM(类似maven,是管理前段代码的工具) 安装完之后可以在cmd里面使用以下指令 2.…

初出茅庐的小李博客之认识编码器

编码器是什么: 一种将角位移或者角速度转换成一连串电数字脉冲的旋转式传感器,我们可以通过编码器测量到底位移或者速度信息。编码器通常由一个旋转部分和一个固定部分组成,旋转部分随着被测量的物体进行旋转,固定部分则保持不动…

vue2 封装 webSocket 开箱即用

第一步: 下载 webSocket npm install vue-native-websocket --save 第二步: 需要在 main.js 中 引入 import websocket from vue-native-websocket; Vue.use(websocket, , {connectManually: true, // 手动连接format: json, // json格式reconnection:…

【Ubuntu】简化反向代理和个性化标签页体验

本文将介绍如何使用Docker部署Nginx Proxy Manager和OneNav,两个功能强大且易用的工具。Nginx Proxy Manager用于简化和管理Nginx反向代理服务器的配置,而OneNav则提供个性化的新标签页体验和导航功能。通过本文的指导,您将学习如何安装和配置…

JavaScript类

JavaScript 类(class) 类是用于创建对象的模板。 我们使用 class 关键字来创建一个类,类体在一对大括号 {} 中,我们可以在大括号 {} 中定义类成员的位置,如方法或构造函数。 每个类中包含了一个特殊的方法 constructor(),它是类…

【yolov系列:小白yolov7跑数据集建立环境】

首先在github上面获取别人的源码 这个是github的源码包,直接下载解压使用 打开解压后的文件夹应该可以看到这个页面。 进入文件夹的requirements.txt的页面 这篇文章是为了记录自己的环境配置过程,当作笔记使用来看,目前网上各种安装教程都…

深入浅出:MyBatis的使用方法及最佳实践

这里写目录标题 添加MyBatis框架⽀持配置连接字符串和MyBatis配置连接字符串配置 MyBatis 中的 XML 路径 添加业务代码创建数据库和表添加用户实体类添加 mapper 接⼝添加 UserMapper.xml添加 Service层添加 Controller层 增删改操作增加操作删除操作修改操作 添加MyBatis框架⽀…

浏览器多管闲事之跨域

年少时的梦想就是买一台小霸王游戏机 当时的宣传语就是小霸王其乐无穷~。 大些了,攒够了零花钱,在家长的带领下终于买到了 那一刻我感觉就是最幸福的人 风都是甜的! 哪成想... 刚到家就被家长扣下了 “”禁止未成年人玩游戏机 (问过卖家了&a…

泛微E-Office任意文件上传漏洞复现(HW0day)

0x01 产品简介 泛微E-Office是一款标准化的协同 OA 办公软件,泛微协同办公产品系列成员之一,实行通用化产品设计,充分贴合企业管理需求,本着简洁易用、高效智能的原则,为企业快速打造移动化、无纸化、数字化的办公平台。 0x02 漏…

【LeetCode】数据结构题解(13)[设计循环链表]

设计循环链表 😉 1.题目来源👀2.题目描述🤔3.解题思路🥳4.代码展示 所属专栏:玩转数据结构题型❤️ 🚀 >博主首页:初阳785❤️ 🚀 >代码托管:chuyang785❤️ &…

selenium环境搭建

文章目录 1、下载谷歌浏览器2、下载谷歌驱动 1、下载谷歌浏览器 浏览器下载完成后,在任务管理器中禁止浏览器的自动更新。因为驱动版本必须和浏览器一致,如果浏览器更新了,驱动就用不起了。 2、下载谷歌驱动 谷歌驱动需要和谷歌浏览器版本…

Spring-Cloud-Loadblancer详细分析_3

前两篇文章介绍了加载过程,本文从Feign的入口开始分析执行过程,还是从FeignBlockingLoadBalancerClient.execute来入手 public class FeignBlockingLoadBalancerClient implements Client {private static final Log LOG LogFactory.getLog(FeignBlock…

2023全新UI好看的社区源码下载/反编译版

2023全新UI好看的社区源码下载/反编译版 这次分享一个RuleAPP二开美化版(尊重每个作者版权),无加密可反编译版本放压缩包了,自己弄吧!!! RuleAPP本身就是一款免费开源强大的社区,基…

【MySQL--->数据库操作】

文章目录 [TOC](文章目录) 一、操作语句1.增2.删3.改4.查5.备份 二、字符集与校验规则 一、操作语句 1.增 语句格式:create database [if no exists]数据库名[create_specification [,create_specification] …]; 中括号内是可选项,if no exists是指如果数据库不存在就创建,存…

Win10启动Jmeter报错提示jmeter.log拒绝访问问题

jmeter版本:5.4.1 查看版本 在dos命令窗口中进入jmeter安装目录下的bin目录中:执行jmeter - v命令 我启动的方式是:进入jmeter安装目录下的bin目录中双击jmeter.bat启动的。结果报错,但是不影响使用。 报错日志如下: …

分类过程中的一种遮挡现象

( A, B )---3*30*2---( 1, 0 )( 0, 1 ) 让网络的输入只有3个节点,AB训练集各由6张二值化的图片组成,让A,B中各有3个点,且不重合,统计迭代次数并排序。 其中有10组数据 差值结构 迭代次数 构造平均列A 构造平均列AB…