Qemu虚拟机读取物理机的物理网卡的流量信息方法

news2024/10/5 19:10:15

项目背景:
比如我有三个项目 A,B,C;其中A项目部署在物理机上,B,C项目部署在 虚拟机V1,V2中,三个项目接口需要相互调用。
需要解决的问题点:
1,因为A,B,C项目接口相互调用,所以调用的地址需要静态不变的
2,B,C项目需要读取物理机的物理网卡的镜像流量信息

解决思路:
1,B,C使用主机模式创建虚拟机部署,这样虚拟机和物理机都是在同一个网段,且物理机和虚拟机的ip都是固定的
2,因为B,C需要读取物理网卡的流量信息,之前采用网桥模式,把虚拟机和物理机的物理网卡绑定在同一个网桥上,经过测试,如果pcap包在物理机上向网桥回放流量包信息是虚拟机可以收到流量,但是向物理网卡回放镜像流量包,虚拟机无法读取向物理网卡回放的流量信息。所以这种方法就废弃了,采用passthrough的方法,将物理机的物理网卡绑定到虚拟机上,这样,无论是通过交换机或者其他硬件设备向物理机的物理网卡发送流量信息,虚拟机的虚拟网卡都可以收到流量信息。

使用前需要安装软件 见博客虚拟机软件安装

步骤
1 开启物理机的虚拟机化(passthrough支持)

1.1 /etc/default/grub 配置
vi /etc/default/grub
文件添加 intel_iommu=on iommu=pt
位置如下
在这里插入图片描述

1.2 激活配置

  1. 查看服务器 启动是UEFI启动还是BIOS启动,命令如下
    [ -d /sys/firmware/efi ] && echo UEFI || echo BIOS

  2. 查看系统系统启动方式
    如果是UEFI启动 执行命令 grub2-mkconfig -o /boot/efi/EFI/centos/grub.cfg
    如果是BIOS 启动 执行命令 grub2-mkconfig -o /etc/grub2.cfg

  3. 重启服务器
    reboot

  4. 是否生效
    cat /proc/cmdline
    在这里插入图片描述

2 操作系统配置
2.1 开启操作系统ip forward转发
1)配置
vi /etc/sysctl.conf
增加一行 net.ipv4.ip_forward=1
2)激活配置
sysctl -p /etc/sysctl.conf

3 Nat网络配置
3.1 删除系统默认安装的default网桥
virsh net-destroy default
virsh net-undefine default

3.2 default.xml (文件已提供)拷贝到 /etc/libvirt/qemu/networks/目录下
cp default.xml /etc/libvirt/qemu/networks/

default.xml内容如下

<network>
  <name>default</name>
  <uuid>37268901-d790-4304-b5b8-2a236c16d756</uuid>
  <forward mode='nat'>
    <nat>
      <port start='1024' end='65535'/>
    </nat>
  </forward>
  <bridge name='virbr0' stp='on' delay='0'/>
  <mac address='52:54:00:b3:3d:df'/>
  <ip address='96.66.23.2' netmask='255.255.255.0'>
    <dhcp>
      <range start='96.66.23.3' end='96.66.23.254'/>
    </dhcp>
  </ip>
</network>

3.3 定义并启动default网络
virsh net-define /etc/libvirt/qemu/networks/default.xml
virsh net-start default
virsh net-autostart default

3.4 查看配置状态
virsh net-list
在这里插入图片描述

4 虚拟机安装

见我的博客虚拟机安装

注意:创建虚拟机使用下面的命令,不要指定网桥了(去掉–network bridge:br0)

virt-install --virt-type kvm  --name Ai --ram 8024 --vcpus 8  --cdrom=/home/iso/CentOS-7-x86_64-DVD-1810.iso  --disk path=/home/data/Ai.qcow2  --console pty,target_type=serial   --graphics vnc,listen=0.0.0.0 --os-type=Linux --noautoconsole

5 虚物理网卡绑定
将物理机的某一个空余物理网卡分给虚拟机独享(重点)

a) 查看虚拟机可用的物理网卡
virsh nodedev-list
在这里插入图片描述
b) 使用物理网卡enp7s0 取出 parent标签 pci_0000_07_00_0

在这里插入图片描述

c) 编辑创建的虚拟机 Ai.xml文件
vi /etc/libvirt/qemu/Ai.xml
子标签里面 添加内容为





解释:
取b步骤中的pci_0000_07_00_0
进行修改,domain中的都是16进制,其中b步骤也是16进制的,所以不需要转换,直接将相应的数据放入指定的位置即可
在这里插入图片描述

