Route-Map(路由映射)
1.Route-Map 的基本原理用于控制路由信息的传递和处理。它结合了访问控制列表(ACL)或前缀列表(Prefix-list)的匹配功能与多种操作指令,可以用来过滤、修改或设置路由属性。
Route-Map 是一种高级的条件式规则集合,类似于编程中的 if...then... 结构。
match(匹配条件) :比如匹配特定 IP 地址、接口、路由协议等
set(设置动作) :对匹配到的路由执行一些操作,如修改 metric、下一跳、community 等
2.Route-Map 的结构
route-map 名称 permit|deny [序号]
match 匹配条件
set 设置动作
名称:Route-Map 的名称,自定义,例如 RM-BGP-IMPORT
permit/deny:行为模式
permit:如果匹配,执行
deny:如果匹配,拒绝该路由或不处理
序号:多个条目按数字排序,小的优先级更高
match:匹配条件,如匹配 ACL、Prefix-list、metric 等
set:执行的动作,如设置 metric、下一跳、tag 等
3.Route-Map 的工作流程
&emps;路由器从上往下依次检查每个 sequence(序号)。
&emps;找到第一个符合条件(match)的条目。
&emps;根据该条目的 permit 或 deny 做相应处理:
&emps;permit → 执行 set 操作
&emps;deny → 拒绝该路由或不做任何处理
&emps;如果没有匹配任何一个条目,默认隐含 deny all
4.Route-Map 的常见作用
4.1 控制路由重分发(Redistribution)
在 OSPF、EIGRP、RIP、BGP 等不同路由协议之间导入路由时进行控制。
router ospf 1
redistribute bgp 65000 subnets route-map RM-REDIST-BGP
access-list 1 permit 192.168.1.0 0.0.0.255
route-map RM-REDIST-BGP permit 10
match ip address 1
set metric 100
只有 ACL 1 匹配的路由才会被允许重分发进 OSPF,并设置其 metric 为 100。
4.2 BGP 路由策略控制
router bgp 65000
neighbor 10.1.1.1 route-map RM-BGP-IN in
ip prefix-list PL-ALLOWED seq 5 permit 172.16.0.0/16 ge 24 le 28
route-map RM-BGP-IN permit 10
match ip address prefix-list PL-ALLOWED
set local-preference 200
4.3 策略路由(Policy-Based Routing, PBR)
route-map RM-PBR permit 10
match ip address 101
set ip next-hop 192.168.10.1
interface FastEthernet0/0
ip policy route-map RM-PBR
5.Route-Map 的 match 和 set 示例
match ip address:匹配 ACL 或 Prefix-list
match interface:匹配进入接口
match route-type:匹配路由类型(如 internal、external)
match metric:匹配路由的 metric 值
match tag:匹配路由标签
set ip next-hop:设置下一跳地址
set interface:设置出站接口
set metric:修改 metric 值
set local-preference:修改 BGP 的 Local Preference
set community:修改 BGP Community 属性
set as-path prepend:在 AS Path 中添加 AS 号码