vpp学习之cnat重定向

本文介绍了如何将Nginx服务接入VPP协议栈,通过LD_PRELOAD替换listen函数实现VPP应用。实验环境中,服务器一和服务器二通过vpp1和vpp2虚拟网卡进行连接,并配置了CNAT策略,使得服务器一能通过10.10.10.2:22432访问到远程Nginx服务。文章还预告了对VPP路由转发原理和CNAT源码的解析。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、实验环境搭建

如下为实验拓扑图,该实验nginx服务走linux内核协议栈

另外一种情况是走vpp的协议栈,此时需要将nginx监听的listen函数,通过LD_PRELOAD参数替换成vpp的函数,实现nginx变成VPP的一个APP
在这里插入图片描述
注:
10.10.10.1和10.10.10.2 为两块不同服务器上的网卡
192.168.10.1和192.168.10.2为虚拟网卡队上的IP
eth1(10.10.10.2网卡被vpp接管)

2、策略配置

#服务器一
ifconfig  eth0  10.10.10.1/24

#服务器二
##创建虚拟网卡队
ip link add name vpp1out type veth peer name vpp1host
ip link add name vpp2out type veth peer name vpp2host
##配置接口ip
ifconfig vpp1host 192.168.10.2/24

#vpp配置
 create host-interface name host-vpp1out
 set interface state host-vpp1out up
 create host-interface name host-vpp2out
 set interface state host-vpp2out up
 set interface ip address eth1 10.10.10.2/24
 set interface ip address host-vpp2ou 192.168.10.2/24
 ##设置cnat策略
 set interface feature host-vpp2ou ip4-cnat-snat arc ip4-unicast
 cnat translation add proto TCP vip 10.10.10.2 22432 to -> 192.168.10.2 80
 

3、实验结果

#在服务器一中
curl http:10.10.10.2:22432

即可实现目的ip地址net功能,访问远端服务器的nginx服务

4、cnat源码解析

在了解cnat源码前需要直到vpp的路由转发原理

vpp路由转发原理

未完待续。。。。。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值