6 修改虚拟机的网卡ip
修改虚拟机的ip 在其中的网段
96.66.23.3-96.66.23.254

7 测试
方法1 通过网线直连,将一台机器的物理网卡直连这台机器配置物理网卡的网口,然后向物理网卡回放流量包

#enp3s0  与虚拟机绑定物理网卡enp7s0 直连
 tcpreplay -i enp3s0 -l 10000  -M50 http_192.168.36.163_10W.pcap

方法2 直接把回放包放到虚拟机中,直接发送流量信息

 tcpreplay -i eth1 -l 10000  -M50 http_192.168.36.163_10W.pcap

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

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

相关文章

2016-2017 ACM-ICPC Nordic Collegiate Programming Contest (NCPC 2016)题解

2016-2017 ACM-ICPC Nordic Collegiate Programming Contest (NCPC 2016) A - Artwork 题目描述&#xff1a; 给定N*M的网格&#xff0c;给出Q次询问&#xff0c;每次询问都给出一个小矩阵&#xff0c;保证每个矩阵要么长为1&#xff0c;要么宽为1&#xff0c;将网格中矩阵部…

最近给shopify跨境电商网站搞google搜索引擎的seo优化,整理了一些内容

接到一个网站&#xff0c;首先要做一些工作&#xff0c;然后按照这个步骤做好每一步&#xff0c;网站的搜索排名会有明显的效果。 对网站进行技术审核&#xff0c;以确保它符合搜索引擎的技术要求。研究关键词并确定目标关键词。优化网站内容&#xff0c;以便更好地针对目标关…

【LeetCode】剑指 Offer 55. 二叉树的深度 p271 -- Java Version

1. 题目介绍&#xff08;55. 二叉树的深度 &#xff09; 面试题55&#xff1a;二叉树的深度&#xff0c; 一共分为两小题&#xff1a; 题目一&#xff1a;二叉树的深度题目二&#xff1a;平衡二叉树 2. 题目1&#xff1a;二叉树的深度 题目链接&#xff1a;https://leetcode.c…

简单写一个Avue增删改查

今天练习了一下avue&#xff0c;真的好用&#xff0c;个人感觉相比于用element plus的组件还方便&#xff01; 简简单单的写了一个页面的增删改查&#xff0c;思路很简单。如果在写那种后台管理项目&#xff0c;基本上全是列表页&#xff0c;用这种方法写出来第一页&#xff0c…

收入下滑,亏损扩大的人力资源管理公司罗科仕申请纳斯达克IPO上市

来源&#xff1a;猛兽财经 作者&#xff1a;猛兽财经 猛兽财经获悉&#xff0c;来自北京的人力资源管理公司罗科仕近期已向美国证券交易委员会&#xff08;SEC&#xff09;提交招股书&#xff0c;申请在纳斯达克IPO上市&#xff0c;股票代码为(LGCL) 。罗科仕计划通过此次纳斯…

算法训练第五十八天 | 739. 每日温度、496.下一个更大元素 I

单调栈part01739. 每日温度题目描述思路496.下一个更大元素 I题目描述思路739. 每日温度 题目链接&#xff1a;739. 每日温度 参考&#xff1a;https://programmercarl.com/0739.%E6%AF%8F%E6%97%A5%E6%B8%A9%E5%BA%A6.html 题目描述 请根据每日 气温 列表&#xff0c;重新生…

Android组件化开发

Android组件开发 一、背景 一个app随着业务增加&#xff0c;代码放在同一个模块中会越来越臃肿&#xff0c;同时也导致多人开发的一个难度。组件化可以把业务单独分出来&#xff0c;形成一个单独模块&#xff0c;可单独运行、测试等&#xff0c;相互之间不会影响。另外一个优…

鼎捷T100制造之工艺工单实战(其他工艺补充)

文章目录 一、网状工艺二、平行工艺三、替代工艺四、返工工艺五、无顺序工艺一、网状工艺 网状工艺类似一张网状结构。可以包含平行和线性工艺等于一体。 网状工艺: 产品结构 aeci004:建立作业 aecm200: 工艺路线维护

kubeasz搭建k8s集群-部署单节点集群(AllinOne部署)

1说明 kubeasz 致力于提供快速部署高可用k8s集群的工具, 同时也努力成为k8s实践、使用的参考书&#xff1b;基于二进制方式部署和利用ansible-playbook实现自动化&#xff1b;既提供一键安装脚本, 也可以根据安装指南分步执行安装各个组件。 kubeasz 从每一个单独部件组装到完…

