构建OVS网络
构建OVS网络
1. 配置虚拟机环境
(1)配置虚拟机交换机
1 创建一个名为br-xd的虚拟交换机。
# ovs-vsctl add-br br-xd |
2 查询虚拟交换机。
# ovs-vsctl show 5a1cd870-fc31-4820-a7f4-b75c19450582 Bridge br-xd Port br-xd Interface br-xd type: internal |
3 确认组件安装。
在使用虚拟交换机之前首先确认TAP所需要的组件的组件是否安装。
#yum -y localinstall tunctl-1.5-26.14.x86_64.rpm (tunctl包上传至root目录) |
4 创建TAP设备,创建前需要确认tun模块是否被加载。
# tunctl -b -u root -t tap1 # tunctl -b -u root -t tap2 |
5 设备连接到虚拟交换机。
# ovs-vsctl add-port br-xd tap1 # ovs-vsctl add-port br-xd tap2 |
6 查看是否添加成功。
# ovs-vsctl show 5a1cd870-fc31-4820-a7f4-b75c19450582 Bridge br-xd Port "tap1" Interface "tap1" Port "tap2" Interface "tap2" Port br-xd Interface br-xd type: internal |
7 启动TAP设备。
# ip link set up tap1 # ip link set up tap2 |
(2)启动虚拟机
1 启动OVS1。
启动虚拟机之前首先创建两个镜像文件,拷贝本任务所提供的cirros-0.3.3-x86_64-disk.img为ovs1.img。
# cp -p cirros-0.3.3-x86_64-disk.img ovs1.img # /usr/libexec/qemu-kvm -drive file=ovs1.img -m 1024 -vnc :100 -net nic,macaddr=32:a9:76:d9:46:2b,model=virtio -net tap,ifname=tap1,script=no,downscript=no -name OVS1 -daemonize |
2 启动OVS2。
启动虚拟机之前首先创建镜像文件,拷贝本任务所提供的cirros-0.3.3-x86_64-disk.img为ovs2.img。
# cp -p cirros-0.3.3-x86_64-disk.img ovs2.img # /usr/libexec/qemu-kvm -drive file=ovs2.img -m 1024 -vnc :101 -net nic,macaddr=32:a9:76:d9:46:3a,model=virtio -net tap,ifname=tap2,script=no,downscript=no -name OVS2 -daemonize |
2. 登陆虚拟主机配置地址
1 VNC登陆虚拟主机,查看虚拟机的VNC端口。
通过netstat -ntpl命令可以查询qemu-kvm对应的实例监听的端口。
# netstat -ntpl Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 1092/rpcbind tcp 0 0 0.0.0.0:6000 0.0.0.0:* LISTEN 7173/qemu-kvm tcp 0 0 0.0.0.0:6001 0.0.0.0:* LISTEN 7201/qemu-kvm |
2 VNC登陆虚拟机。
通过查询虚拟机的VNC端口可以知道,OVS1虚拟机的端口为6000,OVS2的端口为6001,利用VNC Viewer登陆虚拟机。
登陆OVS1虚拟机,配置服务器地址为192.168.1.131:6000,如图4-10所示。配置完成后登陆主机,如图4-11所示。
图4-10 OVS1 VNC Viewer配置
图4-11 登陆OVS1虚拟机
登陆OVS2虚拟机,配置服务器地址为192.168.1.131:6001,如图4-12所示。配置完成后登陆主机,如图4-13所示。
图4-12 OVS2 VNC Viewer配置
图4-13 登陆OVS1 虚拟机
3 修改IP地址。
在OVS1上修改eth0的IP地址为10.0.1.2/24。
$sudo ifconfig eth0 10.0.1.2 netmask 255.255.255.0 |
在OVS2上修改eth0的IP地址为10.0.1.3/24。
# sudo ifconfig eth0 10.0.1.3 netmask 255.255.255.0 |
修改完成后检查两个节点之间的连通性。
# ping 10.0.1.3 -c 4 -I 10.0.1.2 PING 10.0.1.20 (10.0.1.20) from 10.0.2:56(84) bytes of data. 64 bytes from 10.0.1. 3: icmp_seq=1 ttl=255 time=1.04 ms 64 bytes from 10.0.1. 3: icmp_seq=2 ttl=255 time=1.13 ms 64 bytes from 10.0.1. 3: icmp_seq=3 ttl=255 time=0.438 ms 64 bytes from 10.0.1. 3: icmp_seq=4 ttl=255 time=0.134 ms --- 10.0.1. 3ping statistics --- 4 packets transmitted, 4 received, 0% packet loss, time 3003ms rtt min/avg/max/mdev = 0.134/0.687/1.138/0.417 ms |
3. OVS交换机操作
1 查询网桥信息。
在宿主机上查看Port信息, 确认虚拟机对应的Port ID。
# ovs-ofctl show br-xd OFPT_FEATURES_REPLY (xid=0x2): dpid:00005e440f43e144 n_tables:254, n_buffers:256 capabilities: FLOW_STATS TABLE_STATS PORT_STATS QUEUE_STATS ARP_MATCH_IP actions: output enqueue set_vlan_vid set_vlan_pcp strip_vlan mod_dl_src mod_dl_dst mod_nw_src mod_nw_dst mod_nw_tos mod_tp_src mod_tp_dst 1(tap1): addr:16:40:8d:ed:76:32 config: 0 state: 0 current: 10MB-FD COPPER speed: 10 Mbps now, 0 Mbps max 2(tap2): addr:8a:37:2f:e4:9b:b2 config: 0 state: LINK_DOWN current: 10MB-FD COPPER speed: 10 Mbps now, 0 Mbps max LOCAL(br-xd): addr:5e:44:0f:43:e1:44 config: PORT_DOWN state: LINK_DOWN speed: 0 Mbps now, 0 Mbps max OFPT_GET_CONFIG_REPLY (xid=0x4): frags=normal miss_send_len=0 |
2 查看流表信息。
# ovs-ofctl dump-flows br-xd NXST_FLOW reply (xid=0x4): cookie=0x0, duration=124323.206s, table=0, n_packets=3129, n_bytes=201115, idle_age=1, hard_age=65534, priority=0 actions=NORMAL |
3 检查OVS流表端口。
# ovs-ofctl dump-ports br-xd OFPST_PORT reply (xid=0x2): 3 ports port 10: rx pkts=6172, bytes=590184, drop=0, errs=0, frame=0, over=0, crc=0 tx pkts=6171, bytes=590086, drop=12, errs=0, coll=0 port 8: rx pkts=8576, bytes=759677, drop=0, errs=0, frame=0, over=0, crc=0 tx pkts=7278, bytes=684136, drop=18, errs=0, coll=0 port LOCAL: rx pkts=139, bytes=14672, drop=0, errs=0, frame=0, over=0, crc=0 tx pkts=687, bytes=48528, drop=0, errs=0, coll=0 |
4 流表删除操作。
由流表端口可以看出port8和port10为OVS1和OVS2两台KVM虚拟机的端口,从流表信息还可以看出由一条流表对应的规则actions为NORMAL,就是按普通交换机处理数据包。这里添加一条流,将来自OVS1对应Port的数据包全部丢弃,完成后再次检查OVS的数据流表信息。
# ovs-ofctl add-flow br-xd "priority=10,in_port=8,actions=drop" # ovs-ofctl dump-flows br-xd NXST_FLOW reply (xid=0x4): cookie=0x0, duration=175718.172s, table=0, n_packets=17735, n_bytes=1576239, idle_age=0, hard_age=65534, priority=0 actions=NORMAL cookie=0x0, duration=202.882s, table=0, n_packets=229, n_bytes=11410, idle_age=0, priority=10,in_port=8 actions=drop |
这时再次尝试检查两个节点之间的连通性。
# ping 10.0.1.3 -c 4 -I 10.0.1.2 PING 10.0.1. 3 (10.0.1.20) from 10.0. 2:56(84) bytes of data. --- 10.0.1. 3ping statistics --- 4 packets transmitted, 0 received, 100% packet loss |
5 恢复流表操作。
删除添加的流。
# ovs-ofctl del-flows br-xd in_port=8 |
删除完成后再次检查节点之间的连通性。
# ping 10.0.1.3 -c 4 -I 10.0.1.2 PING 10.0.1.20 (10.0.1.20) from 10.0.2:56(84) bytes of data. 64 bytes from 10.0.1. 3: icmp_seq=1 ttl=255 time=1.04 ms 64 bytes from 10.0.1. 3: icmp_seq=2 ttl=255 time=1.13 ms 64 bytes from 10.0.1. 3: icmp_seq=3 ttl=255 time=0.438 ms 64 bytes from 10.0.1. 3: icmp_seq=4 ttl=255 time=0.134 ms --- 10.0.1. 3ping statistics --- 4 packets transmitted, 4 received, 0% packet loss, time 3003ms rtt min/avg/max/mdev = 0.134/0.687/1.138/0.417 ms |
相关文章:

