1、客户需求:客户拥有全国骨干网,PE设备位于集团总部,CE出口至省分公司。 PE-CE之间采用BGP互连。 PE有两个出口。 CE将两个团体的BGP路由发送给PE。要求PE对community-1的源地址流量选择出口1,对community-2的源地址流量选择出口。 2 出去。一般在检查路由表时使用团体。检查路由表仅查看目标地址。策略路由可以通过ACL来匹配源地址,但ACL发生在路由表查询之前。此时的流量不具备团体属性,无法通过策略路由来解决。这个需求。
2. SCU/DCU 简介SCU/DCU 是Juniper 路由器的私有功能。 SCU/DCU: 源类用途/目的类用途我们可以根据路由属性来区分数据包。例如,根据BGP属性、前缀信息等,将这些具有相同路由特征的数据包划分为A类,并基于这种分类进行进一步的数据级别控制,可以用于:
对定义的类别进行报文统计和管理
限制定义类的速度
将QOS 策略部署到定义的类
对定义的SCU进行FBF策略路由控制
简单来说,在中转AS的路由器上,如果想对出AS的流量进行策略控制,可以使用DCU。对于进入AS的流量进行策略控制,可以使用SCU。
在本次POC的客户需求中,我们使用SCU来进行FBF策略路由控制。
3、测试拓扑描述SCU/DCU
使用vMX18.3模拟两个设备,PE和CE,vMX14.1模拟两个ISP,vQFX17.4模拟服务器。
为了简化配置、方便测试,从PE到vQFX的四台设备都运行OSPF连接上半部的所有网段。
PE-CE之间运行EBGP,将CE设备上不同团体的192.168.1/24和192.168.2/24导入到BGP协议中,通过EBGP发送给PE。
在ISP1和ISP2上写入指向PE设备的默认路由。
两台客户端计算机都是vMX14.1,写入默认路由指向对应的CE接口。
服务器是Linux,默认路由写入vQFX接口。
4. 配置与验证4.1.路由配置
4.1.1. OSPF配置上半部分(部分)
root@PE-CHUKOU# 显示协议ospf
面积0.0.0.0 {
接口lo0.0 {
被动的;被动的;
}
接口ge-0/0/2.0 {
接口类型p2p;
}
接口ge-0/0/3.0 {
接口类型p2p;
}
接口ge-0/0/1.0 {
接口类型p2p;
}
}
4.1.2. CE引入静态路由
root@CE# 显示策略选项
策略声明direct-bgp {
第1 项{
从{
协议直接;
路由过滤器192.168.1.0/24 精确;
}
然后{
社区添加client1;
接受;
}
}
第2 项{
从{
协议直接;
路由过滤器192.168.2.0/24 精确;
}
然后{
社区添加客户端2;
接受;
}
}
}
社区client1会员100:100;
社区客户端2会员200:200;
4.2.四川大学战略
1、首先,根据不同的群体进行不同的分类。
root@PE-CHUKOU# 显示策略选项
策略声明分配类{
第1 项{
来自社区客户端1;
然后{
源类classe1;
接受;
}
}
第2 项{
来自社区客户端2;
然后{
源类classe2;
接受;
}
}
}
2.根据不同类别直接写下跳转
root@PE-CHUKOU# 显示防火墙
过滤器fbf {
第1 项{
从{
源类classe1;
}
然后{
下一个IP 10.0.1.2/32;
}
}
第2 项{
从{
源类classe2;
}
然后{
下一个IP 10.0.2.2/32;
}
}
第3 项{
然后接受;
}
}
这里的设计只是简单的解决用户需求。事实上,您还可以设置FBF策略将下一跳指向不同的实例,这有点复杂。
3、将转发类的区分导入到转发表中
root@PE-CHUKOU# 显示路由选项
自治系统65001;
转发表{
导出分配类;
}
4、对转发表的出方向应用过滤器
root@PE-CHUKOU# 显示转发选项
家庭网络{
筛选{
输出fbf;
}
}
5. 核算CE对应的接口配置源类的使用情况
root@PE-CHUKOU# 显示接口
ge-0/0/1 {
单位0 {
家庭网络{
会计{
源类用法{
输入;
}
}
地址10.0.0.1/24;
}
}
}
如果这里没有开启计费,则不会生效。
4.3.确认
root@Client1# 运行traceroute 10.0.5.2
到10.0.5.2 (10.0.5.2) 的跟踪路由,最大30 跳,40 字节数据包
1 192.168.1.1 (192.168.1.1) 8.907 毫秒2.410 毫秒1.512 毫秒
2 10.0.0.1 (10.0.0.1) 3.003 毫秒2.258 毫秒2.426 毫秒
3 10.0.1.2 (10.0.1.2) 7.915 毫秒3.607 毫秒2.509 毫秒
4 10.0.3.1 (10.0.3.1) 108.962 毫秒195.581 毫秒306.283 毫秒
5 10.0.5.2 (10.0.5.2) 192.930 毫秒202.918 毫秒199.827 毫秒
Client1 采用ISP1 出口
root@Client2# 运行traceroute 10.0.5.2
到10.0.5.2 (10.0.5.2) 的跟踪路由,最大30 跳,40 字节数据包
1 192.168.2.1 (192.168.2.1) 8.537 毫秒1.450 毫秒1.371 毫秒
2 10.0.0.1 (10.0.0.1) 2.620 毫秒2.313 毫秒2.022 毫秒
3 10.0.2.2 (10.0.2.2) 9.501 毫秒3.210 毫秒2.987 毫秒
4 10.0.4.1 (10.0.4.1) 126.354 毫秒204.247 毫秒198.227 毫秒
5 10.0.5.2 (10.0.5.2) 199.662 毫秒201.307 毫秒197.346 毫秒
Client2 采用ISP2 出口
POC达到了预期的效果。
继续验证:
root@PE-CHUKOU# 运行show Route 192.168/22 扩展
inet.0: 18 个目的地,18 条路线(18 条活动,0 条抑制,0 条隐藏)
192.168.1.0/24(1 个条目,1 个已公布)
TSI:
KRT 内核内192.168.1.0/24 - {10.0.0.2}
源class: classe1
*BGP 首选项: 170/-101
下一跳类型:路由器,下一跳索引: 591
地址:0xccd55d0
下一跳引用计数: 6
来源: 10.0.0.2
下一跳: 10.0.0.2 通过ge-0/0/1.0,已选择
会话ID:0x140
状态:
本地AS: 65001 对等AS: 65000
年龄: 4:06:24
验证状态: 未验证
任务: BGP_65000.10.0.0.2
公告位(1): 0-KRT
AS路径: 65000 I
社区: 100:100
公认
本地偏好: 100
路由器ID: 2.2.2.2
192.168.2.0/24(1 个条目,1 个已公布)
TSI:
KRT 内核内192.168.2.0/24 - {10.0.0.2}
源class: classe2
*BGP 首选项: 170/-101
下一跳类型:路由器,下一跳索引: 591
地址:0xccd55d0
下一跳引用计数: 6
来源: 10.0.0.2
下一跳: 10.0.0.2 通过ge-0/0/1.0,已选择
会话ID:0x140
状态:
本地AS: 65001 对等AS: 65000
年龄: 4:06:24
验证状态: 未验证
任务: BGP_65000.10.0.0.2
公告位(1): 0-KRT
AS路径: 65000 I
社区: 200:200
公认
本地偏好: 100
路由器ID: 2.2.2.2
来自客户端的两条路由已标记为不同的类别。