ubuntu20.04 直接安装vpp23.06 测试双 VPP Tunnel Ike2

环境信息:VMware® Workstation 17 Pro + ubuntu20.04 (清华源)

ubuntu 源点进去选:ubuntu-22.04.3-desktop-amd64.iso

 

如果之前装过VPP,用以下命令确定是否卸载干净:

dpkg -l | grep vpp
dpkg -l | grep DPDK

卸载:

#Uninstall the Packages
#Uninstall the packages by running the following command:
sudo apt-get remove --purge "vpp*"

下载链接:

fdio/release - Results for ubuntu/focal in fdio/release

下载选项:focal(ubuntu20.04)

 选中要下载的包双击进入

 找到wget 直接terminal下载:

下载的包如下:

将以上安装:

 sudo dpkg -i *deb

启动vpp测试:

参考官网配置:How to connect VPP instances using IKEv2 — The Vector Packet Processor v23.06-0-g493b8990d documentation

Create veth interfaces and namespaces and configure it:

sudo ip link add ifresp type veth peer name ifinit
sudo ip link set dev ifresp up
sudo ip link set dev ifinit upsudo ip netns add clientns
sudo ip netns add serverns
sudo ip link add veth_client type veth peer name client
sudo ip link add veth_server type veth peer name server
sudo ip link set dev veth_client up netns clientns
sudo ip link set dev veth_server up netns servernssudo ip netns exec clientns \bash -c "ip link set dev lo upip addr add 192.168.5.2/24 dev veth_clientip addr add fec5::2/16 dev veth_clientip route add 192.168.3.0/24 via 192.168.5.1ip route add fec3::0/16 via fec5::1"sudo ip netns exec serverns \bash -c "ip link set dev lo upip addr add 192.168.3.2/24 dev veth_serverip addr add fec3::2/16 dev veth_serverip route add 192.168.5.0/24 via 192.168.3.1ip route add fec5::0/16 via fec3::1"

Run responder VPP:

sudo vpp unix { \cli-listen /tmp/vpp_resp.sock \gid $(id -g) } \api-segment { prefix vpp } \plugins { plugin dpdk_plugin.so { disable } }

Configure the responder:

#注:官网的ipv4 替换为ip4-addr 如下
create host-interface name ifresp
set interface ip addr host-ifresp 192.168.10.2/24
set interface state host-ifresp upcreate host-interface name server
set interface ip addr host-server 192.168.3.1/24
set interface state host-server upikev2 profile add pr1
ikev2 profile set pr1 auth shared-key-mic string Vpp123
ikev2 profile set pr1 id local ip4-addr 192.168.10.2
ikev2 profile set pr1 id remote ip4-addr 192.168.10.1ikev2 profile set pr1 traffic-selector local ip-range 192.168.3.0 - 192.168.3.255 port-range 0 - 65535 protocol 0
ikev2 profile set pr1 traffic-selector remote ip-range 192.168.5.0 - 192.168.5.255 port-range 0 - 65535 protocol 0create ipip tunnel src 192.168.10.2 dst 192.168.10.1
ikev2 profile set pr1 tunnel ipip0
ip route add 192.168.5.0/24 via 192.168.10.1 ipip0
set interface unnumbered ipip0 use host-ifresp

Run initiator VPP:

sudo vpp unix { \cli-listen /tmp/vpp_init.sock \gid $(id -g) } \api-segment { prefix vpp } \plugins { plugin dpdk_plugin.so { disable } }

Configure initiator:

#注:官网的ipv4 替换为ip4-addr 如下
create host-interface name ifinit
set interface ip addr host-ifinit 192.168.10.1/24
set interface state host-ifinit upcreate host-interface name client
set interface ip addr host-client 192.168.5.1/24
set interface state host-client upikev2 profile add pr1
ikev2 profile set pr1 auth shared-key-mic string Vpp123
ikev2 profile set pr1 id local ip4-addr 192.168.10.1
ikev2 profile set pr1 id remote ip4-addr 192.168.10.2ikev2 profile set pr1 traffic-selector remote ip-range 192.168.3.0 - 192.168.3.255 port-range 0 - 65535 protocol 0
ikev2 profile set pr1 traffic-selector local ip-range 192.168.5.0 - 192.168.5.255 port-range 0 - 65535 protocol 0ikev2 profile set pr1 responder host-ifinit 192.168.10.2
ikev2 profile set pr1 ike-crypto-alg aes-gcm-16 256 ike-dh modp-2048
ikev2 profile set pr1 esp-crypto-alg aes-gcm-16 256create ipip tunnel src 192.168.10.1 dst 192.168.10.2
ikev2 profile set pr1 tunnel ipip0
ip route add 192.168.3.0/24 via 192.168.10.2 ipip0
set interface unnumbered ipip0 use host-ifinit