构建OVS网络
构建OVS网络 1. 配置虚拟机环境 (1)配置虚拟机交换机 1 创建一个名为br-xd的虚拟交换机。 # ovs-vsctl add-br br-xd 2 查询虚拟交换机。 # ovs-vsctl show 5a1cd870-fc31-4820-a7f4-b75c19450582 Bridge br-xd Port br-xd …...
【Python】万能之王 Lambda 函数详解
Python 提供了非常多的库和内置函数。有不同的方法可以执行相同的任务,而在 Python 中,有个万能之王函数:lambda 函数,它可以以不同的方式在任何地方使用。今天云朵君将和大家一起研究下这个万能之王! Lambda 函数简介…...

手把手教你怎么搭建自己的AI数字人直播间?帮你24小时不间断直播卖货
在搭建AI数字人直播间之前,您需要了解数字人技术。 一、什么是AI数字人、数字人直播间? 数字人是一种由人工智能技术构建的虚拟人物,其外貌、行为、语言等特征与真实人物相似,可以与人进行互动。数字人可以通过语音合成、人脸识…...

MySQL性能监控全掌握,快来get关键指标及采集方法!
数据库中间件监控实战,MySQL中哪些指标比较关键以及如何采集这些指标了。帮助提早发现问题,提升数据库可用性。 1 整体思路 监控哪类指标? 如何采集数据? 第10讲监控方法论如何落地? 这些就可以在MySQL中应用起来。…...

