首页 > 系统相关 >nginx适配Overlay以及测试工具

nginx适配Overlay以及测试工具

时间:2025-01-17 10:32:46浏览次数:1  
标签:Overlay ELB 适配 网络 vni nginx 测试工具 VXLAN

本文分享自天翼云开发者社区《nginx适配Overlay以及测试工具》,作者:pan

 

Overlay与Underlay介绍

Overlay网络和Underlay网络是一组相对概念,Overlay网络是建立在Underlay网络上的逻辑网络。而Overlay网络是通过网络虚拟化技术,在同一张Underlay网络上构建出的一张或者多张虚拟的逻辑网络,如下图所示。

详细资料可查看https://zhuanlan.zhihu.com/p/436605135 

 

ELB使用的技术方案

天翼云ELB使用VXLAN隔离,需要进行VXLAN的解析与封装。VXLAN技术是一种大二层的虚拟网络技术,主要原理是引入一个UDP格式的外层隧道作为数据链路层,而原有数据报文内容作为隧道净荷加以传输。

ELB使用dpvs以及nginx做7层http和https的代理以及分发。报文流向为客户端(内网或者公网)->ELB(内部为dpvs->nginx)->RS(真正的http服务端)。因为ELB和RS处于同一VXLAN中,那么nginx转发的报文就需要封装VXLAN,又因为RS需要知道真实的客户端IP,nginx也需要获取客户端IP并转发的时候增加X-Forwarded-For。

dpvs收到报文会解析VXLAN,同时转发到nginx,因为dpvs采用FULLNAT的模式,nginx如果要获取真实ip,二者之间采用了Proxy Protocol。Proxy protocol,是一个Internet协议,通过为tcp添加一个很小的头信息,来方便的传递客户端信息(协议栈、源IP、目的IP、源端口、目的端口等)。因为nginx还需要知道VXLAN的id,对Proxy Protocol进行了改造,增加了vni字段,如下图。 

 

nginx就需要在原生代码基础上,增加vni字段的读取。同时连接upstream时,因为需要封装vni,通过SO_BINDTODEVICE绑定到具体网卡,完成VXLAN封装。

 

如何测试

因为相比Proxy Protocol多一个字段,通过curl无法自测,通过一个python工具来测试,源码为https://github.com/codejudas/py-proxy-protocol/。但是需要修改,增加一个vni字段,在代码中涉及vni的地方均添加字段即可,如下图。 

然后修改测试下面的socket.py,测试结果如图:

 

 

标签:Overlay,ELB,适配,网络,vni,nginx,测试工具,VXLAN
From: https://www.cnblogs.com/developer-tianyiyun/p/18676434

相关文章

  • Python Wi-Fi密码测试工具
    PythonWi-Fi测试工具相关资源文件已经打包成EXE文件,可双击直接运行程序,且文章末尾已附上相关源码,以供大家学习交流,博主主页还有更多Python相关程序案例,秉着开源精神的想法,望大家喜欢,点个关注不迷路!!!1.简介:这款工具的目的是通过字典攻击方式帮助用户测试Wi-Fi网络的......
  • nginxUI 安装及学习
    https://www.nginxwebui.cn/功能说明本项目可以使用WebUI配置nginx的各项功能,包括http协议转发,tcp协议转发,反向代理,负载均衡,ssl证书自动申请、续签、配置等,最终生成nginx.conf文件并覆盖nginx的默认配置文件,完成nginx的最终功能配置.本项目可管理多个nginx服务器......
  • 使用Nginx实现前端映射到公网IP后端内网不映射公网.250115
    一、场景:系统移动端需要映射到公网,但是后端地址不能映射出去qbpm.xxxx.cn系统解析内网IPqmbpm.xxxx.cn移动端解析公网IP二、思路:移动端前端公网端口放出80443端口移动端后端映射到内网后端地址qbpm.xxxx.cn:8443三、解决方法:vimnginx.confserver{listen......
  • Nginx+keepalived 双机热备(主从模式)
    负载均衡技术对于一个网站尤其是大型网站的web服务器集群来说是至关重要的!做好负载均衡架构,可以实现故障转移和高可用环境,避免单点故障,保证网站健康持续运行。关于负载均衡介绍,可以参考:linux负载均衡总结性说明(四层负载/七层负载)由于业务扩展,网站的访问量不断加大,负载越来越高。......
  • 实用键盘按键测试工具
    分享给大家一个windows实用小工具键盘按键测试工具工具功能很直接,就是键盘按键测试,能直观看到键盘的按键是否可用,有没有失灵,一般用不到,但用到的时候绝对可以帮到你界面如下你只管按,其他交给它,功能正常的按键会改变颜色,右下角reset可以重置界面,theme是设置界面风格,黑的......
  • (ACL-2024)MELoRA:用于参数高效微调的迷你集成低秩适配器
    MELoRA:用于参数高效微调的迷你集成低秩适配器paper是山东大学发表在ACL2024的工作papertitle:MELoRA:Mini-EnsembleLow-RankAdaptersforParameter-EfficientFine-TuningCode:https://github.com/chasonshi/meloraAbstract参数高效微调(PEFT)是一种流行的......
  • Nginx 和 Nacos
    大多数情况下,我们都是需要反向代理或者负载均衡时,就配置下nginx。但是我们做了这么久项目,肯定有微服务分布式的吧,这时候服务需要动态注册到实例列表里被发现,而nginx是缺乏动态性的,这时就要nacos了Nacos实现负载均衡的一般步骤我们知道nginx大体上是通过将前端发来的请求按照......
  • syslog转存nginx日志的简单配法
    命令单独启动一个独立的rsyslog进程rsyslogd-i/root/tong1/rsyslogd/pid-f/root/tong1/rsyslogd/rsyslogd.conf 配置文件module(load="imuxsock")input(type="imuxsock"Socket="/root/tong1/rsyslogd/error"CreatePath="on")input(typ......
  • 学习 - Nginx -浅谈非对称加密的理解
    浅谈非对称加密的理解1、客户端首次访问服务器的时候,先访问443接口后获取到“公钥”并保存在客户端。2、客户端通过通过80端口在发送请求的时候,报文中的明文信息通过(公钥+算法)加密成密位进行发送。3、服务器端获取到密文以后,通过(私钥+算法)解密,获取到请求报文中原有的明......
  • 推荐APP实用测试工具
    移动互联网时代,APP测试已经成为软件开发流程中至关重要的一环。如何高效完成APP自动化测试,提升测试覆盖率和质量?选择合适的测试工具是关键!今天我们就来盘点几款实用的APP自动化测试工具,让你的测试效率飞速提升,不知道就真的OUT啦!APP自动化测试用哪些工具最实用?它们分别适用......