Community Filter应用实战

本文是一个非常实用的BGP团体属性过滤器应用配置实验,介绍了基于同一用户需求的两种不同配置方案,并且均有完整的配置结果验证过程。通过本实验,可以充分理解团体属性过滤器的作用,以及灵活应用的配置思路和配置方法。

如图8-78所示,某网络中各路由器均运行BGP路由协议,各相邻路由器之间建立对应的BGP对等体关系。一开始用户要求通过Community属性及Community Filter实现RouterE上连接的用户不能访问RouterC上连接的192.168.2.0/24、172.16.0.0/24这两个网段,以及RouterB上连接的172.16.1.0/24网段的用户,后来又要求RouterD也不能访问RouterB上连接的172.16.1.0/24网段用户,其他用户间的访问不受限制。

图8-78 Community Filter应用配置示例的拓扑结构

1.基本配置思路分析

要实现本示例最初的要求,可以在RouterC上配置在向RouterB通告192.168.2.0/24、172.16.0.0/24这两个网段的BGP路由,以及RouterB向RouterA通告172.16.1.0/24网段的BGP路由时添加一个特定的团体属性,如100:1,并依次在RouterB上配置向RouterA、在RouterA上配置向RouterD通告BGP路由时携带团体属性。然后在RouterD上创建Community Filter,设置在向RouterE通告BGP路由时,或者在RouterE上创建Community Filter,设置在从RouterD接收BGP路由时过滤192.168.2.0/24、172.16.0.0/24、172.16.1.0/24这三个网段的BGP路由,以实现RouterE不能访问这三个网段用户的目的。

至于后来又想要RouterD也不能访问172.16.1.0/24网段的用户,此时可以使RouterB向RouterA通告该网段BGP路由时修改配置,同时打上100:1和NO-EXPORT两个团体属性即可,这样就不能向其EBGP对等体RouterD进行通告了。

BGP路由的Community属性和Community Filter都是在完成基本BGP功能配置基础上进行配置的。根据以上分析可得出本示例如下基本配置思路。

(1)配置各路由器接口的IP地址。

(2)在AS 100内通过OSPF实现三层互通,包括各Loopback接口,但不包括连接EBGP对等体的接口。

(3)配置各路由器的BGP基本功能和路由器反射器功能,并分别将各路由上的Loopback接口所在网段的路由通过network 命令(也可以是import-route命令)引入到BGP路由表中。

(4)在RouterC上配置在向RouterB通告192.168.2.0/24和172.16.0.0/24这两个网段BGP路由,以及在RouterB上配置向RouterA通告172.16.1.0/24网段BGP路由时设置团体属性为100:1,并在RouterB上配置向RouterA、在RouterA向RouterD通告路由时携带团体属性。

(5)在RouterD上创建Community Filter过滤器,拒绝向RouterE发布带有100:1团体属性的BGP路由,或者在RouterE上创建Community Filter过滤器,拒绝接收带有100:1团体属性的BGP路由。

(6)在RouterB配置向RouterA通告172.16.1.0/24网段BGP路由时同时携带100:1和NO_EXPORT两个团体属性,使其不能向外部AS传递,但可以本地AS内部传递。

  1. 具体配置步骤

(1)配置各路由器的接口IP地址。在此仅介绍RouterA上的配置,其他路由器上的配置方法一样,略。须把AS 100中各路由器上的Loopback接口的OSPF网络类型改成广播类型,否则只能生成32位掩码OSPF路由。

<Huawei > system-view

** Huawei** system-nameRouterA

RouterAinterfacegigabitethernet 0/0/0

RouterA-GigabitEthernet0/0/0ip address10.1.1.1 24

RouterA-GigabitEthernet0/0/0quit

RouterAinterfacegigabitethernet 0/0/1

RouterA-GigabitEthernet0/0/1ip address10.1.2.1 24

RouterA-GigabitEthernet0/0/1quit

RouterAinterfaceloopback0

