Pruebas con
BGP y peer con una dirección IP de HSRP
Fecha: julio del 2019
Escenario
Este laboratorio se realizó para analizar la utilización de una IP virtual de HSRP como peer de BGP,
teniendo en cuenta que este utiliza unicast para establecer vecindad e intercambiar rutas.
Generalmente en CCNA se aprende a que HSRP se utiliza para que dispositivos finales, y que esta
IP virtual es solo de “entrada”, para ser utilizada por los dispositivos de la LAN y no para transmitir
por ella, como sería necesario en BGP para establecer vecindad con otro router.
Este escenario no analiza BGP sino la utilización de HSRP como peer.
Este escenario es posible de dos maneras:
- un router que utiliza dos peers BGP para obtener redundancia.
- Un router que utiliza un peer BGP con IP virtual vía HSRP.
1.- Pruebas con dos peers:
*Jul 19 13:08:09.739:
%BGP-5-ADJCHANGE: neighbor 10.0.0.2 Up
*Jul 19 13:08:09.743:
%BGP-5-ADJCHANGE: neighbor 10.0.0.3 Up
1.1.- Verificación inicial:
Router_C#sh ip route
---resumido---
10.0.0.0/8 is variably subnetted, 2 subnets, 2 masks
C 10.0.0.0/29 is directly connected,
Vlan1
L 10.0.0.6/32 is directly connected,
Vlan1
192.168.2.0/24 is variably subnetted, 2 subnets, 2 masks
C 192.168.2.0/24 is directly connected,
Vlan2
L 192.168.2.1/32 is directly connected,
Vlan2
B 192.168.10.0/24 [20/0] via
10.0.0.2, 00:05:51
B
192.168.20.0/24 [20/0] via 10.0.0.2, 00:05:51
B
192.168.30.0/24 [20/0] via 10.0.0.2, 00:05:51
Router_C#
1.2.- Simulamos la caída de uno de los peers:
Router_C#
*Jul 19 13:11:50.337:
%LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0, changed state to
down
*Jul 19 13:11:51.349:
%LINK-3-UPDOWN: Interface FastEthernet0, changed state to down
*Jul 19 13:14:46.091: %BGP-3-NOTIFICATION:
sent to neighbor 10.0.0.2 4/0 (hold time expired) 0 bytes
*Jul 19 13:14:46.091:
%BGP-5-NBR_RESET: Neighbor 10.0.0.2 reset (BGP Notification sent)
*Jul 19 13:14:46.091:
%BGP-5-ADJCHANGE: neighbor 10.0.0.2 Down BGP Notification sent
*Jul 19 13:14:46.091:
%BGP_SESSION-5-ADJCHANGE: neighbor 10.0.0.2 IPv4 Unicast topology base removed
from
session BGP Notification sent
Router_C#
1.3.- Verificamos la conmutación al otro
peer:
Router_C#sh ip route
---resumido---
10.0.0.0/8 is variably subnetted, 2 subnets, 2 masks
C 10.0.0.0/29 is directly connected,
Vlan1
L 10.0.0.6/32 is directly connected, Vlan1
192.168.2.0/24 is variably subnetted, 2 subnets, 2 masks
C 192.168.2.0/24 is directly connected,
Vlan2
L 192.168.2.1/32 is directly connected,
Vlan2
B 192.168.10.0/24 [20/0] via 10.0.0.3, 00:00:55
B 192.168.20.0/24 [20/0] via 10.0.0.3, 00:00:55
B 192.168.30.0/24 [20/0] via 10.0.0.3, 00:00:55
Router_C#
1.4.- Verificamos paquetes perdidos en la
conmutación:
Tiempo de espera agotado para esta solicitud.
Tiempo de espera agotado para esta solicitud.
Respuesta desde 192.168.2.1: Host de destino inaccesible.
Respuesta desde 192.168.2.1: Host de destino inaccesible.
Respuesta desde 192.168.2.1: Host de destino inaccesible.
Respuesta desde 192.168.10.1: bytes=32 tiempo=1ms TTL=254
Respuesta desde 192.168.10.1: bytes=32 tiempo=1ms TTL=254
Estadísticas de ping para 192.168.10.1:
Paquetes: enviados = 80, recibidos = 52, perdidos = 28
(35% perdidos),
Tiempos aproximados de ida y vuelta en milisegundos:
Mínimo = 1ms, Máximo = 10ms, Media = 1ms
Control-C
^C
2.- Pruebas con un peer HSRP:
2.1.- Verificamos si utiliza la IP 10.0.0.1
(HSRP) para contactar el peer:
Podemos determinar que para transmitir utiliza la IP real de la interface, tal como se menciona en
la descripción del laboratorio, en esta captura 10.0.0.2 intenta encontrar el peer BGP 10.0.0.6.
2.2.- Capturando con una PC configurada con
la IP del peer BGP:
Realizamos esta prueba para verificar que sucede cuando el router tiene una respuesta ARP de la
IP del peer, puede verse que intenta establecer una sesión TCP al port 179 (BGP) y es rechazada
ya que la PC no corre procesos BGP.
2.3.- Captura del rechazo de peer A->C y
la negociación C->A:
Podemos analizar que el router A contacta al router C (10.0.0.6) utilizando la IP real (10.0.0.2),
este al no tenerlo configurado como peeer en el BGP rechaza la conexión. Luego el router C
contacta al router A a la IP virtual (10.0.0.1) configurada como peer en el BGP y la sesión se
establece. Tal como se mencionaba, la IP virtual es de “entrada” o para responder una vez
que se la utiliza, y no por tráfico generado por el propio router.
Router_A#debug ip bgp all
Jul 23 14:07:31.599: BGP: 10.0.0.6
active went from Idle to Active
Jul 23 14:07:31.599: BGP: 10.0.0.6
open active, local address 10.0.0.2
Jul 23 14:07:33.599: BGP: 10.0.0.6
open failed: Connection refused by remote host
---omitido---
Jul 23 14:07:52.063: BGP: 10.0.0.6
passive open to 10.0.0.1
Jul 23 14:07:52.063: BGP: 10.0.0.6
passive went from Idle to Connect
Jul 23 14:07:52.063: BGP: ses global
10.0.0.6 (0x84F94B8C:0) pas Setting open delay timer to 60 seconds.
Jul 23 14:07:52.067: BGP: 10.0.0.6
passive rcv message type 1, length (excl. header) 38
Jul 23 14:07:52.067: BGP: ses global
10.0.0.6 (0x84F94B8C:0) pas Receive OPEN
---omitido---
Router_A#
2.4.- Verificación inicial:
Router_A#sh standby
Vlan1 - Group 0
State is Active
5 state changes, last state change 00:06:46
Virtual IP address is 10.0.0.1
Active virtual MAC address is 0000.0c07.ac00
Local virtual MAC address is 0000.0c07.ac00 (v1 default)
Hello time 3 sec, hold time 10 sec
Next hello sent in 0.288 secs
Preemption enabled
Active router is local
Standby router is unknown
Priority 100 (default 100)
Group name is "hsrp-Vl1-0" (default)
Router_A#
Router_B#sh standby
Vlan1 - Group 0
State is Standby
7 state changes, last state change 00:00:06
Virtual IP address is 10.0.0.1
Active virtual MAC address is 0000.0c07.ac00
Local virtual MAC address is 0000.0c07.ac00 (v1 default)
Hello time 3 sec, hold time 10 sec
Next hello sent in 0.976 secs
Preemption disabled
Active router is 10.0.0.2, priority 100 (expires in 9.088 sec)
Standby router is local
Priority 90 (configured 90)
Group name is "hsrp-Vl1-0" (default)
Router_B#
Router_C#sh ip route
---resumido---
10.0.0.0/8 is variably subnetted, 2 subnets, 2 masks
C 10.0.0.0/29 is directly connected,
Vlan1
L 10.0.0.6/32 is directly connected,
Vlan1
192.168.2.0/24 is variably subnetted, 2 subnets, 2 masks
C 192.168.2.0/24 is directly connected,
Vlan2
L 192.168.2.1/32 is directly connected, Vlan2
B
192.168.10.0/24 [20/0] via 10.0.0.1, 00:00:23 (redes aprendidas vía Router_A)
B
192.168.20.0/24 [20/0] via 10.0.0.1, 00:00:23
B
192.168.30.0/24 [20/0] via 10.0.0.1, 00:00:23
Router_C#
2.5.- Simulamos caída de Router_A:
*Jul 19 12:43:38.721:
%LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0, changed state to
down
*Jul 19 12:43:39.733:
%LINK-3-UPDOWN: Interface FastEthernet0, changed state to down
*Jul 19 12:44:26.489:
%BGP-5-NBR_RESET: Neighbor 10.0.0.1 reset (Peer closed the session)
*Jul 19 12:44:26.489:
%BGP-5-ADJCHANGE: neighbor 10.0.0.1 Down Peer closed the session
*Jul 19 12:44:26.489:
%BGP_SESSION-5-ADJCHANGE: neighbor 10.0.0.1 IPv4 Unicast topology base removed
from/
/session Peer closed the session
Router_C#sh ip route (no hay
redes aprendidas por BGP)
---resumido---
10.0.0.0/8 is variably subnetted, 2 subnets, 2 masks
C 10.0.0.0/29 is directly connected, Vlan1
L 10.0.0.6/32 is directly connected,
Vlan1
192.168.2.0/24 is variably subnetted, 2 subnets, 2 masks
C 192.168.2.0/24 is directly connected,
Vlan2
L 192.168.2.1/32 is directly connected, Vlan2
Router_C#
Router_C#
*Jul 19 12:44:40.837:
%BGP-5-ADJCHANGE: neighbor 10.0.0.1 Up (Router_B se volvió Active y negoció
BGP con Router_C)
Router_C#
2.6.- Verificamos convergencia contra
Router_B:
Router_C#sh ip route
---resumido---
10.0.0.0/8 is variably subnetted, 2 subnets, 2 masks
C 10.0.0.0/29 is directly connected,
Vlan1
L 10.0.0.6/32 is directly connected,
Vlan1
192.168.2.0/24 is variably subnetted, 2 subnets, 2 masks
C 192.168.2.0/24 is directly connected,
Vlan2
L 192.168.2.1/32 is directly connected,
Vlan2
B
192.168.10.0/24 [20/0] via 10.0.0.1, 00:00:15 (redes aprendidas vía Router_B)
B
192.168.20.0/24 [20/0] via 10.0.0.1, 00:00:15
B
192.168.30.0/24 [20/0] via 10.0.0.1, 00:00:15
Router_C#
2.7.- Verificación de HSRP:
Router_B#sh standby
Vlan1 - Group 0
State is Active
8 state changes, last state change 00:02:18
Virtual IP address is 10.0.0.1
Active virtual MAC address is 0000.0c07.ac00
Local virtual MAC address is 0000.0c07.ac00 (v1 default)
Hello time 3 sec, hold time 10 sec
Next hello sent in 1.824 secs
Preemption disabled
Active router is local
Standby router is unknown
Priority 90 (configured 90)
Group name is "hsrp-Vl1-0" (default)
Router_B#
2.8.- Recuperación de la conectividad luego
de la conmutación de peers:
Tiempo de espera agotado para esta solicitud.
Tiempo de espera agotado para esta solicitud.
Tiempo de espera agotado para esta solicitud.
Respuesta desde 192.168.2.1: Host de destino inaccesible.
Respuesta desde 192.168.2.1: Host de destino inaccesible.
Respuesta desde 192.168.2.1: Host de destino inaccesible.
Respuesta desde 192.168.2.1: Host de destino inaccesible.
Respuesta desde 192.168.2.1: Host de destino inaccesible.
Tiempo de espera agotado para esta solicitud.
Respuesta desde 192.168.10.1: bytes=32 tiempo=1ms TTL=254
Respuesta desde 192.168.10.1: bytes=32 tiempo=1ms TTL=254
Respuesta desde 192.168.10.1: bytes=32 tiempo=1ms TTL=254
Respuesta desde 192.168.10.1: bytes=32 tiempo=1ms TTL=254
Respuesta desde 192.168.10.1: bytes=32 tiempo=1ms TTL=254
Respuesta desde 192.168.10.1: bytes=32 tiempo=1ms TTL=254
Respuesta desde 192.168.10.1: bytes=32 tiempo=1ms TTL=254
Respuesta desde 192.168.10.1: bytes=32 tiempo=1ms TTL=254
Respuesta desde 192.168.10.1: bytes=32 tiempo=1ms TTL=254
Estadísticas de ping para 192.168.10.1:
Paquetes: enviados = 35, recibidos = 26, perdidos = 9
(25% perdidos),
Tiempos aproximados de ida y vuelta en milisegundos:
Mínimo = 1ms, Máximo = 1ms, Media = 1ms
Control-C
^C
2.9.- Retorno del Router_A como activo
(debido al preempt):
Respuesta desde 192.168.10.1: bytes=32 tiempo=1ms TTL=254
Respuesta desde 192.168.10.1: bytes=32 tiempo=1ms TTL=254
Respuesta desde 192.168.10.1: bytes=32 tiempo=1ms TTL=254 (negocia activo)
Respuesta desde 192.168.2.1: Host de destino inaccesible.
Respuesta desde 192.168.2.1: Host de destino inaccesible.
Respuesta desde 192.168.2.1: Host de destino inaccesible.
Respuesta desde 192.168.2.1: Host de destino inaccesible.
Tiempo de espera agotado para esta solicitud.
Respuesta desde 192.168.2.1: Host de destino inaccesible.
Respuesta desde 192.168.2.1: Host de destino inaccesible.
Respuesta desde 192.168.2.1: Host de destino inaccesible.
Respuesta desde 192.168.10.1: bytes=32 tiempo=1ms TTL=254 (retorno vía preempt)
Respuesta desde 192.168.10.1: bytes=32 tiempo=1ms TTL=254
Respuesta desde 192.168.10.1: bytes=32 tiempo=1ms TTL=254
Respuesta desde 192.168.10.1: bytes=32 tiempo=1ms TTL=254
2.10.- Verificación de los router-id de los
peers que intervienen en el HSRP:
2.10.1.- En funcionamiento normal:
Router_C#sh ip bgp neighbors
BGP neighbor is 10.0.0.1, remote AS 34001,
external link
BGP version 4, remote router ID 192.168.30.1
BGP state = Established, up for 00:00:46
Last read 00:00:46, last write 00:00:45, hold time is 180, keepalive
interval is 60 seconds
Neighbor sessions:
1 active, is multisession capable (disabled)
---omitido---
Router_C#
*Jul 23 13:50:36.346: %LINEPROTO-5-UPDOWN:
Line protocol on Interface FastEthernet0, changed state to down
*Jul 23 13:50:37.358:
%LINK-3-UPDOWN: Interface FastEthernet0, changed state to down
*Jul 23 13:50:51.730:
%BGP-5-NBR_RESET: Neighbor 10.0.0.1 reset (Peer closed the session)
*Jul 23 13:50:51.730:
%BGP-5-ADJCHANGE: neighbor 10.0.0.1 Down Peer closed the session
*Jul 23 13:50:51.730:
%BGP_SESSION-5-ADJCHANGE: neighbor 10.0.0.1 IPv4 Unicast topology base removed
from session Peer closed the session
*Jul 23 13:50:59.638: %BGP-5-ADJCHANGE:
neighbor 10.0.0.1 Up
Router_C#
2.10.1.- En contingencia:
Router_C#sh ip bgp neighbors
BGP neighbor is 10.0.0.1, remote AS 34001,
external link
BGP version 4, remote router ID 192.168.30.2
BGP state = Established, up for 00:01:43
Last read 00:00:01, last write 00:00:01, hold time is 180, keepalive
interval is 60 seconds
Neighbor sessions:
1 active, is not multisession capable (disabled)
---omitido---
Router_C#
2.11.- Se configuran mismos router-id (para
agilizar la convergencia ?):
Router_A#conf t
Enter configuration commands, one
per line. End with CNTL/Z.
Router_A(config)#router bgp 34001
Router_A(config-router)#bgp router-id 10.0.0.1
Router_A(config-router)#end
Router_A#
Router_A#clear ip bgp * (reiniciamos
BGP)
Router_A#
Router_B#conf t
Enter configuration commands, one
per line. End with CNTL/Z.
Router_B(config)#router bgp 34001
Router_B(config-router)#bgp router-id 10.0.0.1
Router_B(config-router)#end
Router_B#
Router_B#clear ip bgp * (reiniciamos
BGP)
Router_B#
2.12.- Verificamos en funcionamiento
normal:
Router_C#sh ip bgp neighbors
BGP neighbor is 10.0.0.1, remote AS 34001, external link
BGP version 4, remote router ID 10.0.0.1
BGP state = Established, up for 00:00:11
Last read 00:00:11, last write 00:00:11, hold time is 180, keepalive
interval is 60 seconds
Neighbor sessions:
1 active, is not multisession capable (disabled)
---omitido---
Router_C#
2.13.- Verificamos en contingencia:
Router_C#sh ip bgp neighbors
BGP neighbor is 10.0.0.1, remote AS 34001, external link
BGP version 4, remote router ID 10.0.0.1
BGP state = Established, up for 00:00:35
Last read 00:00:35, last write 00:00:35, hold time is 180, keepalive
interval is 60 seconds
Neighbor sessions:
1 active, is not multisession capable (disabled)
---omitido---
Router_C#
2.14.- Tiempos de convergencia con este
método:
Respuesta desde 192.168.10.1: bytes=32 tiempo=1ms TTL=254
Respuesta desde 192.168.10.1: bytes=32 tiempo=1ms TTL=254
Respuesta desde 192.168.10.1: bytes=32 tiempo=1ms TTL=254
Tiempo de espera agotado para esta solicitud.
Tiempo de espera agotado para esta solicitud.
Tiempo de espera agotado para esta solicitud.
Tiempo de espera agotado para esta solicitud.
Tiempo de espera agotado para esta solicitud.
Tiempo de espera agotado para esta solicitud.
Tiempo de espera agotado para esta solicitud.
Respuesta desde 192.168.2.1: Host de destino inaccesible.
Respuesta desde 192.168.2.1: Host de destino inaccesible.
Respuesta desde 192.168.2.1: Host de destino inaccesible.
Tiempo de espera agotado para esta solicitud.
Respuesta desde 192.168.10.1: bytes=32 tiempo=1ms TTL=254
Respuesta desde 192.168.10.1: bytes=32 tiempo=1ms TTL=254
Respuesta desde 192.168.10.1: bytes=32 tiempo=1ms TTL=254
3.- Configuración de los equipos:
Router_A#sh runn (sólo lo mas relevante)
Building configuration...
Current configuration : 1563 bytes
!
hostname Router_A
!
interface FastEthernet0
description Backbone BGP
!
interface FastEthernet1
!
interface FastEthernet2
!
interface FastEthernet3
switchport trunk allowed vlan
1,10,20,30,1001-1005
switchport mode trunk
!
!
interface Vlan1
ip address 10.0.0.2 255.255.255.248
standby 0 ip 10.0.0.1
standby 0 preempt
!
interface Vlan10
ip address 192.168.10.1 255.255.255.0
!
interface Vlan20
ip address 192.168.20.1 255.255.255.0
!
interface Vlan30
ip address 192.168.30.1 255.255.255.0
!
router bgp 34001
no synchronization
bgp log-neighbor-changes
network 192.168.10.0
network 192.168.20.0
network 192.168.30.0
neighbor 10.0.0.6 remote-as 34000
no auto-summary
!
end
Router_A#
Router_B# sh runn (sólo lo mas relevante)
Building configuration...
Current configuration : 1344 bytes
!
hostname Router_B
!
interface FastEthernet0
description Backbone BGP
!
interface FastEthernet1
!
interface FastEthernet2
!
interface FastEthernet3
switchport trunk allowed vlan
1,10,20,30,1001-1005
switchport mode trunk
!
interface FastEthernet4
!
interface Vlan1
ip address 10.0.0.3 255.255.255.0
standby 0 ip 10.0.0.1
standby 0 priority 90
!
interface Vlan10
ip address 192.168.10.1 255.255.255.0 (para facilitar las pruebas es misma IP que Router_A
! pero
sin conectar al mismo segmento para no tener
interface Vlan20 IPs duplicadas ni problemas de ARP)
ip address 192.168.20.1 255.255.255.0
!
interface Vlan30
ip address 192.168.30.1 255.255.255.0
!
router bgp 34001
bgp log-neighbor-changes
network 192.168.10.0
network 192.168.20.0
network 192.168.30.0
neighbor 10.0.0.6 remote-as 34000
!
end
Router_B#
Router_C# sh runn (sólo lo mas
relevante)
Building configuration...
Current configuration : 1592 bytes
!
hostname Router_C
!
interface FastEthernet0
description Backbone BGP
spanning-tree portfast
!
interface FastEthernet1
description Backbone BGP
spanning-tree portfast
!
interface FastEthernet2
description Port Mirroring Wireshark
!
interface FastEthernet3
switchport access vlan 2
!
interface FastEthernet4
!
interface Vlan1
ip address 10.0.0.6 255.255.255.248
!
interface Vlan2
ip address 192.168.2.1 255.255.255.0
!
router bgp 34000
bgp log-neighbor-changes
network 192.168.2.0
neighbor 10.0.0.1 remote-as 34001
!
monitor session 1 source interface
Fa0
monitor session 1 destination
interface Fa2
!
end
Router_C#
(2019) Packets for everybody
Rosario, Argentina