sed进阶之保留空间和排除命令
shell脚本编程系列 保留空间 模式空间(pattern space)是一块活跃的缓冲区,在sed编辑器执行命令时保存着待检查的文本,但它并不是sed编辑器保存文本的唯一空间。sed编辑器还有另一块称作保留空间(hold space࿰…...

21安徽练习
题目分为4部分 APK 集群 流量 exe 我尽量都做一下,逆向不是很会,就当提升自己。 [填空题]请获取app安装包的SHA256校验值(格式:不区分大小写)(10分) e15095d49efdccb0ca9b2ee125e4d8136cac5…...
【VAR | 时间序列】应用VAR模型时的15个注意点
一、前言 向量自回归(VAR,Vector Auto regression)常用于预测相互联系的时间序列系统以及分析随机扰动对变量系统的动态影响。 VAR方法通过把系统中每一个内生变量,作为系统中所有内生变量的滞后值的函数来构造模型,从而回避了结构化模型的…...
校招在线测评题目汇总
图形找规律题 https://blog.csdn.net/mxj1428295019/article/details/129627461https://blog.csdn.net/Yujian2563/article/details/124266574?spm1001.2101.3001.6650.2&utm_mediumdistribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-2-124266574-blo…...

『python爬虫』05. requests模块入门(保姆级图文)
目录 安装requests1. 抓取搜狗搜索内容 requests.get2. 抓取百度翻译数据 requests.post3. 豆瓣电影喜剧榜首爬取4. 关于请求头和关闭request连接总结 欢迎关注 『python爬虫』 专栏,持续更新中 欢迎关注 『python爬虫』 专栏,持续更新中 安装requests …...
WPF超好用的框架Prism入门使用,上位机赶紧学起来!
Prism简介 WPF框架Prism是一种用于开发模块化、可重用和可测试的WPF应用程序的框架。它提供了一种简单而强大的方式来管理复杂应用程序的代码和构建高度可扩展的应用程序。 如何学习Prism框架 如果您想使用Prism框架来开发WPF应用程序,需要学习以下几个方面&…...
十个机器学习应用实例
一、在Kaggle上举办的一个竞赛,名为“Tabular Playground Series - Aug 2021”。该竞赛旨在预测房屋销售价格,数据集包含了79个特征和一个目标变量。参赛者需要训练一个模型,能够预测测试集中房屋的销售价格。 该竞赛的获胜者使用了多个AI模型…...
【Redis17】Redis进阶:管道
Redis进阶:管道 管道是啥?我们做开发的同学们经常会在 Linux 环境中用到管道命令,比如 ps -ef | grep php 。在之前学习 Laravel框架时的 【Laravel6.4】管道过滤器https://mp.weixin.qq.com/s/CK-mcinYpWCIv9CsvUNR7w 这篇文章中,…...

Django项目页面样式如何“传给”客户端浏览器
前言 django项目在视图函数中借助render函数可以返回HTML页面,但是HTML页面中如果引入了外部CSS文件或者JavaScript文件在浏览器页面无法加载,因此就必须有一种方式能够将HTML文档中引入的外部文件能够在客户端浏览器上加载,这种方式就是配置…...
python 进程间通信 Queue()、Pipe()、manager.list()、manager.dict()、manager.Queue()
👨💻个人简介: 深度学习图像领域工作者 🎉总结链接: 链接中主要是个人工作的总结,每个链接都是一些常用demo,代码直接复制运行即可。包括: &am…...

你想要的【微前端】都在这里了! | 京东云技术团队
作者:京东零售 郑炳懿 开篇: 如果你不知道微前端是什么,或者不知道微前端能解决什么问题,那么你可能不需要微前端。 在我看来,对于每一个没有使用过的新技术,都应该有以下几个过程: 1、调研…...

人生若只如初见,你不来看看Django吗
前言 本文介绍python三大主流web框架之一的Django框架的基本使用,如何创建django项目,如何运行django项目以及django项目的目录结构,另外django又是如何返回不同的数据和页面? python三大主流web框架 Python有三大主流的web框架…...
项目人力资源管理
项目人力资源管理的 4 个过程:规划人力资源管理、组建项目团队、建设项目团队、管理项目团队等内容 单项选择题、案例分析题 人力资源管理领域输入、输出、工具和技术表: 过程名输入工具和技术输出编写项目人力资源计划 项目管理计划活动资源需求事业…...
提供接口给第三方调用,应该注意什么
1.如果我们要提供一个接口给第三方调用,首先我们需要考虑的就是接口安全,一定要做鉴权,至于鉴权的方式:大家可以在网上自行查找,今天我主要记录如何编写一个既能能支持并发的,且不会影响到我们自身业务的的…...

ESL设计概述
前言 随着芯片面临着应用场景丰富多变、集成功能模块越来越多、片内通信及模块间接口越来越复杂、设计规模越来越大以及PPA要求越来越高的需求,芯片设计方法面临越来越大的挑战。架构的合理性、完备性和一致性很大程度上决定了芯片设计的成败。基于同样的I…...

探究C语言数组的奥秘:大小可省略的定义、内存存储、数组名、传参、指针遍历、数组指针和指针数组、柔性数组等
也许你认为,C语言中的数组非常好理解,就是把一组相同类型的元素存储在同一块空间里。但是你可能并没有真正理解数组的本质,不信的话请回答一下下面的几个小问题,如果你能非常清晰的回答这些问题,那么你对C语言中的数组…...

突破不可导策略的训练难题:零阶优化与强化学习的深度嵌合
强化学习(Reinforcement Learning, RL)是工业领域智能控制的重要方法。它的基本原理是将最优控制问题建模为马尔可夫决策过程,然后使用强化学习的Actor-Critic机制(中文译作“知行互动”机制),逐步迭代求解…...

React第五十七节 Router中RouterProvider使用详解及注意事项
前言 在 React Router v6.4 中,RouterProvider 是一个核心组件,用于提供基于数据路由(data routers)的新型路由方案。 它替代了传统的 <BrowserRouter>,支持更强大的数据加载和操作功能(如 loader 和…...

视频字幕质量评估的大规模细粒度基准
大家读完觉得有帮助记得关注和点赞!!! 摘要 视频字幕在文本到视频生成任务中起着至关重要的作用,因为它们的质量直接影响所生成视频的语义连贯性和视觉保真度。尽管大型视觉-语言模型(VLMs)在字幕生成方面…...
linux 下常用变更-8
1、删除普通用户 查询用户初始UID和GIDls -l /home/ ###家目录中查看UID cat /etc/group ###此文件查看GID删除用户1.编辑文件 /etc/passwd 找到对应的行,YW343:x:0:0::/home/YW343:/bin/bash 2.将标红的位置修改为用户对应初始UID和GID: YW3…...

从零实现STL哈希容器:unordered_map/unordered_set封装详解
本篇文章是对C学习的STL哈希容器自主实现部分的学习分享 希望也能为你带来些帮助~ 那咱们废话不多说,直接开始吧! 一、源码结构分析 1. SGISTL30实现剖析 // hash_set核心结构 template <class Value, class HashFcn, ...> class hash_set {ty…...
leetcodeSQL解题:3564. 季节性销售分析
leetcodeSQL解题:3564. 季节性销售分析 题目: 表:sales ---------------------- | Column Name | Type | ---------------------- | sale_id | int | | product_id | int | | sale_date | date | | quantity | int | | price | decimal | -…...
大数据学习(132)-HIve数据分析
🍋🍋大数据学习🍋🍋 🔥系列专栏: 👑哲学语录: 用力所能及,改变世界。 💖如果觉得博主的文章还不错的话,请点赞👍收藏⭐️留言Ǵ…...

Maven 概述、安装、配置、仓库、私服详解
目录 1、Maven 概述 1.1 Maven 的定义 1.2 Maven 解决的问题 1.3 Maven 的核心特性与优势 2、Maven 安装 2.1 下载 Maven 2.2 安装配置 Maven 2.3 测试安装 2.4 修改 Maven 本地仓库的默认路径 3、Maven 配置 3.1 配置本地仓库 3.2 配置 JDK 3.3 IDEA 配置本地 Ma…...
rnn判断string中第一次出现a的下标
# coding:utf8 import torch import torch.nn as nn import numpy as np import random import json""" 基于pytorch的网络编写 实现一个RNN网络完成多分类任务 判断字符 a 第一次出现在字符串中的位置 """class TorchModel(nn.Module):def __in…...
站群服务器的应用场景都有哪些?
站群服务器主要是为了多个网站的托管和管理所设计的,可以通过集中管理和高效资源的分配,来支持多个独立的网站同时运行,让每一个网站都可以分配到独立的IP地址,避免出现IP关联的风险,用户还可以通过控制面板进行管理功…...