RouterA-Loopback0ip address192.168.1.1 24

RouterA-Loopback0 ospf network-type broadcast#---指定Loopback0接口为广播网络类型

RouterA-Loopback0quit

(2)在AS 100内通过OSPF实现三层互通,包括各Loopback接口,但不包括连接EBGP对等体的接口。

假设各设备均运行1号OSPF进程(相邻设备的OSPF路由进程可以不同),加入到区域0中。在此仅以RouterA为例进行介绍,其他路由器上的OSPF路由配置方法一样,参照即可。

RouterA ospf 1

RouterA-ospf-1 area 0

RouterA-ospf-1-area-0.0.0 network 10.1.1.0 0.0.0.255

RouterA-ospf-1-area-0.0.0 network 192.168.1.0 0.0.0.255

RouterA-ospf-1-area-0.0.0 quit

RouterA-ospf-1 quit

(3)配置各路由器的BGP基本功能和路由反射器功能。各对等体间使用直连物理接口建立TCP连接,RouterA~RouterE五台路由器的Router ID分别配置为1.1.1.1~5.5.5.5,并在将各路由器上的Loopback接口对应网段路由引入到BGP路由表中。

因为IBGP路由只能传一跳,所以缺省情况下,来自RouterC的BGP路由是不能通过RouterB再传递到RouterA,来自RouterA路由也不能通过RouterB传递给RouterC。为此,把RouterB配置为RR,把RouterC作为他的客户端,这样RouterB在收到来自RouterA或RouterC的BGP路由时就可以反射给对方了。但要注意,反射路由不会改变BGP路由的下一跳属性,所以需要在AS 100中通过IGP(本示例采用OSPF)实现三层互通,并且在RouterA上配置向RouterB发布路由时把下一跳改为自己与RouterB建立TCP连接时的源IP地址,否则RouterB上收到来自RouterA的外部AS路由时可能无效。

  1. RouterA上的配置。

RouterA bgp 100

RouterA-bgp router -id 1.1.1.1

RouterA-bgp peer 10.1.1.2 as -number 100

RouterA-bgp peer 10.1.1.2 next-hop-local#---指定向RouterB通告IBGP路由时把下一跳改为自己的TCP连接源IP地址,使RouterB收到外部AS路由时有效

RouterA-bgp peer 10.1.2.2 as -number 200

RouterA-bgp network 192.168.1.0 24

  1. RouterB上的配置。

RouterB bgp 100

RouterB-bgp router -id 2.2.2.2

RouterB-bgp peer 10.1.1.1 as -number 100

RouterB-bgp peer 10.1.3.2 as -number 100

RouterB-bgppeer 10.1.3.2 reflect-client#---配置RouterB为RR,并把RouterC作为其客户端

RouterB-bgpnetwork 172.16.1.0 24

  1. RouterC上的配置。

RouterC bgp 100

RouterC-bgp router -id 3.3.3.3

RouterC-bgp peer 10.1.3.1 as -number 100

RouterC-bgp network 192.168.2.0 24

RouterC-bgp network 172.16.0.0 24

  1. RouterD上的配置。

RouterD bgp 200

RouterD-bgp router -id 4.4.4.4

RouterD-bgp peer 10.1.2.1 as -number 100

RouterD-bgp peer 10.1.4.2 as -number 300

  1. RouterE上的配置。

RouterE bgp 300

RouterE-bgp router -id 5.5.5.5

RouterE-bgp peer 10.1.4.1 as -number 200

RouterE-bgp network 192.168.0.0 24

以上配置好后,在RouterE上执行display bgp routing-table 命令,可看到他已学习到了所引入的全部5个网段的BGP路由,包括RouterC上连接的192.168.2.0/24和172.16.0.0/24两个网段的BGP路由,如图8-79所示。在RouterD上执行display bgp routing-table命令结果也一样,参见图8-79所示。

图8-79 配置团体属性过滤前,RouterE上的BGP路由表

