ip rd-filter命令用来配置RD(Route Distinguisher)属性过滤器。
undo ip rd-filter命令用来删除特定的RD属性过滤器。
缺省情况下,没有配置RD属性过滤器。
ip rd-filter rd-filter-number { deny | permit } route-distinguisher &<1-10>
undo ip rd-filter rd-filter-number [ { deny | permit } route-distinguisher &<1-10> ]
| 参数 | 参数说明 | 取值 |
|---|---|---|
| rd-filter-number | RD过滤器的编号。 | 整数形式,取值范围是1~255。 |
| permit | 如果RD匹配该行中的规则串,则允许路由匹配。 | - |
| deny | 如果RD匹配该行中的规则串,则拒绝路由匹配。 | - |
| route-distinguisher | 指定RD,可以配置1~10个RD。 路由器支持下面格式配置RD:
|
- |
应用场景
VPN路由携带RD属性,RD用于区分使用相同地址空间的IPv4前缀。RD属性过滤器主要用于实现对VPN路由的过滤。VPN路由的VPN Target属性可以控制VPN实例间的路由交互,而RD属性过滤器则可以针对来自不同VPN实例的多条或者某一条VPN路由进行过滤。
通常情况下,在配置隧道策略时需要用到RD属性过滤器。例如,在BGP/MPLS IP VPN组网中,VPNv4路由和BGP标签路由默认选择LSP隧道,且不会进行负载分担。如果需要对特定的VPNv4路由或者BGP标签路由应用隧道策略,可以执行ip rd-filter命令配置RD属性过滤器对路由进行过滤。
实现过程
RD属性过滤器有以下使用规则:
如果没有配置rd-filter,却引用这个rd-filter进行过滤,则匹配结果是permit。
例如,没有配置rd-filter 100,而route-policy引用了这个它:
route-policy test permit node 10
if-match rd-filter 100
使用这个route-policy进行过滤时,认为if-match语句命中,并返回名为test的Route-Policy的node10的匹配结果是permit。
如果配置了rd-filter,但路由的RD没有与规则中定义的任何一个RD匹配,则默认匹配结果是deny。
例如,路由的RD为100:1,而rd-filter的配置如下,
ip rd-filter 100 permit 1.1.1.1:100
使用这个过滤器进行过滤时,匹配结果是deny。
rd-filter配置的规则之间是“或”的关系。这与community-filter是不同的。原因是每条路由只可能有一个RD,而却可以同时具有多个Community。
例如,将rd-filter配置成下面两种形式,过滤的效果是一样的。
形式一:
ip rd-filter 100 permit 100:1 200:1 2.2.2.2:1 3.3.3.3:1
形式二:
ip rd-filter 100 permit 100:1 200:1
ip rd-filter 100 permit 2.2.2.2:1
ip rd-filter 100 permit 3.3.3.3:1
与community-filter对比,下面的配置中,两种形式的过滤效果是不一样的。
形式一:
ip community-filter 1 permit 100:1 200:1 300:1
形式二:
ip community-filter 1 permit 100:1
ip community-filter 1 permit 200:1 300:1
以上community-filter的配置中,每一行规则中的Community必须是路由的Community集合的子集,该行规则才能匹配。
多条规则之间按照配置顺序进行匹配。例如,
ip rd-filter 100 deny 200:1 5.5.5.5:1
ip rd-filter 100 permit 200:* 5.5.5.5:*
则RD为200:1或5.5.5.5:1的路由将被拒绝。但如果配置顺序相反,例如:
ip rd-filter 100 permit 200:* 5.5.5.5:*
ip rd-filter 100 deny 200:1 5.5.5.5:1
则RD为200:1或5.5.5.5:1的路由将被允许。
每个RD过滤器最多可配置255条规则。
注意事项
配置了RD属性过滤器后,缺省情况下,RM会立即通知各个协议应用该过滤器进行过滤。为了避免各协议反复重新应用还未配置完的路由策略,可以使用命令route-policy-change notify-delay配置延迟生效时间。