二、知识点
回顾:
BGP —BGP邻居关系类型
—报文类型
—状态机制
—通告原则
—全互联 -联盟/反射器
—BGP 选路规则
==================
1,路由控制
路由控制可以通过路由策略(Route-Policy)实现,路由策略应用灵活而广泛,有以下几种常见方式:
控制路由的发布:通过路由策略对发布的路由进行过滤,只发布满足条件的路由。控制路由的接收:通过路由策略对接收的路由进行过滤,只接收满足条件的路由。控制路由的引入:通过路由策略控制从其他路由协议引入的路由条目,只有满足条件的路由才会被引入。
**2,匹配工具 **
1), ACL 访问控制列表
访问控制列表(Access Control List,ACL)是一个匹配工具,能够对报文及路由进行匹配和区分。
ACL由若干条permit或deny语句组成。每条语句就是该ACL的一条规则,每条语句中的permit或deny就是与这条规则相对应的处理动作
通配符:(Wildcard)
通配符是一个32比特长度的数值,用于指示IP地址中哪些比特位需要严格匹配,哪些比特位无需匹配。通配符通常采用类似网络掩码的点分十进制形式表示,但是含义却与网络掩码完全不同。
匹配规则:“0”表示“匹配”;“1”表示“无需匹配”
ACL分类:
配置顺序(config模式)系统按照ACL规则编号从小到大的顺序进行报文匹配,规则编号越小越容易被匹配。
2),IP ip-prefix 地址前缀列表
3.策略工具:
1,filter policy 过滤策略
Filter-Policy(过滤-策略)是一个很常用的路由信息过滤工具,能够对接收、发布、引入的路由进行过滤,可应用于IS-IS、OSPF、BGP等协议。
2),route-policy 路由策略
4,实验:路由控制
拓扑:
实验需求:
1, R1上 network 宣告 OSPF 业务A/B/C ,在R2上 入方向过滤 业务 A
2, R1 上 引入 业务 A/B/C ,在 R1 上 出向 过滤 业务 B
配置思路:略
配置命令:
1,需求1: R1上 import 宣告 OSPF 业务A/B/C ,在R2上 入方向过滤 业务 A
操作一:
==============
[R1]ospf 1
[R1-ospf-1]area 0
[R1-ospf-1]import-route direct //在 R1 上 将172.16.1.0 、172.16.2.0、172.16.3.0 引入
[R2]ip ip-prefix 1.0 index 10 permit 172.16.1.0 24 //匹配需要过滤的 路由
[R2]ospf 1
[R2-ospf-1]filter-policy ip-prefix 1.0 import //在 R2 OSPF 进程里 进方向 过滤 ,过滤后的路由加入IP路由表
[R2]dis ip routing-table
Route Flags: R - relay, D - download to fib
Routing Tables: Public
Destinations : 12 Routes : 12
Destination/Mask Proto Pre Cost Flags NextHop Interface
10.10.2.2/32 Direct 0 0 D 127.0.0.1 LoopBack0
127.0.0.0/8 Direct 0 0 D 127.0.0.1 InLoopBack0
127.0.0.1/32 Direct 0 0 D 127.0.0.1 InLoopBack0
127.255.255.255/32 Direct 0 0 D 127.0.0.1 InLoopBack0
172.16.1.0/24 O_ASE 150 1 D 192.168.12.1 GigabitEthernet0/0/0
发现R3 上仍然具有 R2上过滤掉的路由
[R3]dis ip routing-table
Route Flags: R - relay, D - download to fib
Routing Tables: Public
Destinations : 19 Routes : 19
Destination/Mask Proto Pre Cost Flags NextHop Interface
10.10.1.0/24 O_ASE 150 1 D 192.168.23.2 GigabitEthernet
0/0/0
10.10.1.1/32 OSPF 10 2 D 192.168.23.2 GigabitEthernet
0/0/0
10.10.2.2/32 OSPF 10 1 D 192.168.23.2 GigabitEthernet
0/0/0
10.10.3.3/32 Direct 0 0 D 127.0.0.1 LoopBack0
10.10.4.4/32 ISIS-L1 15 10 D 192.168.34.4 GigabitEthernet
0/0/1
127.0.0.0/8 Direct 0 0 D 127.0.0.1 InLoopBack0
127.0.0.1/32 Direct 0 0 D 127.0.0.1 InLoopBack0
127.255.255.255/32 Direct 0 0 D 127.0.0.1 InLoopBack0
172.16.1.0/24 O_ASE 150 1 D 192.168.23.2 GigabitEthernet0/0/0
172.16.2.0/24 O_ASE 150 1 D 192.168.23.2 GigabitEthernet0/0/0
172.16.3.0/24 O_ASE 150 1 D 192.168.23.2 GigabitEthernet0/0/0
filter-policy import命令对接收的路由设置过滤策略,只有通过过滤策略的路由才被添加到路由表中,没有通过过滤策略的路由不会被添加进路由表,但不影响对外发布出去。
操作二:需求1: R1上 network 宣告 OSPF 业务A/B/C ,在R2上 入方向过滤 业务 A
逻辑接口默认的网络类型为 P2P ,所以接口下配置任何网段,发布出去的都是主机路由; 如果想让逻辑接口发出出去的路由 和接口的掩码一致,需要 将网络类型改为广播型网络 。
[R1]int LoopBack 1
[R1-LoopBack1]ospf network-type broadcast
[R1-LoopBack1]q
[R1]int LoopBack 2
[R1-LoopBack2]ospf network-type broadcast
[R1-LoopBack2]q
[R1]int LoopBack 3
[R1-LoopBack3]ospf network-type broadcast
[R1-LoopBack3]q
[R1]int LoopBack 1
[R1-LoopBack1]ip add 172.16.1.1 24
[R1-LoopBack1]q
[R1]int LoopBack 2
[R1-LoopBack2]ip add 172.16.2.1 24
[R1-LoopBack2]q
[R1]int LoopBack 3
[R1-LoopBack3]ip add 172.16.3.1 24
[R1-LoopBack3]q
[R1]ospf 1
[R1-ospf-1]area 0
[R1-ospf-1-area-0.0.0.0]network 172.16.1.0 0.0.0.255
[R1-ospf-1-area-0.0.0.0]network 172.16.2.0 0.0.0.255
[R1-ospf-1-area-0.0.0.0]network 172.16.3.0 0.0.0.255
[R1-ospf-1-area-0.0.0.0]q
[R2]ip ip-prefix 23 index 10 permit 172.16.2.0 24
[R2]ip ip-prefix 23 index 20 permit 172.16.3.0 24
[R2]ospf 1
[R2-ospf-1]filter-policy ip-prefix 23 import
[R2-ospf-1]q
[R2]dis ip routing-table
Route Flags: R - relay, D - download to fib
Routing Tables: Public
Destinations : 13 Routes : 13
Destination/Mask Proto Pre Cost Flags NextHop Interface
10.10.2.2/32 Direct 0 0 D 127.0.0.1 LoopBack0
127.0.0.0/8 Direct 0 0 D 127.0.0.1 InLoopBack0
127.0.0.1/32 Direct 0 0 D 127.0.0.1 InLoopBack0
127.255.255.255/32 Direct 0 0 D 127.0.0.1 InLoopBack0
172.16.2.0/24 OSPF 10 1 D 192.168.12.1 GigabitEthernet0/0/0
172.16.3.0/24 OSPF 10 1 D 192.168.12.1 GigabitEthernet0/0/0
======
需求2: R1 上 引入 业务 A/B/C ,在 R1 上 出向 过滤 业务 B
将之前配置还原:
[R1]ospf 1
[R1-ospf-1]area 0
[R1-ospf-1-area-0.0.0.0]undo network 172.16.1.0 0.0.0.255
[R1-ospf-1-area-0.0.0.0]undo network 172.16.2.0 0.0.0.255
[R1-ospf-1-area-0.0.0.0]undo network 172.16.3.0 0.0.0.255
[R1-ospf-1-area-0.0.0.0]q
[R1-ospf-1]import-route direct
[R1-ospf-1]q
[R2]undo ip ip-prefix 23
[R2]ospf 1
[R2-ospf-1]undo filter-policy ip-prefix 23 import
针对引入的外部路由 , 使用 过滤策略 ,在出向过滤 :
1)用地址前缀列表,匹配过滤后放入IP路由表的路由
[R1]ip ip-prefix 13 index 10 permit 172.16.1.0 24
[R1]ip ip-prefix 13 index 20 permit 172.16.3.0 24
**2)在OSPF 进程 ,出方向 实现过滤 **
[R1]ospf 1
[R1-ospf-1]filter-policy ip-prefix 13 export
3)在R2上 查看 过滤效果:
[R2]dis ip routing-table
Route Flags: R - relay, D - download to fib
Routing Tables: Public
Destinations : 15 Routes : 15
Destination/Mask Proto Pre Cost Flags NextHop Interface
10.10.1.0/24 OSPF 10 1 D 192.168.12.1 GigabitEthernet
0/0/0
10.10.2.2/32 Direct 0 0 D 127.0.0.1 LoopBack0
10.10.3.3/32 OSPF 10 1 D 192.168.23.3 GigabitEthernet
0/0/1
127.0.0.0/8 Direct 0 0 D 127.0.0.1 InLoopBack0
127.0.0.1/32 Direct 0 0 D 127.0.0.1 InLoopBack0
127.255.255.255/32 Direct 0 0 D 127.0.0.1 InLoopBack0
172.16.1.0/24 O_ASE 150 1 D 192.168.12.1 GigabitEthernet0/0/0
172.16.3.0/24 O_ASE 150 1 D 192.168.12.1 GigabitEthernet0/0/0
**需求:
3, R1上 引入外部路由 业务A/B/C ,且 不允许引入 业务C ,引入的业务A/B 将默认的TAG 1 改为 10 和 20
4, 根据 标记 TAG ,在 R3 isis 中引入 OSPF 时 过滤掉 业务B **
[R1]undo ip ip-prefix 13
[R1]ospf 1
[R1-ospf-1]undo filter-policy ip-prefix 13 export
[R1-ospf-1]
import-route direct
因为分别为 两个网段路由做标记,所以配置两个地址前缀列表
[R1]ip ip-prefix 2.0 index 10 permit 172.16.1.0 24
[R1]ip ip-prefix 1.0 index 10 permit 172.16.2.0 24
用路由策略,为匹配的两个路由从新打标记
[R1]route-policy 12 permit node 10
[R1-route-policy]if-match ip-prefix 2.0
[R1-route-policy]apply tag 10
[R1-route-policy]q
[R1]route-policy 12 permit node 20
[R1-route-policy]if-match ip-prefix 1.0
[R1-route-policy]apply tag 20
[R1-route-policy]q
引入外部路由时 ,调用路由策略
[R1]ospf 1
[R1-ospf-1]import-route direct route-policy 12
在R2 上查看5类LSA ,查看每个LSA 里的 tag 标记
[R2]dis ospf lsdb ase 172.16.1.0
OSPF Process 1 with Router ID 2.2.2.2
Link State Database
Type : External
Ls id : 172.16.1.0
Adv rtr : 1.1.1.1
Ls age : 49
Len : 36
Options : E
seq# : 80000005
chksum : 0xea17
Net mask : 255.255.255.0
TOS 0 Metric: 1
E type : 2
Forwarding Address : 0.0.0.0
Tag : 10
Priority : Low
[R2]dis ospf lsdb ase 172.16.2.0
OSPF Process 1 with Router ID 2.2.2.2
Link State Database
Type : External
Ls id : 172.16.2.0
Adv rtr : 1.1.1.1
Ls age : 57
Len : 36
Options : E
seq# : 80000002
chksum : 0x9a5f
Net mask : 255.255.255.0
TOS 0 Metric: 1
E type : 2
Forwarding Address : 0.0.0.0
Tag : 20
Priority : Low
[R3]DIS ospf routing //在R3上 也能查看到 打标记的 1.0 和2.0 路由
OSPF Process 1 with Router ID 3.3.3.3
Routing Tables
Routing for Network
Destination Cost Type NextHop AdvRouter Area
10.10.3.3/32 0 Stub 10.10.3.3 3.3.3.3 0.0.0.0
192.168.23.0/24 1 Transit 192.168.23.3 3.3.3.3 0.0.0.0
10.10.1.0/24 2 Stub 192.168.23.2 1.1.1.1 0.0.0.0
10.10.2.2/32 1 Stub 192.168.23.2 2.2.2.2 0.0.0.0
192.168.12.0/24 2 Transit 192.168.23.2 2.2.2.2 0.0.0.0
Routing for ASEs
Destination Cost Type Tag NextHop AdvRouter
172.16.1.0/24 1 Type2 10 192.168.23.2 1.1.1.1
172.16.2.0/24 1 Type2 20 192.168.23.2 1.1.1.1
在R3上 过滤掉 172.16.2.0 路由 ,其他允许通过
[R3]route-policy 2.0 deny node 10
[R3-route-policy]if-match tag 20
[R3-route-policy]q
[R3]route-policy 2.0 permit node 20
在R3上 引入OSPF 路由到 ISIS 的LEVEL 1 数据库 的时候调用路由策略过过滤
[R3]isis 100
[R3-isis-100]import-route ospf 1 level-1 route-policy 2.0
在R4上 查看IP 路由表 ,确认 引入时 过滤成果 ,没有172.16.2.0 路由
[R4]dis ip routing-table
Route Flags: R - relay, D - download to fib
Routing Tables: Public
Destinations : 14 Routes : 14
Destination/Mask Proto Pre Cost Flags NextHop Interface
10.10.1.0/24 ISIS-L1 15 74 D 192.168.34.3 GigabitEthernet0/0/0
10.10.2.2/32 ISIS-L1 15 74 D 192.168.34.3 GigabitEthernet0/0/0
10.10.3.3/32 ISIS-L1 15 74 D 192.168.34.3 GigabitEthernet0/0/0
10.10.4.4/32 Direct 0 0 D 127.0.0.1 LoopBack0
127.0.0.0/8 Direct 0 0 D 127.0.0.1 InLoopBack0
127.0.0.1/32 Direct 0 0 D 127.0.0.1 InLoopBack0
127.255.255.255/32 Direct 0 0 D 127.0.0.1 InLoopBack0
172.16.1.0/24 ISIS-L1 15 74 D 192.168.34.3 GigabitEthernet0/0/0
192.168.12.0/24 ISIS-L1 15 74 D 192.168.34.3 GigabitEthernet0/0/0