(4)在RouterC上配置在向RouterB通告192.168.2.0/24和172.16.0.0/24这两个网段BGP路由,以及在RouterB上配置向RouterA通告172.16.1.0/24网段BGP路由时设置团体属性为100:1,允许携带团体属性,并在RouterB上配置向RouterA、在RouterA向RouterD通告路由时携带团体属性。

BGP路由的团体属性是通过路由策略配置的,所以先需要创建路由策略,匹配对应的BGP路由网段,然后为该网段的BGP路由设置团体属性。本示例采用ACL作为策略匹配工具,也可以采用IP前缀列表。

  1. RouterC上的配置

RouterC acl2000

RouterC-basic-acl-2000 rule 5 permit source 192.168.2.0 0.0.0.255

RouterC-basic-acl-2000 rule 10 permit source 172.16.0.0 0.0.0.255

RouterC-basic-acl-2000 quit

RouterC route -policy commu permit node 10

RouterC-route-policy if -match acl 2000

RouterC-route-policy apply community 100:1

RouterC-route-policy quit

RouterC route -policy commu permit node 20 #---此允许模式的空节点用于允许其他路由不改变团体属性通过

RouterC-route-policy quit

RouterC bgp 100

RouterC-bgp peer 10.1.3.1 route -policy commu export

RouterC-bgp peer 10.1.3.1 advertise -community#---允许向RouterB发布BGP路由时携带团体属性

RouterC-bgp quit

  1. RouterB上的配置

RouterB acl2000

RouterB-basic-acl-2000 rule 5 permit source 172.16.1.0 0.0.0.255

RouterB-basic-acl-2000 quit

RouterB route -policy commu permit node 10

RouterB-route-policy if -match acl 2000

RouterB-route-policy apply community 100:1

RouterB-route-policy quit

RouterB route -policy commu permit node 20

RouterB-route-policy quit

RouterB bgp 100

RouterB-bgp peer 10.1.1.1 route -policy commu export

RouterB-bgp peer 10.1.1.1 advertise -community

RouterB-bgp quit

  1. RouterA上的配置

RouterA bgp 100

RouterA-bgp peer 10.1.2.2 advertise -community

RouterA-bgpquit

以上配置好后,可以在RouterA或RouterD上执行display bgp routing-table 192.168.2.0、display bgp routing-table 172.16.0.0 24、display bgp routing-table 172.16.1.0 24命令查看对应BGP路由的详细信息,可以见到他们均有携带前面所配置的团体属性100:1。图8-80是在RouterD上执行display bgp routing-table 192.168.2.0命令的输出,图8-81是在RouterD上执行display bgp routing-table 172.16.1.0命令的输出。

(5)在RouterD上创建Community Filter过滤器,拒绝向RouterE发布带有100:1团体属性的BGP路由,或者在RouterE上创建Community Filter过滤器,拒绝接收带有100:1团体属性的BGP路由。

方案一:在RouterD上创建并应用Community Filter过滤器

RouterDip community-filter 1 permit 100:1

RouterD route -policy comm-filter deny node 10

RouterD-route-policy if -match community -filter 1

RouterD-route-policy quit

RouterD route -policy comm-filter permit node 20

RouterD-route-policy quit

RouterD bgp 200

RouterD-bgp peer 10.1.4.2 route -policy comm-filter export

图8-80 配置好团体属性后,RouterD上的192.168.2.0路由详细信息

图8-81 配置好团体属性后,RouterD上的172.16.1.0路由详细信息

以上配置完成后,再在RouterE上执行display bgp routing-table命令,会发现带有100:1团体属性的192.168.2.0/24、172.16.0.0/24和172.16.1.0/24三个网段的BGP路由不见了,但仍有其他两个网段的BGP路由,如图8-82所示。但RouterD 上仍有全部的5条BGP路由,如图8-83所示。

图8-82 配置好团体属性过滤器后,RouterE上的BGP路由表

图8-83 配置好团体属性过滤器后,RouterD上的BGP路由表

