学习新思想,争做新青年,今天学习的是BGP路由过滤
实验目的:
掌握利用BGP路由属性AS_Path进行路由过滤的方法
掌握利用BGP路由属性Community进行路由过滤的方法
掌握利用BGP路由属性Next_Hop进行路由过滤的方法
实验内容:
本实验网络中,AS 100模拟了企业总部,AS 200、AS 300、AS 400、AS 500分别模拟了企业的分支机构1、分支机构2、分支机构3、分支机构4。网络需求是:各个分支机构都需要与企业总部进行通信,同时要求分支机构1(AS 200)不能接收其他分支机构的路由;分支机构2(AS 300)不能将自己的路由信息通告给其他分支机构;分支机构4(AS 500)不能接收分支机构3(AS 400)的路由。这些需求都需要针对BGP路由的某些属性进行路由过滤来实现。
实验拓扑:
实验配置:
1、基本配置
R1:
sys
sysname R1
int loop 0
ip add 10.0.1.1 32
int g0/0/0
ip add 10.0.13.1 24
int g0/0/1
ip add 10.0.14.1 24
int g0/0/2
ip add 10.0.12.1 24
q
R2:
sys
sysname R2
int loop 0
ip add 10.0.2.2 32
int g0/0/0
ip add 10.0.12.2 24
int g0/0/1
ip add 10.0.25.2 24
int g0/0/2
ip add 10.0.26.2 24
q
R3:
sys
sysname R3
int loop 0
ip add 10.0.3.3 32
int loop 1
ip add 192.168.1.1 24
int g0/0/0
ip add 10.0.13.3 24
q
R4:
sys
sysname R4
int loop 0
ip add 10.0.4.4 32
int loop 1
ip add 192.168.2.1 24
int g0/0/0
ip add 10.0.14.4 24
q
R5:
sys
sysname R5
int loop 0
ip add 10.0.5.5 32
int loop 1
ip add 192.168.3.1 24
int g0/0/0
ip add 10.0.25.5 24
q
R6:
sys
sysname R6
int loop 0
ip add 10.0.6.6 32
int loop 1
ip add 192.168.4.1 24
int g0/0/0
ip add 10.0.26.6 24
q
2.配置 BGP 路由协议
配置 BGP 路由协议,每台路由器均使用直连物理接口建立 BGP 邻居关系,并通告自己的 Loopback 接口到 BGP 进程中。
[R]bgp 100
[R-bgp]router-id 10.0.1.1
[R-bgp]peer 10.0.12.2 as-number 100
[R-bgp]peer 10.0.12.2 next-hop-local
[R-bgp]peer 10.0.13.3 as-number 200
[R1-bgp]peer 10.0.14.4 as-number 300
[R1-bgp]network 10.0.1.1 255.255.255.255
[R2]bgp 100
[R2-bgp]router-id 10.0.2.2
[R2-bgp]peer 10.0.12.1 as-number 100
[R2-bgp]peer 10.0.12.1 next-hop-local
[R2-bgp]peer 10.0.25.5 as-number 400
[R2-bgp]peer 10.0.26.6 as-number 500
[R2-bgp]network 10.0.2.2 255.255.255.255
[R3]bgp 200
[R3-bgp]router-id 10.0.3.3
[R3-bgp]peer 10.0.13.1 as-number 100
[R3-bgp]network 10.0.3.3 255.255.255.255
[R3-bgp]network 192.168.1.0 255.255.255.0
[R4]bgp 300
[R4-bgp]router-id 10.0.4.4
[R4-bgp]peer 10.0.14.1 as-number 100
[R4-bgp]network 10.0.4.4 255.255.255.255
[R4-bgp]network 192.168.2.0 255.255.255.0
[R5]bgp 400
[R5-bgp]router-id 10.0.5.5
[R5-bgp]peer 10.0.25.2 as-number 100
[R5-bgp]network 10.0.5.5 255.255.255.255
[R5-bgp]network 192.168.3.0 255.255.255.0
[R6-bgp]bgp 500
[R6-bgp]router-id 10.0.6.6
[R6-bgp]peer 10.0.26.2 as-number 100
[R6-bgp]network 10.0.6.6 255.255.255.255
[R6-bgp]network 192.168.4.0 255.255.255.0
3.利用 AS_Path 属性进行路由过滤
目前的情况是,每台路由器都接收到了其他路由器的 Loopback 接口的路由信息,然而公司要求分支机构1(AS 200)是不能接收其他分支机构的路由的,但允许与企业总部(AS 100)进行通信。为了实现这一需求,可以利用 AS_Path 属性来进行路由过滤,即只允许 AS_Path 列表中只存在 AS 100 的路由才能被 R3 接收。为此,可以使用 as-path-filter 结合正则表达式来对 BGP 路由的 AS_Path 属性进行匹配,实现路由的过滤。
[R3]ip as-path-filter 1 permit 100$
[R3]bgp 200
[R3-bgp]peer 10.0.13.1 as-path-filter 1 import
4.利用 Community 属性进行路由过滤
公司还要求分支机构2(AS 300)不能将自己的路由信息通告给其他分支机构,但需要将自己的路由信息通告给企业总部(AS 100)。为此,可利用团体属性中的 No-Export 来方便而有效地实现这一需求。
[R4]route-policy 1 permit node 10
[R4-route-policy]apply community no-export
[R4-route-policy]bgp 300
[R4-bgp]peer 10.0.14.1 route-policy 1 export
[R4-bgp]peer 10.0.14.1 advertise-community
[R1]bgp 100
[R1-bgp]peer 10.0.12.2 advertise-community
5.利用 Next Hop 属性进行路由过滤
公司还要求分支机构4(AS 500)不能接收分支机构3(AS 400)的路由,为此,可以利用 Next Hop 属性进行路由过滤来实现这一需求。
[R2]ip ip-prefix 1 permit 10.0.25.5 32
[R2]route-policy 1 deny node 10
[R2-route-policy]if-match ip next-hop ip-prefix 1
[R2-route-policy]route-policy 1 permit node 20
[R2-route-policy]bgp 100
[R2-bgp]peer 10.0.26.6 route-policy 1 export
配置完毕