Initiate the IKEv2 connection:

vpp# ikev2 initiate sa-init pr1

Responder’s and initiator’s private networks are now connected with IPSEC tunnel:

$ sudo ip netns exec clientns ping 192.168.3.1
PING 192.168.3.1 (192.168.3.1) 56(84) bytes of data.
64 bytes from 192.168.3.1: icmp_seq=1 ttl=63 time=1.64 ms
64 bytes from 192.168.3.1: icmp_seq=2 ttl=63 time=7.24 ms

responder  VPP 设置 trace:

#非dpdk 因此 dpdk-input 抓不到
trace add af-packet-input 10
show trace

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

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

相关文章

【springboot】WebScoket双向通信:

文章目录 一、介绍:二、案例:三、使用:【1】导入WebSocket的maven坐标【2】导入WebSocket服务端组件WebSocketServer,用于和客户端通信【3】导入配置类WebSocketConfiguration,注册WebSocket的服务端组件【4】导入定时…

DevOps系列文章 之 Python基础

Python语法结构 语句块缩进 1.python代码块通过缩进对齐表达代码逻辑而不是使用大括号 2.缩进表达一个语句属于哪个代码块 3.缩进风格 : 建议使用四个空格 如果是Linux系统的话,可以这样做,实现自动缩进 : vim ~/.vimrc set ai…

中国芯,寻找新赛道迫在眉睫

北京华兴万邦管理咨询有限公司 商瑞 陈皓 近期国内半导体行业的热点可以用两个“有点多”来描述,一个是中国芯群体中上市公司股价闪崩的有点多,另一个是行业和企业的活动有点多。前者说明了许多国内芯片设计企业(fabless商业模式)…

编写Dockerfile制作Web应用系统nginx镜像,生成镜像nginx:v1.1,并推送其到私有仓库。

环境: CentOS 7 Linux 3.10.0-1160.el7.x86_64 具体要求如下: (1)基于centos基础镜像; (2)指定作者信息; (3)安装nginx服务,将提供的dest目录…

计算机安全学习笔记(I):访问控制安全原理

访问控制原理 从广义上来讲,所有的计算机安全都与访问控制有关。 RFC 4949: Internet Security Glossary, Version 2 (rfc-editor.org) RFC 4949 定义的计算机安全:用来实现和保证计算机系统的安全服务的措施,特别是保证访问控制服务的措施…

学信息系统项目管理师第4版系列03_文件与标准

审核未通过,删除文件部分,仅保留标准化相关内容,重发 12. 标准化 12.1. 采用国际标准和国外先进标准的程度分为等同采用、修改采用和等效采用 3 种 12.1.1. 【高21上选20】 12.1.2. 采用指与国际标准在技术内容和文本结构上相同,或者与国…

8.7.tensorRT高级(3)封装系列-调试方法、思想讨论

目录 前言1. 模型调试技巧总结 前言 杜老师推出的 tensorRT从零起步高性能部署 课程,之前有看过一遍,但是没有做笔记,很多东西也忘了。这次重新撸一遍,顺便记记笔记。 本次课程学习 tensorRT 高级-调试方法、思想讨论 课程大纲可看…

Sping源码(七)— 后置处理器(自定义后置处理器)

上一篇中简单介绍了Spring中invokeBeanFactoryPostProcessors方法的执行流程,以及BFPP和BDRPP类的介绍,这篇文章我们来自定义实现一个类的后置处理器。 自定义PostProcessor 自定义PostProcessor的方式一共两种,都是根据invokeBeanFactoryPo…

2023年高教社杯数学建模思路 - 复盘:光照强度计算的优化模型

