QEMU通过OVS实现联网

这篇笔记也是记录了一下自己的辛酸历程,仅供有需要的人参考。

首先关于qemu虚拟机的搭建,这不多赘述了,大家应该都会,这里可以给大家提供一个链接和一些命令。

QEMU搭建X86_64 + Ubuntu虚拟系统环境icon-default.png?t=O83Ahttps://blog.csdn.net/m0_53195006/article/details/129883054这里主要的内容参考是没问题,就是记得在qemu configure的时候要加入--enable-sdl。

命令如下:

#./configure --enable-kvm --enable-debug --enable-sdl --enable-vnc --target-list=x86_64-softmmu#create empty img
qemu-img create -f qcow2 ubt1.qcow2 10G#create ubuntu img
qemu-system-x86_64 -m 2048 -smp 2 --enable-kvm ubt1.qcow2 -cdrom ./ubuntu-16.04.4-server-amd64.iso#cp ubt1.qcow2 ubt2.qcow2#start too vms
qemu-system-x86_64 -m 2048 -smp 2 --enable-kvm ubt1.qcow2 -netdev tap,id=tapnet,ifname=vnet0,script=no -device rtl8139,netdev=tapnet,mac=00:11:22:33:44:55qemu-system-x86_64 -m 2048 -smp 2 --enable-kvm ubt2.qcow2 -netdev tap,id=tapnet,ifname=vnet1,script=no -device rtl8139,netdev=tapnet,mac=00:11:22:33:44:66

这样我们就拥有了两台虚拟机,但是先别启动,先配置好vnet。

然后呢,我们要启动ovs了。首先是安装ovs。

sudo apt update
sudo apt install openvswitch-switch

这里我们可以检查一下ovs是否启动了,看下是否active。

sudo systemctl status openvswitch-switch

如果active了的话,那么就代表启动了。接着做下面的命令,这很好懂。我新建两个tap设备,给两个qemu用。enp6s0是我宿主机的网卡名称。但是做完下面的动作你会发现,本来可以上网的,现在不行了。

sudo tunctl -b -t vnet0
sudo ifconfig vnet0 up
sudo tunctl -b -t vnet1
sudo ifconfig vnet1 upsudo ovs-vsctl add-br vbr0
sudo ovs-vsctl add-port vbr0 vnet0
sudo ovs-vsctl add-port vbr0 vnet1
sudo ovs-vsctl add-port vbr0 enp6s0

最关键的步骤,因为我是通过dhcp获取的ip地址,所以把enp6s0的ip地址给到vbr0并没有用(靠!!!)。需要

sudo dhclient vbr0

这样vbr0获取到ip地址才可以使用。

配置完之后,我们按照之前的命令启动两个qemu,就发现他们可以上网了,附一张iperf3的图,是两个qemu之间打的。

这里有个问题,我之前在 CSDN 上看到有人用bridge也可以实现上网的,但是我做了就不行,还没搞清楚原因。

如果觉得这篇文章有用的话,可以点赞、评论或者收藏,万分感谢,goodbye~ 

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

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

相关文章

IT面试求职系列主题-Jenkins

想成功求职,必要的IT技能一样不能少,先说说Jenkins的必会知识吧。 1) 什么是Jenkins Jenkins 是一个用 Java 编写的开源持续集成工具。它跟踪版本控制系统,并在发生更改时启动和监视构建系统。 2)Maven、Ant和Jenkins有什么区别…

(五)ROS通信编程——参数服务器

前言 参数服务器在ROS中主要用于实现不同节点之间的数据共享(P2P)。参数服务器相当于是独立于所有节点的一个公共容器,可以将数据存储在该容器中,被不同的节点调用,当然不同的节点也可以往其中存储数据,关…

攻防靶场(34):隐蔽的计划任务提权 Funbox1

目录 1. 侦查 1.1 收集目标网络信息:IP地址 1.2 主动扫描:扫描IP地址段 1.3 搜索目标网站 2. 初始访问 2.1 有效账户:默认账户 2.2 利用面向公众的应用 2.3 有效账户:默认账户 3. 权限提升 3.1 计划任务/作业:Cron 靶场…

嵌入式入门Day38

C Day1 第一个C程序C中的输入输出输出操作coutcin练习 命名空间使用方法自定义命名空间冲突问题 C对字符串的扩充C风格字符串的使用定义以及初始化C风格字符串与C风格字符串的转换C风格的字符串的关系运算常用的成员变量输入方法 布尔类型C对堆区空间使用的扩充作业 第一个C程序…

kubernetes第七天

