ip community-filter

命令功能

ip community-filter命令用来增加一个团体属性过滤器(表项)。

undo ip community-filter命令用来删除团体属性过滤器(表项)。

缺省情况下,系统中不存在团体属性过滤器(表项)。

命令格式

ip community-filter { basic comm-filter-name | basic-comm-filter-num } { permit | deny } [ community-number | aa:nn | internet | no-export-subconfed | no-advertise | no-export ] &<1-20>

ip community-filter { advanced comm-filter-name | adv-comm-filter-num } { permit | deny } regular-expression

undo ip community-filter { basic comm-filter-name | basic-comm-filter-num } { permit | deny } [ community-number | aa:nn | internet | no-export-subconfed | no-advertise | no-export ] &<1-20>

undo ip community-filter { advanced comm-filter-name | adv-comm-filter-num } [ permit | deny ] [ regular-expression ]

参数说明

参数 参数说明 取值
basic comm-filter-name 指定基本团体属性过滤器名称。 字符串形式,区分大小写,不支持空格,长度范围是1~51,且不能都是数字。
说明:
当输入的字符串两端使用双引号时,可在字符串中输入空格。
basic-comm-filter-num 指定基本团体属性过滤器号。 整数形式,取值范围1~99。
deny 指定团体属性过滤器的匹配模式为拒绝。 -
permit 指定团体属性过滤器的匹配模式为允许。 -
community-number 指定团体号。 整数形式,取值范围0~4294967295。
aa:nn 指定团体号。
一条命令最多可以指定20个团体属性号。
  • 如果不配置internetno-export-subconfedno-advertiseno-export,则community-numberaa:nn一共可以指定20个。
  • 如果配置internetno-export-subconfedno-advertiseno-export中的一个,则community-numberaa:nn一共可以指定19个。
  • 如果配置internetno-export-subconfedno-advertiseno-export中的两个,则community-numberaa:nn一共可以指定18个。
  • 如果配置internetno-export-subconfedno-advertiseno-export中的三个,则community-numberaa:nn一共可以指定17个。
  • 如果配置internetno-export-subconfedno-advertiseno-export,则community-numberaa:nn一共可以指定16个。
aann都是整数形式,取值范围都是0~65535。
internet 可以向任何对等体发送匹配的路由。 -
no-export-subconfed 不向自治系统外部通告路由,如果使用了联盟,则不会向联盟中的其他子自治系统通告路由。 -
no-advertise 不通告给其他对等体。 -
no-export 不向自治系统外部通告路由,如果使用了联盟,则不向联盟外部通告路由,但会通告给联盟中的其他子自治系统。 -
advanced comm-filter-name 指定高级团体属性过滤器名称。 字符串形式,区分大小写,不支持空格,长度范围是1~51,且不能都是数字。
说明:
当输入的字符串两端使用双引号时,可在字符串中输入空格。
adv-comm-filter-num 指定高级团体属性过滤器号。 整数形式,取值范围100~199。
regular-expression 指定匹配团体属性的正则表达式。 字符串形式,长度范围是1~255。

视图

系统视图

缺省级别

2:配置级

使用指南

应用场景

团体属性是BGP的私有属性,可以用于对BGP路由进行过滤。与if-match community-filter配合使用,可以作为Route-Policy中的匹配条件。

注意事项

在基本团体属性过滤器只能指定团体号或知名团体属性,在高级团体属性过滤器中则可以指定正则表达式作为匹配条件。

  • 配置基本团体属性过滤器可通过命令ip community-filter basic comm-filter-name或命令ip community-filter basic-comm-filter-num进行配置。前者可以指定基本团体属性过滤器的名称,但名称必须包含非数字字符,一次可以配置20个团体号。后者只能配置过滤器号是1~99的基本团体属性,一次可以配置20个团体号。

  • 配置高级团体属性过滤器可通过命令ip community-filter advanced comm-filter-name或命令ip community-filter adv-comm-filter-num进行配置。前者可以指定高级团体属性过滤器的名称,但名称必须包含非数字字符。后者只能配置过滤器号是100~199的高级团体属性。

community-filter配置的规则之间是“与”的关系,这与rd-filter是不同的。原因是每条路由只可能有一个RD,却可以同时具有多个Community。

例如,将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集合的子集,该行规则才能匹配。

而在下面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

在Route-Policy中用命令apply comm-filter delete删除团体属性过滤器值的时候,所引用的ip community-filter命令每条只能包含一个团体属性,如果要删除多个团体属性,则可通过配置多条命令来解决。如果在同一个过滤器号下配置了多个团体属性,则这几个属性都无法删除。举例请参见apply comm-filter delete

团体属性过滤器的默认行为是deny,即路由如果没有在某一次过滤中被permit则最终不能通过该过滤器的过滤。如果一个过滤器中的所有过滤规则都是deny,则没有路由能通过该过滤器的过滤,这种情况下需要在多次(或一次)deny之后设置一次permit,允许其余所有路由通过过滤器的过滤。

如果该community-filter已经被其他命令引用,建议先取消引用该community-filter的配置,再通过undo ip community-filter命令删除community-filter配置。

后续任务

配置了团体属性过滤器后,缺省情况下,路由管理模块RM(Route Management)会立即通知各个协议应用该过滤器进行过滤。如果需要延迟过滤器的生效时间,需使用命令route-policy-change notify-delay配置延迟生效时间。

使用display ip community-filter可查看该过滤器的详细配置。

使用实例

# 配置序号为1的基本团体属性过滤器。

<sysname> system-view
[sysname] ip community-filter 1 permit internet

# 配置序号为100的高级团体属性过滤器。

<sysname> system-view
[sysname] ip community-filter 100 permit ^10
相关主题
apply comm-filter delete
display ip community-filter
if-match community-filter
route-policy-change notify-delay

华为专有和保密信息
版权所有 © 华为技术有限公司