文章目录 0 赛题思路1 问题要求2 假设约定3 符号约定4 建立模型5 模型求解6 实现代码 建模资料 0 赛题思路 (赛题出来以后第一时间在CSDN分享) https://blog.csdn.net/dc_sinor?typeblog 1 问题要求 现在已知一个教室长为15米,宽为12米&…

软件工程(十八) 行为型设计模式(四)

1、状态模式 简要说明 允许一个对象在其内部改变时改变它的行为 速记关键字 状态变成类 类图如下 状态模式主要用来解决对象在多种状态转换时,需要对外输出不同的行为的问题。比如订单从待付款到待收货的咋黄台发生变化,执行的逻辑是不一样的。 所以我们将状态抽象为一…

电商项目part05 分布式ID服务实战

背景 日常开发中,需要对系统中的各种数据使用 ID 唯一表示,比如用户 ID 对应且仅对应一个人,商品 ID 对应且仅对应一件商品,订单 ID 对应且仅对应 一个订单。现实生活中也有各种 ID,比如身份证 ID 对应且仅对应一个人…

openCV实战-系列教程9:傅里叶变换(傅里叶概述/频域变换结果/低通与高通滤波)、原理解析、源码解读

OpenCV实战系列总目录 打印图像直接用这个函数: def cv_show(img,name):cv2.imshow(name,img)cv2.waitKey()cv2.destroyAllWindows()1、傅里叶变换 在生活中,我们的大部分事情都是以时间为参照的,用时间为参照的为时域分析,在频…

Batbot电力云平台在智能配电室中的应用

智能配电室管理系统是物联网应用中的底层应用场景,无论是新基建下的智能升级,还是双碳目标下的能源管理,都离不开智能配电运维对传统配电室的智慧改造。Batbot智慧电力(运维)云平台通过对配电室关键电力设备部署传感器…

怎么对App进行功能测试

测试人员常被看作是bug的寻找者,但你曾想过他们实际是如何开展测试的吗?你是否好奇他们究竟都做些什么,以及他们如何在一个典型的技术项目中体现价值?本文将带你经历测试人员的思维过程,探讨他们测试app时的各种考虑. …

STM32 CubeMX (H750)RGB屏幕 LTDC

STM32 CubeMX STM32 RGB888 LTDC STM32 CubeMX一、STM32 CubeMX 设置时钟树LTDC使能设置屏幕参数修改RGB888的GPIO 二、代码部分效果 RGB屏幕线束定义: 一、STM32 CubeMX 设置 时钟树 这里设置的时钟,关于刷新速度 举例子:LCD_CLK24MHz 时…

使用树莓派Pico、DHT11和SSD1306搭建一个温度湿度计(只使用官方库,以及官方案例代码的错误之处和解决方案)

最近想树莓派 Pico、DHT11 温湿度传感器和 SSD1306 OLED 屏幕做一个温度湿度计,树莓派官方案例也分别有这两个设备的案例,我就想做个简单的温度湿度计作为学习微控制器的开始,结果遇到了一个大坑,所以写本文记录一下整个过程。 本…

图论(基础)

知识: 顶点,边 | 权,度数 1.图的种类: 有向图 | 无向图 有环 | 无环 联通性 基础1:图的存储(主要是邻接矩阵和邻接表) 例一:B3643 图的存储 - 洛谷 | 计算机科学教育新生态 (…

spring boot 项目整合 websocket

1.业务背景 负责的项目有一个搜索功能,搜索的范围几乎是全表扫,且数据源类型贼多。目前对搜索的数据量量级未知,但肯定不会太少,不仅需要搜索还得点击下载文件。 关于搜索这块类型 众多,未了避免有个别极大数据源影响整…

深入理解回调函数qsort:从入门到模拟实现

💓博客主页:江池俊的博客⏩收录专栏:C语言进阶之路👉专栏推荐:✅C语言初阶之路 ✅数据结构探索💻代码仓库:江池俊的代码仓库​🎪 社区:GeekHub社区 ​🎉欢迎大…

微信开发之一键修改群聊名称的技术实现

修改群名称 修改群名后,如看到群名未更改,是手机缓存问题,可以连续点击进入其他群,在点击进入修改的群,再返回即可看到修改后的群名 请求URL: http://域名地址/modifyGroupName 请求方式: …