P3_BGP_不同地址族下的RR

结论

在BGP的IPV4 Unicast做RR非常简单,不用考虑RT,最关键的是并不需要MPLS的加持,做完IGP和BGP之后,客户机就直接通过BGP-UPDATE报文向着RR发送IPV4的路由信息了,其它的客户机也能顺利的收到路由信息。

而在VPNV4 Unicast的当中,事情就没有这么简单了,不但需要MPLS的加持(至于为什么需要MPLS的加持,可以参考我另一篇博客https://www.cnblogs.com/yizhangheka/p/17589616.html),而且还得考虑做反射器的位置和RT,在做VPNV4的反射器时,一定要尤为注意这两点,否则VPNV4的RR不会成功。

IPV4 UNICAST

image-20230729121139897

就这么简单的拓扑图,目的是AR1上的路由信息,传递给RR,即AR2,然后通过AR2再反射到AR3,让AR1和AR3能相互通信。

IGP_ISIS基础配置

# AR1的基础配置
sys
sysn AR1
int l0
ip add 10.0.1.1 32
int g0/0/0
ip add 10.0.12.1 24
isis 1
	is-level level-2
	network-enti 49.0001.0010.0001.00
int g0/0/0
	isis en 1
int l0
	isis en 1
	quit
# AR2的基础配置
sys
sysn AR2
int l0
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.23.2 24
isis 1
	is-level level-2
	network-enti 49.0001.0020.0002.00
int g0/0/0
	isis en 1
int g0/0/1
	isis en 1
int l0
	isis en 1
	quit
# AR3的基础配置
sys
sysn AR3
int l0
ip add 10.0.3.3 32
int g0/0/0
ip add 10.0.23.3 24
isis 1
	is-level level-2
	network-enti 49.0001.0030.0003.00
int g0/0/0
	isis en 1
int l0
	isis en 1
	quit

BGP的基础配置

# AR1
bgp 100
 peer 10.0.2.2 as-number 100 
 peer 10.0.2.2 connect-interface LoopBack0

# AR2
bgp 100
 peer 10.0.1.1 as-number 100 
 peer 10.0.1.1 connect-interface LoopBack0
 peer 10.0.3.3 as-number 100 
 peer 10.0.3.3 connect-interface LoopBack0

# AR3
bgp 100
 peer 10.0.2.2 as-number 100 
 peer 10.0.2.2 connect-interface LoopBack0

RR相关配置

打算让AR2当RR,然后在AR1的BGP进程当中宣告一个网段,看AR3是否能收到,能收到说明反射器生效了,实验成功;

# AR1
interface LoopBack11
	 ip address 11.11.11.11 255.255.255.255
bgp 100
	 network 11.11.11.11 32

# AR2
bgp 100
	peer 10.0.1.1 reflect-client
	peer 10.0.3.3 reflect-client

# AR3收到了,说明反射器生效了
[AR3]dis bgp routing-table 
 *>i  11.11.11.11/32     10.0.1.1        0          100        0      i

# 通信成功
[AR3-bgp]ping 11.11.11.11 
  PING 11.11.11.11: 56  data bytes, press CTRL_C to break
    Reply from 11.11.11.11: bytes=56 Sequence=1 ttl=254 time=40 ms
    Reply from 11.11.11.11: bytes=56 Sequence=2 ttl=254 time=40 ms
    Reply from 11.11.11.11: bytes=56 Sequence=3 ttl=254 time=30 ms
    Reply from 11.11.11.11: bytes=56 Sequence=4 ttl=254 time=20 ms
    Reply from 11.11.11.11: bytes=56 Sequence=5 ttl=254 time=30 ms

IPV4 VPNV4

image-20230729121146628

还是这个拓扑,目的是让AR1的VPNV4路由传给AR2,即RR,然后反射给AR3,让AR1和AR3之间的能够通过VPNV4路由信息进行相互通信。

MPLS

基础的ISIS配置如上一个章节,我们这一章再ISIS的基础再加上MPLS和MP-BGP,到底为什么加MP-BGP,是因为需要MP-BGP运载VPNV4路由,而运载需要的MP-BGP UDPATE报文需要MPLS LSP路径来触发,所以MPLS也必须得做上;

# AR1
mpls lsr-id 10.0.1.1
mpls
mpls ldp
int g0/0/0
mpls 
mpls ldp 
quit

# AR2
mpls lsr-id 10.0.2.2
mpls
mpls ldp
int g0/0/0
mpls 
mpls ldp 
int g0/0/1
mpls 
mpls ldp 
quit

# AR3
mpls lsr-id 10.0.3.3
mpls
mpls ldp
int g0/0/0
mpls 
mpls ldp 
quit

MP-BGP

AR1的配置

# AR1
ip vpn-instance OA
	route-dist 1:1
	vpn-target 1:1
interface LoopBack2
 ip binding vpn-instance OA
 ip address 111.111.111.111 255.255.255.255

ospf 1 vpn-instance OA router-id 10.0.1.1
a 0
	network 111.111.111.111 0.0.0.0

bgp 100
	undo default ipv4-unicast
	peer 10.0.2.2 as 100
	peer 10.0.2.2 connect-interface LoopBack 0
	ipv4-fa vpnv4
		peer 10.0.2.2 enable
	ipv4-fa vpn-instance OA
		import ospf 1

在AR1上已经产生了VPNV4的路由条目,如下所示:

image-20230729121154198

AR3的配置

AR3只做为VPNV4路由的接受端,配置如下所示:

# AR1
ip vpn-instance OA
	route-dist 3:3
	vpn-target 1:1
int l33
	ip bind vpn OA
	ip add 33.33.33.33 32
ospf 1 vpn-instance OA
a 0
	network 33.33.33.33 0.0.0.0

bgp 100
	undo default ipv4-unicast
	peer 10.0.2.2 as 100
	peer 10.0.2.2 connect-interface LoopBack 0
	ipv4-fa vpnv4
		peer 10.0.2.2 enable
		quit
	ipv4-fa instance OA
		import ospf 1
		quit

AR2的配置

bgp 100
 peer 10.0.1.1 as-number 100 
 peer 10.0.1.1 connect-interface LoopBack0
 peer 10.0.3.3 as-number 100 
 peer 10.0.3.3 connect-interface LoopBack0
 #
 ipv4-family unicast
  undo synchronization
  peer 10.0.1.1 enable
  **peer 10.0.1.1 reflect-client**
  peer 10.0.3.3 enable
  **peer 10.0.3.3 reflect-client**
 # 
 ipv4-family vpnv4
  **policy vpn-target**
  peer 10.0.1.1 enable
  peer 10.0.3.3 enable

问题出现

我们会发现反射器AR2都没有AR1和AR3上的VPNV4路由,本身都没有,那又如何进行反射呢?AR1和AR3相互没有对方的VPNV4路由!问题出在哪里呢?你想一下,我们是将VPNV4路由交给了反射器AR2,抓包看一下肯定是有MP-BGP的UPDATE报文的,但是注意呀,AR1和AR3交给AR2的是VPNV4路由,面不是普通的路由条目,可是你看在AR2的上配置,反射器并没有配置在VPNV4地址族内!而是配置到了ipv4-family unicast地址族当中了,所以第一个改进是把反射器配置在VPNV4的地址族内。

另外还有一点,MP-BGP UPDATE报文当中是携带的RT的,而AR2本身都没有VN,更没有设置RT,所以AR2在收到AR1或AR3发送给它的MP-BGP UPDATGE报文时,并不会接收它的路由条目,原因就是因为RT对不上!所以第二个改进就是我们希望AR2本身不再核心RT,就直接转发就可以了,所以还要VPNV4的地址族内把undo policy vpn-target敲上,改进后的配置如下如下。

AR2的正常配置

AR2做为RR反射端配置十分重要,如下所示:

bgp 100
	undo default ipv4-unicast
	peer 10.0.1.1 as 100
	peer 10.0.1.1 connect-interface LoopBack 0
	peer 10.0.3.3 as 100
	peer 10.0.3.3 connect-interface LoopBack 0
	ipv4-fa vpnv4
		**undo policy vpn-target**
		peer 10.0.1.1 enable
		peer 10.0.1.1 reflect-client
		peer 10.0.3.3 enable
	  peer 10.0.3.3 reflect-client
		quit

搞完之后,由于不再匹配RT,反射器也配置对了地方,AR1和AR3都能相互接收到对方的VPNV4路由了,如下所示:

<AR3>dis bgp vpnv4 all  routing-table 
 *>   33.33.33.33/32     0.0.0.0         0                     0      ?
 *>i  44.44.44.44/32     10.0.1.1        0          100        0      ?
 *>i  111.111.111.111/32 10.0.1.1        0          100        0      ?

[AR1-ospf-1-area-0.0.0.0]dis bgp vpnv4 all  routing-table 
 *>i  33.33.33.33/32     10.0.3.3        0          100        0      ?
 *>   44.44.44.44/32     0.0.0.0         0                     0      ?
 *>   111.111.111.111/32 0.0.0.0         0                     0      ?
posted @ 2023-07-29 12:13  张贺贺呀  阅读(82)  评论(0编辑  收藏  举报