方案二:在RouterE上创建并应用Community Filter过滤器

采用此方案时,需要在RouterD上先配置向RouterE通告BGP路由时携带团体属性。

  1. RouterD上的配置

RouterD bgp 200

RouterD-bgp peer 10.1.4.2 advertise-community

  1. RouterE上的配置

RouterEip community-filter 1 permit 100:1

RouterE route -policy comm-filter deny node 10

RouterE-route-policy if -match community -filter 1

RouterE-route-policy quit

RouterE route -policy comm-filter permit node 20

RouterE-route-policy quit

RouterE bgp 300

RouterE-bgp peer 10.1.4.1 route -policy comm-filter import

以上配置好后,可以达到同样的效果,RouterE没有被团体属性过滤器过滤掉的192.168.2.0/24、172.16.0.0/24和172.16.1.0/24三个网段的BGP路由。

(6)在RouterB配置向RouterA通告172.16.1.0/24网段BGP路由时同时携带100:1和NO_EXPORT两个团体属性。

因为一个对等体只能应用一个路由策略。原来已在RouterB上为向RouterA通告172.16.1.0/24网段BGP路由携带100:1团体属性时创建了一个路由策略commu,现在再要在该网段追加NO-EXPORT团体属性,只能修改原来添加团体属性的apply 语句,同时带上100:1和NO-EXPORT两个团体属性即可(注意:在一个路由策略节点,同类aaply命令只能有一个),具体如下。

RouterB route -policy commu permit node 10

RouterB-route-policy apply community 100:1 no -export

RouterB-route-policyquit

以上配置完成后,在RouterA上执行display bgp routing-table 172.16.1.0 24 命令,可以见到其有两个团体属性了,如图8-84所示。此时再在RouterC上执行display bgp routing-table命令,发现BGP路由表中没有了172.16.1.0/24网段BGP路由了,如图8-85所示。因为带有NO-EXPORT属性的BGP路由不能向EBGP对等体通告,所以RouterA在收来自RouterB的该网段BGP路由后不能向RouterC通告,自然RouterC不能访问该网段用户了,达到了本实验的目的。

图8-84 在RouterB上修改了团体属性后,RouterA上172.16.1.0/24网段BGP路由详细信息

图8-85 在RouterB上修改了团体属性后,RouterD上的BGP路由表

本文摘自由笔者出版、读者高度首肯的++《华为HCIP-Datacom路由交换学习指南》++一书。

相关推荐
青草地溪水旁8 小时前
CAN通道的“一对一”与“选择性”:物理线束、CanSM通道与网络报文实践解析
网络·autosar cp
拾光Ծ8 小时前
【Linux网络】计算机网络入门:网络产生与协议
linux·网络·网络协议·tcp/ip·计算机网络
稳联技术老娜14 小时前
DeviceNet主站怎么连接西门子PLC,Profinet网关配置手册(那智机器人)
服务器·网络·数据库
志栋智能16 小时前
AI驱动无代码:降低巡检超自动化的门槛
大数据·运维·网络·人工智能·自动化
专业机床数据采集17 小时前
C# 精雕数控 数据采集 Demo|实时读取精雕机床坐标、主轴、负载、加工工时全量参数
网络·网络协议·tcp/ip·mes·精雕数控数据采集
AOwhisky17 小时前
Ceph系列第六期:Ceph 文件系统(CephFS)精讲
linux·运维·网络·笔记·ceph
我爱C编程17 小时前
基于ECC簇内分组密钥管理算法的无线传感器网络matlab性能仿真
网络·matlab·ecc·密钥管理·无线传感器网络·簇内分组
Sagittarius_A*18 小时前
H3CSE 高性能园区网:园区网安全体系详解
网络·计算机网络·安全·h3cse
安全检测中21 小时前
探讨一个OSPF中NSSA类型的问题
网络
luj_176821 小时前
R语言生态优势与学习曲线分析
c语言·开发语言·网络·经验分享·算法