OpenvSwitch VXLAN 隧道实验
OpenvSwitch VXLAN 隧道实验
最近在了解 openstack 网络,下面基于ubuntu虚拟机安装OpenvSwitch,测试vxlan的基本配置。
节点信息:
| 主机名 | IP地址 | OS | 网卡 |
|---|---|---|---|
| node1 | 192.168.95.11 | Ubuntu 22.04 | ens33 |
| node2 | 192.168.95.12 | Ubuntu 22.04 | ens33 |
网卡信息:
root@node1:~# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00inet 127.0.0.1/8 scope host lovalid_lft forever preferred_lft foreverinet6 ::1/128 scope host valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000link/ether 00:0c:29:0f:26:b9 brd ff:ff:ff:ff:ff:ffaltname enp2s1inet 192.168.95.11/24 brd 192.168.95.255 scope global ens33valid_lft forever preferred_lft foreverinet6 fe80::20c:29ff:fe0f:26b9/64 scope link
整体逻辑图如下:
在两个节点部署OpenvSwitch,通过vxlan隧道网络实现vm01和vm02的网络互通。

前置要求,每个节点安装OpenvSwitch
apt update -y
apt install -y openvswitch-switch
确认安装版本
root@node1:~# ovs-vsctl --version
ovs-vsctl (Open vSwitch) 2.17.9
DB Schema 8.3.0
节点1配置
创建虚拟机
创建网络地址空间ns0,模拟出VM虚拟机
ip netns add ns0
创建一对vethpair,两个接口分别为veth0和veth1
ip link add veth0 type veth peer name veth1
将veth0添加到ns0中
ip link set veth0 netns ns0
为veth0配置IP地址
ip netns exec ns0 ip addr add 10.1.1.1/24 dev veth0
ip netns exec ns0 ip link set veth0 up
ip netns exec ns0 ip a
建立vxlan隧道
创建vxlan网桥br-vxlan
ovs-vsctl add-br br-vxlan
将veth1添加到br-vxlan网桥中
ovs-vsctl add-port br-vxlan veth1
ip link set veth1 up
在br-vxlan网桥中创建本端vxlan端口vxlan1,端口类型为vxlan,配置远端IP为对端主机
ovs-vsctl add-port br-vxlan vxlan1 -- set interface vxlan1 type=vxlan options:remote_ip=192.168.95.12
查看openvswitch 网桥端口
root@node1:~# ovs-vsctl show
b3bb2f7f-6129-46d0-ab6c-806a9499e673Bridge br-vxlanPort br-vxlanInterface br-vxlantype: internalPort veth1Interface veth1Port vxlan1Interface vxlan1type: vxlanoptions: {remote_ip="192.168.95.12"}ovs_version: "2.17.9"
root@node1:~# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00inet 127.0.0.1/8 scope host lovalid_lft forever preferred_lft foreverinet6 ::1/128 scope host valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000link/ether 00:0c:29:0f:26:b9 brd ff:ff:ff:ff:ff:ffaltname enp2s1inet 192.168.95.11/24 brd 192.168.95.255 scope global ens33valid_lft forever preferred_lft foreverinet6 fe80::20c:29ff:fe0f:26b9/64 scope link valid_lft forever preferred_lft forever
3: veth1@if4: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master ovs-system state UP group default qlen 1000link/ether 56:79:1f:8a:6d:46 brd ff:ff:ff:ff:ff:ff link-netns ns0inet6 fe80::5479:1fff:fe8a:6d46/64 scope link valid_lft forever preferred_lft forever
5: ovs-system: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000link/ether 0e:b0:e1:3a:de:4c brd ff:ff:ff:ff:ff:ff
6: br-vxlan: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000link/ether be:43:d3:bd:9a:41 brd ff:ff:ff:ff:ff:ff
7: vxlan_sys_4789: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 65000 qdisc noqueue master ovs-system state UNKNOWN group default qlen 1000link/ether de:3a:29:91:e1:4f brd ff:ff:ff:ff:ff:ffinet6 fe80::cc1b:89ff:fe76:e7f/64 scope link valid_lft forever preferred_lft forever
节点2配置
创建虚拟机
创建网络地址空间ns0,模拟出VM虚拟机
ip netns add ns0
创建一对vethpair,两个接口分别为veth0和veth1
ip link add veth0 type veth peer name veth1
将veth0添加到ns0中
ip link set veth0 netns ns0
为veth0配置IP地址
ip netns exec ns0 ip addr add 10.1.1.2/24 dev veth0
ip netns exec ns0 ip link set veth0 up
ip netns exec ns0 ip a
建立vxlan隧道
创建vxlan网桥br-vxlan
ovs-vsctl add-br br-vxlan
将veth1添加到br-vxlan网桥中
ovs-vsctl add-port br-vxlan veth1
ip link set veth1 up
在br-vxlan网桥中创建本端vxlan端口vxlan1,端口类型为vxlan,配置远端IP为对端主机
ovs-vsctl add-port br-vxlan vxlan1 -- set interface vxlan1 type=vxlan options:remote_ip=192.168.95.11
查看openvswitch 网桥端口
root@node2:~# ovs-vsctl show
ca71335f-e4a9-4b07-9183-b4993a6864d4Bridge br-vxlanPort vxlan1Interface vxlan1type: vxlanoptions: {remote_ip="192.168.95.11"}Port br-vxlanInterface br-vxlantype: internalPort veth1Interface veth1ovs_version: "2.17.9"
root@node2:~# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00inet 127.0.0.1/8 scope host lovalid_lft forever preferred_lft foreverinet6 ::1/128 scope host valid_lft forever preferred_lft forever
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000link/ether 00:50:56:3a:b4:d8 brd ff:ff:ff:ff:ff:ffaltname enp2s1inet 192.168.95.12/24 brd 192.168.95.255 scope global ens33valid_lft forever preferred_lft foreverinet6 fe80::250:56ff:fe3a:b4d8/64 scope link valid_lft forever preferred_lft forever
3: veth1@if4: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master ovs-system state UP group default qlen 1000link/ether 56:79:1f:8a:6d:46 brd ff:ff:ff:ff:ff:ff link-netns ns0inet6 fe80::5479:1fff:fe8a:6d46/64 scope link valid_lft forever preferred_lft forever
5: ovs-system: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000link/ether 0e:b0:e1:3a:de:4c brd ff:ff:ff:ff:ff:ff
6: br-vxlan: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000link/ether b6:7c:80:cb:6e:45 brd ff:ff:ff:ff:ff:ff
7: vxlan_sys_4789: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 65000 qdisc noqueue master ovs-system state UNKNOWN group default qlen 1000link/ether de:3a:29:91:e1:4f brd ff:ff:ff:ff:ff:ffinet6 fe80::6c5c:7cff:fece:5a7/64 scope link valid_lft forever preferred_lft forever
验证连通性
节点1连接节点2 VM
root@node1:~# ip netns exec ns0 ping 10.1.1.2 -c 4
PING 10.1.1.2 (10.1.1.2) 56(84) bytes of data.
64 bytes from 10.1.1.2: icmp_seq=1 ttl=64 time=0.543 ms
64 bytes from 10.1.1.2: icmp_seq=2 ttl=64 time=0.737 ms
64 bytes from 10.1.1.2: icmp_seq=3 ttl=64 time=0.640 ms
64 bytes from 10.1.1.2: icmp_seq=4 ttl=64 time=2.20 ms--- 10.1.1.2 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3077ms
rtt min/avg/max/mdev = 0.543/1.031/2.204/0.680 ms
节点2连接节点1 VM
root@node2:~# ip netns exec ns0 ping 10.1.1.1 -c 4
PING 10.1.1.1 (10.1.1.1) 56(84) bytes of data.
64 bytes from 10.1.1.1: icmp_seq=1 ttl=64 time=1.21 ms
64 bytes from 10.1.1.1: icmp_seq=2 ttl=64 time=0.642 ms
64 bytes from 10.1.1.1: icmp_seq=3 ttl=64 time=0.557 ms
64 bytes from 10.1.1.1: icmp_seq=4 ttl=64 time=0.589 ms--- 10.1.1.1 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3027ms
rtt min/avg/max/mdev = 0.557/0.749/1.211/0.268 ms
参考:https://www.cnblogs.com/Bozh/p/4838304.html
相关文章:
OpenvSwitch VXLAN 隧道实验
OpenvSwitch VXLAN 隧道实验 最近在了解 openstack 网络,下面基于ubuntu虚拟机安装OpenvSwitch,测试vxlan的基本配置。 节点信息: 主机名IP地址OS网卡node1192.168.95.11Ubuntu 22.04ens33node2192.168.95.12Ubuntu 22.04ens33 网卡信息&…...
GPT能复制人类的决策和直觉吗?
GPT-3能否复制人类的决策和直觉? 近年来,像GPT-3这样的神经网络取得了显著进步,生成的文本几乎与人类写作内容难以区分。令人惊讶的是,GPT-3在解决数学问题和编程任务方面也表现出色。这一显著进步引发了一个问题:GPT…...
权限设计种类【RBAC、ABAC】
ACL 模型:访问控制列表 DAC 模型:自主访问控制 MAC 模型:强制访问控制 ABAC 模型:基于属性的访问控制 RBAC 模型:基于角色的权限访问控制 一、简介前三种模型: 1.1 ACL(Access Control L…...
C语言经典面试题目(十九)
1、什么是C语言?简要介绍一下其历史和特点。 C语言是一种通用的高级计算机编程语言,最初由贝尔实验室的Dennis Ritchie在1972年至1973年间设计和实现。C语言被广泛应用于系统编程、应用程序开发、嵌入式系统和操作系统等领域。它具有高效、灵活、可移植…...
VSCode 远程调试C++程序打开/dev/tty设备失败的问题记录
概述 因为需要协助同事调试rtklib中的rtkrcv程序,一直调试程序都是用了vscode,这次也不例外,但是在调试过程中,发现程序在打开当前终端(/dev/tty)的时候,总是打开失败,返回的错误原因是“No such device o…...
亮相AWE 2024,日立中央空调打造定制空气新体验
日立中央空调于3月14日携旗下空气定制全新成果,亮相2024中国家电及消费电子博览会(简称AWE 2024)现场,围绕“科创先行 智引未来”这一主题,通过技术与产品向行业与消费者,展现自身对于家居空气的理解。 展会…...
KY61 放苹果(用Java实现)
描述 把 M 个同样的苹果放在 N 个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法? 注意:5、1、1 和 1、5、1 是同一种分法,即顺序无关。 输入描述: 输入包含多组数据。 每组数据包含两个正整…...
原型模式(Clone)——创建型模式
原型模式(clone)——创建型模式 什么是原型模式? 原型模式是一种创建型设计模式, 使你能够复制已有对象, 而又无需依赖它们所属的类。 总结:需要在继承体系下,实现一个clone接口,在这个方法中以本身作为拷…...
<.Net>VisaulStudio2022下用VB.net实现socket与汇川PLC进行通讯案例(Eazy521)
前言 此前,我写过一个VB.net环境下与西门子PLC通讯案例的博文: VisaulStudio2022下用VB.net实现socket与西门子PLC进行通讯案例(优化版) 最近项目上会用到汇川PLC比较多,正好有个项目有上位机通讯需求,于是…...
漫途桥梁结构安全监测方案,护航桥梁安全!
桥梁作为城市生命线的重要组成部分,承载着城市交通、物流输送、应急救援等重要职能。然而,随着我国社会经济的飞速发展,桥梁所承载的交通流量逐年增长,其安全性所面临的挑战亦日益严峻。例如恶劣的外部环境、沉重的荷载以及长期使…...
LAMP架构部署--yum安装方式
这里写目录标题 LAMP架构部署web服务器工作流程web工作流程 yum安装方式安装软件包配置apache启用代理模块 配置虚拟主机配置php验证 LAMP架构部署 web服务器工作流程 web服务器的资源分为两种,静态资源和动态资源 静态资源就是指静态内容,客户端从服…...
关于PXIE3U18槽背板原理拓扑关系
如今IT行业日新月异,飞速发展,随之带来的是数据吞吐量的急剧升高。大数据,大存储将成为未来数据通信的主流,建立快速、大容量的数据传输通道将成为电子系统的关键。随着集成技术和互连技术的发展,新的串口技术…...
网络安全等保测评指标一览表
什么是等保? 等保是指对国家重要信息、法人和其他组织及公民的专有信息以及公开信息和存储、传输、处理这些信息的信息系统分等级实行安全保护,对信息系统中使用的信息安全产品实行按等级管理,对信息系统中发生的信息安全事件分等级响应、处…...
C语言中函数的递归
在C语言中,递归是一种解决问题的方法,其中函数直接或间接地调用自身来解决问题。递归通常用于解决那些可以分解为更小、更简单的同类问题的问题。递归有两个关键部分:基本情况(base case)和递归情况(recurs…...
01|模型IO:输入提示、调用模型、解析输出
Model I/O 可以把对模型的使用过程拆解成三块,分别是输入提示(对应图中的Format)、调用模型(对应图中的Predict)和输出解析(对应图中的Parse)。这三块形成了一个整体,因此在LangCha…...
Android Studio实现内容丰富的安卓民宿酒店预订平台
获取源码请点击文章末尾QQ名片联系,源码不免费,尊重创作,尊重劳动 1.开发环境android stuido jdk1.8 eclipse mysql tomcat 2.功能介绍 安卓端: 1.注册登录 2.查看民宿 3.民宿预订 4.民宿预订支付, 5.支付订单 6.评论管…...
SCI一区 | Matlab实现RIME-TCN-BiGRU-Attention霜冰算法优化时间卷积双向门控循环单元融合注意力机制多变量时间序列预测
SCI一区 | Matlab实现RIME-TCN-BiGRU-Attention霜冰算法优化时间卷积双向门控循环单元融合注意力机制多变量时间序列预测 目录 SCI一区 | Matlab实现RIME-TCN-BiGRU-Attention霜冰算法优化时间卷积双向门控循环单元融合注意力机制多变量时间序列预测预测效果基本介绍模型描述程…...
AI推介-多模态视觉语言模型VLMs论文速览(arXiv方向):2024.03.10-2024.03.15
论文目录~ 1.3D-VLA: A 3D Vision-Language-Action Generative World Model2.PosSAM: Panoptic Open-vocabulary Segment Anything3.Anomaly Detection by Adapting a pre-trained Vision Language Model4.Introducing Routing Functions to Vision-Language Parameter-Efficie…...
路由器端口转发远程桌面控制:一电脑连接不同局域网的另一电脑
一、引言 路由器端口转发:指在路由器上设置一定的规则,将外部的数据包转发到内部指定的设备或应用程序。这通常需要对路由器进行一些配置,以允许外部网络访问内部网络中的特定服务和设备。端口转发功能可以实现多种应用场景,例如远…...
sparksession对象简介
什么是sparksession对象 spark2.0之后,sparksession对象是spark编码的统一入口对象,通常我们在rdd编程时,需要SparkContext对象作为RDD编程入口,但sparksession对象既可以作为RDD编程对象入口,在sparkcore编程中可以通…...
DockerHub与私有镜像仓库在容器化中的应用与管理
哈喽,大家好,我是左手python! Docker Hub的应用与管理 Docker Hub的基本概念与使用方法 Docker Hub是Docker官方提供的一个公共镜像仓库,用户可以在其中找到各种操作系统、软件和应用的镜像。开发者可以通过Docker Hub轻松获取所…...
基于ASP.NET+ SQL Server实现(Web)医院信息管理系统
医院信息管理系统 1. 课程设计内容 在 visual studio 2017 平台上,开发一个“医院信息管理系统”Web 程序。 2. 课程设计目的 综合运用 c#.net 知识,在 vs 2017 平台上,进行 ASP.NET 应用程序和简易网站的开发;初步熟悉开发一…...
中南大学无人机智能体的全面评估!BEDI:用于评估无人机上具身智能体的综合性基准测试
作者:Mingning Guo, Mengwei Wu, Jiarun He, Shaoxian Li, Haifeng Li, Chao Tao单位:中南大学地球科学与信息物理学院论文标题:BEDI: A Comprehensive Benchmark for Evaluating Embodied Agents on UAVs论文链接:https://arxiv.…...
令牌桶 滑动窗口->限流 分布式信号量->限并发的原理 lua脚本分析介绍
文章目录 前言限流限制并发的实际理解限流令牌桶代码实现结果分析令牌桶lua的模拟实现原理总结: 滑动窗口代码实现结果分析lua脚本原理解析 限并发分布式信号量代码实现结果分析lua脚本实现原理 双注解去实现限流 并发结果分析: 实际业务去理解体会统一注…...
基于matlab策略迭代和值迭代法的动态规划
经典的基于策略迭代和值迭代法的动态规划matlab代码,实现机器人的最优运输 Dynamic-Programming-master/Environment.pdf , 104724 Dynamic-Programming-master/README.md , 506 Dynamic-Programming-master/generalizedPolicyIteration.m , 1970 Dynamic-Programm…...
算法岗面试经验分享-大模型篇
文章目录 A 基础语言模型A.1 TransformerA.2 Bert B 大语言模型结构B.1 GPTB.2 LLamaB.3 ChatGLMB.4 Qwen C 大语言模型微调C.1 Fine-tuningC.2 Adapter-tuningC.3 Prefix-tuningC.4 P-tuningC.5 LoRA A 基础语言模型 A.1 Transformer (1)资源 论文&a…...
JS设计模式(4):观察者模式
JS设计模式(4):观察者模式 一、引入 在开发中,我们经常会遇到这样的场景:一个对象的状态变化需要自动通知其他对象,比如: 电商平台中,商品库存变化时需要通知所有订阅该商品的用户;新闻网站中࿰…...
免费PDF转图片工具
免费PDF转图片工具 一款简单易用的PDF转图片工具,可以将PDF文件快速转换为高质量PNG图片。无需安装复杂的软件,也不需要在线上传文件,保护您的隐私。 工具截图 主要特点 🚀 快速转换:本地转换,无需等待上…...
在Mathematica中实现Newton-Raphson迭代的收敛时间算法(一般三次多项式)
考察一般的三次多项式,以r为参数: p[z_, r_] : z^3 (r - 1) z - r; roots[r_] : z /. Solve[p[z, r] 0, z]; 此多项式的根为: 尽管看起来这个多项式是特殊的,其实一般的三次多项式都是可以通过线性变换化为这个形式…...
NPOI Excel用OLE对象的形式插入文件附件以及插入图片
static void Main(string[] args) {XlsWithObjData();Console.WriteLine("输出完成"); }static void XlsWithObjData() {// 创建工作簿和单元格,只有HSSFWorkbook,XSSFWorkbook不可以HSSFWorkbook workbook new HSSFWorkbook();HSSFSheet sheet (HSSFSheet)workboo…...