1.影响pod调度的因素 nodeName 节点名 resources 资源限制 hostNetwork 宿主机网络 污点 污点容忍 Pod亲和性 Pod反亲和性 节点亲和性 2.污点 通常是作用于worker节点上,其可以影响pod的调度 语法:key[value]:effect effect:[ɪˈfek…

直流无刷电机控制(FOC):电流模式

目录 概述 1 系统框架结构 1.1 硬件模块介绍 1.2 硬件实物图 1.3 引脚接口定义 2 代码实现 2.1 软件架构 2.2 电流检测函数 3 电流环功能实现 3.1 代码实现 3.2 测试代码实现 4 测试 概述 本文主要介绍基于DengFOC的库函数,实现直流无刷电机控制&#x…

Google发布图像生成新工具Whisk:无需复杂提示词,使用图像和人工智能将想法可视化并重新混合

Whisk 是 Google Labs 的一项新实验,可使用图像进行快速而有趣的创作过程。Whisk不会生成带有长篇详细文本提示的图像,而是使用图像进行提示。只需拖入图像,即可开始创建。 whisk总结如下: Whisk 是 Google 实验室最新的生成图像实…

【面试题】技术场景 4、负责项目时遇到的棘手问题及解决方法

工作经验一年以上程序员必问问题 面试题概述 问题为在负责项目时遇到的棘手问题及解决方法,主要考察开发经验与技术水平,回答不佳会影响面试印象。提供四个回答方向,准备其中一个方向即可。 1、设计模式应用方向 以登录为例,未…

MySQL 子查询(重在练习)

第九章: 子查询 1.子查询的需求分析和问题解决 1.1基本使用 子查询(内查询)在主查询之前一次执行完成 子查询的结果被主查询(外查询)调用 注意事项 子查询要包含在括号内 将子查询放在比较条件的右侧 单行操作符对应单行子查询,多行操作符对应多行子查询 1.2子查询的分类…

海外招聘丨卡尔斯塔德大学—互联网隐私和安全副高级讲师

雇主简介 卡尔斯塔德大学以研究、教育和合作为基础。通过让社区参与知识发展,卡尔斯塔德大学为地区、国家和国际研究和教育发展做出了贡献,旨在提高可持续性、民主和健康。我们富有创造力的学术环境以好奇心、勇气和毅力为特征。通过采取批判性方法&…

CTFshow—文件包含

Web78-81 Web78 这题是最基础的文件包含,直接?fileflag.php是不行的,不知道为啥,直接用下面我们之前在命令执行讲过的payload即可。 ?filephp://filter/readconvert.base64-encode/resourceflag.php Web79 这题是过滤了php,…

iOS实际开发中使用Alamofire实现多文件上传(以个人相册为例)

引言 在移动应用中,图片上传是一个常见的功能,尤其是在个人中心或社交平台场景中,用户经常需要上传图片到服务器,用以展示个人风采或记录美好瞬间。然而,实现多图片上传的过程中,如何设计高效的上传逻辑并…

Cannot run program “docker“: CreateProcess error=2,系统找不到指定的文件

今天被这个问题坑了, 网上教程全是直接装插件就行 ,结果我连接可以成功 但是执行docker compose 就会出错, 检测配置 报错com.intellil,execution,process.ProcessNotCreatedException: Cannot run program “docker”: CreateProcess error2,系统找不到指定的文件 gpt 要我去…

Blender 2D动画与MATLAB数学建模:跨界融合的创新实践探索

文章目录 一、数据交换:从科学计算到创意表达的桥梁二、脚本自动化:从手动操作到无缝连接的升级三、跨界融合的创新实践意义《Blender 2D动画制作从入门到精通》亮点内容简介作者简介 《MATLAB数学建模从入门到精通》亮点内容简介作者简介 在数字创意与科…

HarmonyOS Next 日志工具介绍

HarmonyOS Next 日志工具介绍 在HarmonyOS Next开发中,日志是我们调试定位问题的主要手段,不管是hilog还是console,最终都可以输出到DevEco Studio的日志模块中: 在这里可以过滤应用进程、日志级别、日志内容呢,也可…

NUTTX移植到STM32

STM32移植NUTTX 1. Ubuntu下搭建开发环境1.1 先决条件1.2 下载 NuttX1.3 使用Make 进行编译1.4 烧录运行 2.通过NUTTX点亮LED2.1 部署操作系统2.2 修改配置文件2.3 编译运行程序 开发板:DshanMCUF407 官方开发文档:安装 — NuttX latest 文档 参考文档&…

【微服务】4、服务保护

微服务架构与组件介绍 单体架构拆分:黑马商城早期为单体架构,后拆分为微服务架构。跨服务调用与组件使用 服务拆分后存在跨服务远程调用,如下单需查询商品信息,使用openfeign组件解决。服务间调用关系复杂,需维护服务…

【网络安全 | 漏洞挖掘】通过模拟功能实现提权(Bugcrowd)

未经许可,不得转载。 我将与大家分享我在 Bugcrowd 的某个项目中发现的一个漏洞,该项目中有一个“用户模拟”功能。 什么是用户模拟? 用户模拟允许管理员在不知晓用户凭据的情况下“以用户身份登录”。这种功能常见于管理员需要调试问题、审查用户权限或解决投诉的平台中。…

安装MySQL的五种方法(Linux系统和Windows系统)

一.在Linux系统中安装MySQL 第一种方法:在线YUM仓库 首先打开MySQL官网首页 www.mysql.com 找到【DOWNLOADS】选项,点击 下拉,找到 【MySQL Community(GPL) Downloads】 在社区版下载页面中,【 MySQL Yum Repository 】链接为在线仓库安装…

【Spring Boot 应用开发】-01 初识

特性 Spring Boot 是由 Pivotal 团队提供的全新框架,其设计目的是帮助开发者快速创建独立的、生产级的基于 Spring 框架的应用程序。以下是 Spring Boot 的一些主要特点: 简化配置:Spring Boot 提供了自动配置机制,能够根据类路径…