太赫兹高速通信系统前端关键技术

摘要&#xff1a;对构成太赫兹无线系统的2 种关键电路&#xff08;分谐波混频器和二倍频器&#xff09;进行了深入研究。在关键电路研究取得突破的基础上&#xff0c;开展了太赫兹无线通信技术研究&#xff0c;构建了220 GHz 无线通信实验验证系统。220 GHz 实验验证系统在室外…

elasticsearch 其他字段类型详解和范例

本章主要内容 elasticsearch 中别名字段的详解和范例elasticsearch 中二进制类型的详解和范例elasticsearch 中的嵌套类型的详解和范例elasticsearch 中的范围类型的详解和范例elasticsearch 中的排名类型的详解和范例elasticsearch 中的ip类型的详解和范例elasticsearch 中的…

【网络应用开发】实验3——Web组件重用与JavaBeans

目录 Web组件重用与JavaBeans预习报告 一、实验目的 二、实验原理 三、实验预习内容 1. 静态include指令何时执行&#xff1f;主页面和被包含的子页面是否转换为一个转换单元&#xff1f; 2.动作指令何时执行&#xff1f;主页面和被包含的子页面是否转换为一个转换单元&a…

【Python游戏】坦克大战、推箱子小游戏怎么玩?学会这些让你秒变高高手—那些童年的游戏还记得吗?(附Pygame合集源码)

前言 下一个青年节快到了&#xff0c;想小编我也是过不了几年节日了呢&#xff01;&#xff01; 社交媒体上流传着一张照片——按照国家规定“14岁到28岁今天都应该放半天假&#xff01;”不得不说&#xff0c; 这个跨度着实有点儿大&#xff0c;如果按整自然年来算年龄&…

Spark 连接 Hive

目录 导包 修改配置文件 修改hive-site.xml文件 启动hadoop 启动hive 启动spark 测试 查看表 导包 spark连接hive需要六个关键的jar包&#xff0c;以及将hive的配置文件hive-site.xml拷贝到spark的conf目录下。如果你hive配置没问题的话&#xff0c;这些jar都在hive的目…

Spring Security实战(四)—— 会话管理

目录 一、理解会话 二、防御会话固定攻击 三、会话过期 四、会话并发控制 五、集群会话的缺陷 六、集群会话的解决方案 七、整合Spring Session解决集群会话问题 只需在两个浏览器中用同一个账号登录就会发现&#xff0c;系统并没有任何会话并发限制。一个账号可以多处同…

cuSPARSE官方程序示例

cuSPARSE Library 简介 这个文件演示了cuSPARSE通用API的用法 官方程序&#xff1a;后续会出解析&#xff08;20230410&#xff09; cuSPARSE Generic APIs Documentation cuSPARSE Samples 向量 - 向量 操作矩阵 - 向量 操作矩阵 - 矩阵操作转换Legacy APIs优化稀疏迭代…

阿里本地生活再出发:口碑入高德,备战美团、抖音

配图来自Canva可画 近日&#xff0c;有传言称高德地图将和阿里本地生活旗下的到店业务口碑正式合并&#xff0c;未来阿里旗下所有的本地生活到店业务都将统一整合在高德地图的入口中。3月22日&#xff0c;高德地图正式确认了此事&#xff0c;并表示高德地图作为“出门好生活开…

网络软件-管理网络设备和组件

网络软件是一个术语&#xff0c;表示帮助网络管理员轻松执行特定操作的任何网络软件。术语“网络软件”可以包括广泛的软件解决方案&#xff0c;每个解决方案都提供特定的功能&#xff0c;共同帮助网络管理员完全控制其IT基础架构。网络软件工具提供监控网络运行状况、测量性能…

一个简单的MUX-VLAN实验(华为eNSP模拟器)

MUX-VLAN产生背景及用途 在数据中心网络中&#xff0c;数据中心管理员希望数据中心内部所有服务器&#xff08;或终端&#xff09;都可以访问外部网络&#xff0c;同时部分服务器之间可以互相通信&#xff0c;部分服务器之间相互隔离。一般情况下&#xff0c;为了实现所有服…

python贪吃蛇代码

文末用python写好了贪吃蛇代码可直接复制使用&#xff01; 今天和大家分享一下贪吃蛇的代码&#xff0c;主要是贪吃蛇的一些基本知识&#xff0c;以及怎么去玩。 首先&#xff0c;我们先了解一下什么是贪吃蛇&#xff1f;它是一个具有多种功能的游戏&#xff0c;可以通过点击屏…