FD.IO-VPP研究及使用二 (策略路由)

本文介绍如何使用VPP实现策略路由(PBR),包括通过acl-plugin和ABF(ACL Based Forwarding)配置策略路由的方法。从18.10版本开始,VPP支持ABF功能,文中详细说明了在特定拓扑下,如何配置VPP以实现不同子网间的流量导向。

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

VPP实现的策略路由

vpp配置acl两种方法:

1,命令行自带的classify

2,用vat或者api接口配置acl-plugin

关于这两种方法的区别参考:https://www.mail-archive.com/vpp-dev@lists.fd.io/msg02885.html

关于VPP的acl-plugin配置参考:https://wiki.fd.io/view/VPP/SecurityGroups

关于VPP策略路由PBR功能,目前了解到的是从18.10版本开始支持VPP/ABF

参考:https://wiki.fd.io/view/VPP/ABF

下面根据acl-plugin和ABF的方式配置策略路由。

拓扑如下:
在这里插入图片描述
在vpp上实现策略路由选路
环境描述:首先根据拓扑配置好ip,接着在中间三台路由器上配置静态路由,实现访问90.10.30.0时走10.10.10.0网段,访问90.10.40.0时走10.10.20.0网段。

vpp基本配置如下:

vppctl set int state GigabitEthernet2/1/0 up
vppctl set int state GigabitEthernet2/2/0 up
vppctl set int state GigabitEthernet2/3/0 up
vppctl set int state GigabitEthernet2/5/0 up
vppctl set int ip address GigabitEthernet2/1/0 10.10.10.1/24
vppctl set int ip address GigabitEthernet2/2/0 10.10.20.1/24
vppctl set int ip address GigabitEthernet2/3/0 90.10.10.1/24
vppctl set int ip address GigabitEthernet2/5/0 90.10.20.1/24
vppctl ip route add 90.10.30.0/24 via 10.10.10.2
vppctl ip route add 90.10.40.0/24 via 10.10.20.2

其他设配配置路由可达即可,不再赘述。
此时PC1和PC2 ping PC3走上面路由, ping PC4走下面路由

在VPP上配置acl和abf:

1、首先配置acl,(acl只能通过vat命令或者api接口进行配置)
vpp_api_test
acl_add_replace permit, ipv4 permit
acl_add_replace 0  ipv4 permit src 90.10.10.0/24
acl_interface_add_del  sw_if_index 3 add  input  acl 0  #应用到接口,接口索引可通过sh int查看
2,配置abf(ACL Based Forwarding)
DBGvpp# abf policy add id 1 acl 0 via 10.10.20.2
DBGvpp# abf attach ip4 policy 1 GigabitEthernet2/3/0

此时再用PC1 ping PC3和PC4均走下面路由
用PC2 ping PC3依然走上面路由,ping PC4走下面路由

验证vpp策略路由成功

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值