实验是配置路由反射器。先做一下简要说明,在一个BGP域中,一个路由器通过IBGP从另一个路由器学习到的路由信息是不会转发给下一个IBGP路由器的,这是为了避免在AS中产生路由环路。则如果要想让下一个路由器学习到该路由信息,则产生该信息的源路由器必须与那个路由器再建立IBGP邻接关系。也就是说在同一个BGP域中,要想让所有路由器学习到所有的路由信息,则它们之间必须建立全网状的IBGP互联。显而易见,这样对于网络的扩展非常不利。为了克服这个问题,我们定义了路由反射器的概念。一台被配置为路由反射器的路由器一旦收到一条路由信息,它就会将这条路由信息传递给所有跟它建立客户关系的路由器,从而消除了对全互联环境的要求。
本实验配置说明:在RA上启动BGP AS 100, 在RB,RC,RD上启动BGP AS200;并在AS 200 中启动OSPF。
实验要求:
1 AB,BC,CD之间分别建立EBGP,IBGP,IBGP 邻接关系。
2 通过BGP宣告A,B,C上的3个虚拟接口。要求所有路由器都能通过 sh ip bgp 看到这些虚拟接口。(将RC设为路由反射器)
3 要求所有路由器都有全部网络的路由信息
**************************************************************************************
一 基本配置
RA#sh run
!
!interface Loopback0
ip address 1.1.1.1 255.255.255.0
!
interface Serial0
ip address 192.1.1.1 255.255.255.0
!
router bgp 100
no synchronization
bgp log-neighbor-changes
network 1.1.1.0 mask 255.255.255.0
neighbor 192.1.1.2 remote-as 200
no auto-summary
!
RB#sh run
!
interface Loopback0
ip address 2.2.2.2 255.255.255.0
!
interface Ethernet0
ip address 193.1.1.1 255.255.255.0
!
interface Serial0
ip address 192.1.1.2 255.255.255.0
clockrate 64000
!
router ospf 1 //在RB上启动OSPF
network 0.0.0.0 255.255.255.255 area 0 //宣告所有与RB相连的网络
!
router bgp 200
no synchronization
network 2.2.2.0 mask 255.255.255.0
neighbor 192.1.1.1 remote-as 100
neighbor 193.1.1.2 remote-as 200
no auto-summary
!
RC#sh run
!
interface Loopback0
ip address 3.3.3.3 255.255.255.0
!
interface Ethernet0
ip address 193.1.1.2 255.255.255.0
!
interface Serial0
ip address 194.1.1.1 255.255.255.0
clock rate 64000
!
router ospf 1
log-adjacency-changes
network 0.0.0.0 255.255.255.255 area 0 // 同RB
!
router bgp 200
no synchronization
bgp log-neighbor-changes
network 3.3.3.0 mask 255.255.255.0
neighbor 193.1.1.1 remote-as 200
neighbor 194.1.1.2 remote-as 200
no auto-summary
!
RD#sh run
interface Serial0
ip address 194.1.1.2 255.255.255.0
!
router ospf 1 //同RB
log-adjacency-changes
network 0.0.0.0 255.255.255.255 area 0
!
router bgp 200
no synchronization
bgp log-neighbor-changes
neighbor 194.1.1.1 remote-as 200
no auto-summary
!
二 检查BGP
RA#sh ip bgp
Network Next Hop Metric LocPrf Weight Path
*> 1.1.1.0/24 0.0.0.0 0 32768 i
*> 2.2.2.0/24 192.1.1.2 0 0 200 i
*> 3.3.3.0/24 192.1.1.2 0 200 i
可以看到RA已经通过BGP学习到了各个虚拟接口,这两条路由下一跳均为192.1.1.2。这里需指出当AS边界路由器通过EBGP转发路由信息时,总是将这些路由信息的下一跳设定为自己。
***************************************************
RB#sh ip bgp
Network Next Hop Metric LocPrf Weight Path
*> 1.1.1.0/24 192.1.1.1 0 0 100 i
*> 2.2.2.0/24 0.0.0.0 0 32768 i
*>i3.3.3.0/24 193.1.1.2 0 100 0 i
可以看到RB也学习到了这些虚拟接口
***************************************************
RC#sh ip bgp
Network Next Hop Metric LocPrf Weight Path
*>i1.1.1.0/24 192.1.1.1 0 100 0 100 i
*>i2.2.2.0/24 193.1.1.1 0 100 0 i
*> 3.3.3.0/24 0.0.0.0 0 32768 i
RC也学习到了这些路由
****************************************************
RD#sh ip bgp
Network Next Hop Metric LocPrf Weight Path
*>i3.3.3.0/24 194.1.1.1 0 100 0 i
我们注意到这时RD并没有学习到1.1.1.0/24和2.2.2.0/24两个网段。这是因为在一个BGP域中,RC并不会将它通过RB学习到的路由转发给RD。这是我们需要将RC配置成路由反射器。配置如下:
RC(config)# router bgp 200
RC(config)#neighbor 193.1.1.1 route-reflector-client
RC(config)#neighbor 194.1.1.2 route-reflector-client
这两条命令是将RB和RD设为RC的路由反射器客户端
我们再次在RD上进行验证,之前用 clear ip bgp * 重启BGP进程,稍等一会儿在RD上进行查看;
RD#sh ip bgp
Network Next Hop Metric LocPrf Weight Path
*>i1.1.1.0/24 192.1.1.1 0 100 0 100 i
*>i2.2.2.0/24 193.1.1.1 0 100 0 i
*>i3.3.3.0/24 194.1.1.1 0 100 0 i
这时RD已经学习到了所有的虚拟接口,至此我们的路由反射器配置成功。下面我们将通过查看路由表来追踪这些路由信息。在这之前我们再次进入所有路由器的 BGP进程,输入: no synchronization 来取消BGP与IGP的同步关系,使得IGP能学到BGP中的路由信息,再次 clearip bgp * 和 clear ip route * 稍等片刻,等待BGP邻接关系再次建立后,我们在RB,RC,RD 分别用 sh iproute 就都能得到完整的路由信息了。以RC为例;
RC#sh ip route
Gateway of last resort is not set
1.0.0.0/24 is subnetted, 1 subnets
B 1.1.1.0 [200/0] via 192.1.1.1, 02:08:19
2.0.0.0/8 is variably subnetted, 2 subnets, 2 masks
O 2.2.2.2/32 [110/11] via 193.1.1.1, 02:08:58, Ethernet0
B 2.2.2.0/24 [200/0] via 193.1.1.1, 02:08:43
3.0.0.0/24 is subnetted, 1 subnets
C 3.3.3.0 is directly connected, Loopback0
C 193.1.1.0/24 is directly connected, Ethernet0
O 192.1.1.0/24 [110/74] via 193.1.1.1, 02:08:58, Ethernet0
C 194.1.1.0/24 is directly connected, Serial0
到现在为止,所有路由器的BGP表都已经完整,RB,RC,RD的IP路由表也已经完整,现在我们来看RA的路由表。
RA#sh ip route
Gateway of last resort is not set
1.0.0.0/24 is subnetted, 1 subnets
C 1.1.1.0 is directly connected, Loopback0
2.0.0.0/24 is subnetted, 1 subnets
B 2.2.2.0 [20/0] via 192.1.1.2, 02:18:43
3.0.0.0/8 is variably subnetted, 2 subnets, 2 masks
B 3.3.3.3/32 [20/11] via 192.1.1.2, 02:12:30
B 3.3.3.0/24 [20/0] via 192.1.1.2, 02:18:43
C 192.1.1.0/24 is directly connected, Serial0
我们可以看到在RA的路由表中并没有193.1.1.0/24和194.1.1.0/24这两个网段的路由,这是因为这两条路由是在AS200中通过OSPF发布的,因此R1当然无法学到。我们需要在AS边界路由器RB上将OSPF的路由信息重发布到BGP中;配置如下:
RB(config)#router bgp 200
RB(config)#redistribute ospf 1
再次来到RA中,
RA#sh ip route
Gateway of last resort is not set
1.0.0.0/24 is subnetted, 1 subnets
C 1.1.1.0 is directly connected, Loopback0
2.0.0.0/24 is subnetted, 1 subnets
B 2.2.2.0 [20/0] via 192.1.1.2, 02:26:51
3.0.0.0/8 is variably subnetted, 2 subnets, 2 masks
B 3.3.3.3/32 [20/11] via 192.1.1.2, 02:20:39
B 3.3.3.0/24 [20/0] via 192.1.1.2, 02:26:51
B 193.1.1.0/24 [20/0] via 192.1.1.2, 02:20:38
C 192.1.1.0/24 is directly connected, Serial0
B 194.1.1.0/24 [20/74] via 192.1.1.2, 02:20:38
400电话:4009009973