Sesiones de múltiples saltos de BGP
Descripción del multisalto del EBGP
El BGP es un protocolo de puerta de enlace exterior (EGP) que se usa para intercambiar información de enrutamiento entre enrutadores de diferentes sistemas autónomos (AS). A continuación se muestran dos maneras de establecer el multisalto de EBGP entre enrutadores:
-
Cuando los pares externos de BGP (EBGP) no están directamente conectados entre sí, deben cruzar uno o más enrutadores que no son de BGP para comunicarse entre sí.
La configuración de EBGP de múltiples saltos permite que los pares pasen a través de los otros enrutadores para formar relaciones de pares e intercambiar mensajes de actualización. Este tipo de configuración se utiliza normalmente cuando un dispositivo de enrutamiento de Juniper Networks necesita ejecutar EBGP con un enrutador de terceros que no permita la conexión directa de los dos pares EBGP. El salto múltiple de EBGP habilita una conexión de vecino entre dos pares de EBGP que no tienen una conexión directa.
-
El comportamiento predeterminado de una conexión EBGP es emparejarse a través de un único salto físico utilizando la dirección de interfaz física del par. En algunos casos, es ventajoso alterar este comportamiento de EBGP de emparejamiento físico predeterminado de un salto. Uno de estos casos es cuando varios vínculos físicos conectan dos enrutadores que van a ser pares EBGP. En este caso, si uno de los vínculos punto a punto falla, la accesibilidad en el vínculo alternativo sigue existiendo.
EBGP
En la ilustración 1, el enrutador R1 pertenece al AS 1 y el enrutador R2 pertenece al AS 2. Los dos vínculos físicos entre los enrutadores se utilizan para el equilibrio de carga. El emparejamiento de múltiples saltos del EBGP también funciona con un vínculo físico.
El siguiente ejemplo de configuración ayuda a establecer una única sesión de emparejamiento de BGP en estos múltiples vínculos físicos:
-
Cada enrutador debe establecer la sesión de emparejamiento con la dirección de circuito cerrado del enrutador remoto. Puede configurar esta sesión mediante la
local-addressinstrucción, la cual modifica la información del encabezado de la dirección del par en los paquetes BGP. -
Utilice la
multihopinstrucción para modificar el uso predeterminado de la dirección física del vecino. Además, también puede especificar un valor de tiempo de vida (TTL) en los paquetes BGP para controlar hasta dónde se propagan. Utilizamos un valor TTL de 1 para garantizar que la sesión no se pueda establecer a través de ningún otro vínculo de puerta trasera de la red.Nota:Cuando se configura multisalto, Junos OS establece el valor TTL de 64 de forma predeterminada.
Un valor TTL de 1 es suficiente para habilitar una sesión de EBGP a la dirección de circuito cerrado de un vecino conectado directamente.
-
Cada enrutador debe tener capacidad de enrutamiento IP a la dirección de circuito cerrado del enrutador remoto. Esta capacidad suele lograrse mediante el uso de una ruta estática para asignar la dirección de circuito cerrado a las direcciones físicas de la interfaz.
[edit protocols bgp group ext-peers]
type external;
local-address 192.168.3.4;
neighbor 172.16.128.1 {
multihop ttl 1;
}
[edit routing-options]
static {
route 172.16.128.1 next-hop (10.10.1.1 | 10.10.2.1);
}
Ver también
Ejemplo: configuración de sesiones de varios saltos del EBGP
En este ejemplo, se muestra cómo configurar un par BGP externo (EBGP) que esté a más de un salto del enrutador local. Este tipo de sesión se denomina sesión de BGP de varios saltos .
Requisitos
No se necesita ninguna configuración especial más allá de la inicialización del dispositivo antes de configurar este ejemplo.
Descripción general
La configuración para habilitar sesiones de EBGP de varios saltos requiere conectividad entre los dos pares EBGP. En este ejemplo, se utilizan rutas estáticas para proporcionar conectividad entre los dispositivos.
A diferencia de las sesiones de EBGP conectadas directamente en las que normalmente se utilizan direcciones físicas en las neighbor instrucciones, debe utilizar direcciones de interfaz de circuito cerrado para EBGP de varios saltos especificando la dirección de interfaz de circuito cerrado del par conectado indirectamente. De esta manera, el multisalto del EBGP es similar al BGP interno (IBGP).
Por último, debe agregar la multihop instrucción. Opcionalmente, puede establecer un valor máximo de tiempo de vida (TTL) con la ttl instrucción. El TTL se lleva en el encabezado IP de los paquetes BGP. Si no especifica un valor TTL, se utilizará el valor TTL máximo predeterminado del sistema. El valor TTL predeterminado es 64 para sesiones EBGP de varios saltos. Otra opción es conservar el valor del próximo salto del BGP para los anuncios de ruta incluyendo la no-nexthop-change instrucción.
La Figura 2 muestra una red típica de EBGP de múltiples saltos.
Los dispositivos C y E tienen una sesión de EBGP establecida. El dispositivo D no es un dispositivo habilitado para BGP. Todos los dispositivos tienen conectividad a través de rutas estáticas.
de múltiples saltos del EBGP
Configuración
- Configuración rápida de CLI
- Dispositivo C
- Configuración del dispositivo D
- Configuración del dispositivo E
Configuración rápida de CLI
Para configurar rápidamente este ejemplo, copie los siguientes comandos, péguelos en un archivo de texto, elimine los saltos de línea, cambie los detalles necesarios para que coincidan con su configuración de red y, luego, copie y pegue los comandos en la CLI en el nivel jerárquico [edit] .
Dispositivo C
set interfaces fe-1/2/0 unit 9 description to-D set interfaces fe-1/2/0 unit 9 family inet address 10.10.10.9/30 set interfaces lo0 unit 3 family inet address 192.168.40.4/32 set protocols bgp group external-peers type external set protocols bgp group external-peers multihop ttl 2 set protocols bgp group external-peers local-address 192.168.40.4 set protocols bgp group external-peers export send-static set protocols bgp group external-peers peer-as 18 set protocols bgp group external-peers neighbor 192.168.6.7 set policy-options policy-statement send-static term 1 from protocol static set policy-options policy-statement send-static term 1 then accept set routing-options static route 10.10.10.14/32 next-hop 10.10.10.10 set routing-options static route 192.168.6.7/32 next-hop 10.10.10.10 set routing-options router-id 192.168.40.4 set routing-options autonomous-system 17
Dispositivo D
set interfaces fe-1/2/0 unit 10 description to-C set interfaces fe-1/2/0 unit 10 family inet address 10.10.10.10/30 set interfaces fe-1/2/1 unit 13 description to-E set interfaces fe-1/2/1 unit 13 family inet address 10.10.10.13/30 set interfaces lo0 unit 4 family inet address 192.168.6.6/32 set routing-options static route 192.168.40.4/32 next-hop 10.10.10.9 set routing-options static route 192.168.6.7/32 next-hop 10.10.10.14 set routing-options router-id 192.168.6.6
Dispositivo E
set interfaces fe-1/2/0 unit 14 description to-D set interfaces fe-1/2/0 unit 14 family inet address 10.10.10.14/30 set interfaces lo0 unit 5 family inet address 192.168.6.7/32 set protocols bgp group external-peers multihop ttl 2 set protocols bgp group external-peers local-address 192.168.6.7 set protocols bgp group external-peers export send-static set protocols bgp group external-peers peer-as 17 set protocols bgp group external-peers neighbor 192.168.40.4 set policy-options policy-statement send-static term 1 from protocol static set policy-options policy-statement send-static term 1 then accept set routing-options static route 10.10.10.8/30 next-hop 10.10.10.13 set routing-options static route 192.168.40.4/32 next-hop 10.10.10.13 set routing-options router-id 192.168.6.7 set routing-options autonomous-system 18
Dispositivo C
Procedimiento paso a paso
En el ejemplo siguiente, debe explorar por varios niveles en la jerarquía de configuración. Para obtener más información acerca de cómo navegar por la CLI, consulte Uso del editor de CLI en el modo de configuración de la Guía del usuario de la CLI de Junos OS.
Para configurar el dispositivo C:
-
Configure la interfaz al dispositivo conectado directamente (To-D) y configure la interfaz de circuito cerrado.
[edit interfaces fe-1/2/0 unit 9] user@C# set description to-D user@C# set family inet address 10.10.10.9/30 [edit interfaces lo0 unit 3] user@C# set family inet address 192.168.40.4/32
-
Configure una sesión de EBGP con el dispositivo E.
La
neighborinstrucción apunta a la interfaz de circuito cerrado en el dispositivo E.[edit protocols bgp group external-peers] user@C# set type external user@C# set local-address 192.168.40.4 user@C# set export send-static user@C# set peer-as 18 user@C# set neighbor 192.168.6.7
-
Configure la instrucción multihop para permitir que los dispositivos C y E se conviertan en pares EBGP.
Dado que los pares están a dos saltos el uno del otro, el ejemplo utiliza la
ttl 2instrucción.[edit protocols bgp group external-peers] user@C# set multihop ttl 2
-
Configure la conectividad con el dispositivo E mediante rutas estáticas.
Debe configurar una ruta tanto a la dirección de interfaz de circuito cerrado como a la dirección de la interfaz física.
[edit routing-options] user@C# set static route 10.10.10.14/32 next-hop 10.10.10.10 user@C# set static route 192.168.6.7/32 next-hop 10.10.10.10
-
Configure el ID del enrutador local y el número de sistema autónomo (AS).
[edit routing-options] user@C# set router-id 192.168.40.4 user@C# set autonomous-system 17
-
Configure una política que acepte rutas directas.
Otras opciones útiles para este escenario podrían ser aceptar rutas aprendidas a través de OSPF o rutas locales.
[edit policy-options policy-statement send-static term 1] user@C# set from protocol static user@C# set then accept
Resultados
Desde el modo de configuración, ingrese los comandos , show protocolsy show policy-optionsshow routing-options para confirmar la show interfacesconfiguración. Si el resultado no muestra la configuración deseada, repita las instrucciones de este ejemplo para corregirla.
user@C# show interfaces
fe-1/2/0 {
unit 9 {
description to-D;
family inet {
address 10.10.10.9/30;
}
}
}
lo0 {
unit 3 {
family inet {
address 192.168.40.4/32;
}
}
}
user@C# show protocols
bgp {
group external-peers {
type external;
multihop {
ttl 2;
}
local-address 192.168.40.4;
export send-static;
peer-as 18;
neighbor 192.168.6.7;
}
}
user@C# show policy-options
policy-statement send-static {
term 1 {
from protocol static;
then accept;
}
}
user@C# show routing-options
static {
route 10.10.10.14/32 next-hop 10.10.10.10;
route 192.168.6.7/32 next-hop 10.10.10.10;
}
router-id 192.168.40.4;
autonomous-system 17;
Cuando termine de configurar el dispositivo, ingrese commit desde el modo de configuración. Repita estos pasos para todas las sesiones de BGP en la topología.
Configuración del dispositivo D
Procedimiento paso a paso
En el ejemplo siguiente, debe explorar por varios niveles en la jerarquía de configuración. Para obtener más información acerca de cómo navegar por la CLI, consulte Uso del editor de CLI en el modo de configuración de la Guía del usuario de la CLI de Junos OS.
Para configurar el dispositivo D:
-
Establezca la CLI en el dispositivo D.
user@host> set cli logical-system D
-
Configure las interfaces de los dispositivos conectados directamente y configure una interfaz de circuito cerrado.
[edit interfaces fe-1/2/0 unit 10] user@D# set description to-C user@D# set family inet address 10.10.10.10/30 [edit interfaces fe-1/2/1 unit 13] user@D# set description to-E user@D# set family inet address 10.10.10.13/30 [edit interfaces lo0 unit 4] user@D# set family inet address 192.168.6.6/32
-
Configure la conectividad con los otros dispositivos mediante rutas estáticas a las direcciones de interfaz de circuito cerrado.
En el dispositivo D, no necesita rutas estáticas a las direcciones físicas, ya que el dispositivo D está conectado directamente a los dispositivos C y E.
[edit routing-options] user@D# set static route 192.168.40.4/32 next-hop 10.10.10.9 user@D# set static route 192.168.6.7/32 next-hop 10.10.10.14
-
Configure el ID del enrutador local.
[edit routing-options] user@D# set router-id 192.168.6.6
Resultados
Desde el modo de configuración, ingrese los comandos y show routing-options para confirmar la show interfaces configuración. Si el resultado no muestra la configuración deseada, repita las instrucciones de este ejemplo para corregirla.
user@D# show interfaces
fe-1/2/0 {
unit 10 {
description to-C;
family inet {
address 10.10.10.10/30;
}
}
}
fe-1/2/1 {
unit 13 {
description to-E;
family inet {
address 10.10.10.13/30;
}
}
}
lo0 {
unit 4 {
family inet {
address 192.168.6.6/32;
}
}
}
user@D# show protocols
user@D# show routing-options
static {
route 192.168.40.4/32 next-hop 10.10.10.9;
route 192.168.6.7/32 next-hop 10.10.10.14;
}
router-id 192.168.6.6;
Cuando termine de configurar el dispositivo, ingrese commit desde el modo de configuración. Repita estos pasos para todas las sesiones de BGP en la topología.
Configuración del dispositivo E
Procedimiento paso a paso
En el ejemplo siguiente, debe explorar por varios niveles en la jerarquía de configuración. Para obtener más información acerca de cómo navegar por la CLI, consulte Uso del editor de CLI en el modo de configuración de la Guía del usuario de la CLI de Junos OS.
Para configurar el dispositivo E:
-
Establezca la CLI en el dispositivo E.
user@host> set cli logical-system E
-
Configure la interfaz al dispositivo conectado directamente (To-D) y configure la interfaz de circuito cerrado.
[edit interfaces fe-1/2/0 unit 14] user@E# set description to-D user@E# set family inet address 10.10.10.14/30 [edit interfaces lo0 unit 5] user@E# set family inet address 192.168.6.7/32
-
Configure una sesión de EBGP con el dispositivo E.
La
neighborinstrucción apunta a la interfaz de circuito cerrado en el dispositivo C.[edit protocols bgp group external-peers] user@E# set local-address 192.168.6.7 user@E# set export send-static user@E# set peer-as 17 user@E# set neighbor 192.168.40.4
-
Configure la instrucción para permitir que los dispositivos C y E
multihopse conviertan en pares EBGP.Dado que los pares están a dos saltos el uno del otro, el ejemplo utiliza la
ttl 2instrucción.[edit protocols bgp group external-peers] user@E# set multihop ttl 2
-
Configure la conectividad con el dispositivo E mediante rutas estáticas.
Debe configurar una ruta tanto a la dirección de interfaz de circuito cerrado como a la dirección de la interfaz física.
[edit routing-options] user@E# set static route 10.10.10.8/30 next-hop 10.10.10.13 user@E# set static route 192.168.40.4/32 next-hop 10.10.10.13
-
Configure el ID del enrutador local y el número de sistema autónomo (AS).
[edit routing-options] user@E# set router-id 192.168.6.7 user@E# set autonomous-system 18
-
Configure una política que acepte rutas directas.
Otras opciones útiles para este escenario podrían ser aceptar rutas aprendidas a través de OSPF o rutas locales.
[edit policy-options policy-statement send-static term 1] user@E# set from protocol static user@E# set then accept
Resultados
Desde el modo de configuración, ingrese los comandos , show protocolsy show policy-optionsshow routing-options para confirmar la show interfacesconfiguración. Si el resultado no muestra la configuración deseada, repita las instrucciones de este ejemplo para corregirla.
user@E# show interfaces
fe-1/2/0 {
unit 14 {
description to-D;
family inet {
address 10.10.10.14/30;
}
}
}
lo0 {
unit 5 {
family inet {
address 192.168.6.7/32;
}
}
}
user@E# show protocols
bgp {
group external-peers {
multihop {
ttl 2;
}
local-address 192.168.6.7;
export send-static;
peer-as 17;
neighbor 192.168.40.4;
}
}
user@E# show policy-options
policy-statement send-static {
term 1 {
from protocol static;
then accept;
}
}
user@E# show routing-options
static {
route 10.10.10.8/30 next-hop 10.10.10.13;
route 192.168.40.4/32 next-hop 10.10.10.13;
}
router-id 192.168.6.7;
autonomous-system 18;
Cuando termine de configurar el dispositivo, ingrese commit desde el modo de configuración.
Verificación
Confirme que la configuración funcione correctamente.
Verificar la conectividad
Propósito
Asegúrese de que el dispositivo C pueda hacer ping al dispositivo E, especificando la dirección de interfaz de circuito cerrado como origen de la solicitud de ping.
La dirección de interfaz de circuito cerrado es la dirección de origen que usará el BGP.
Acción
Desde el modo operativo, ingrese el comando desde el ping 10.10.10.14 source 192.168.40.4 dispositivo C e ingrese el comando desde el ping 10.10.10.9 source 192.168.6.7 dispositivo E.
user@C> ping 10.10.10.14 source 192.168.40.4 PING 10.10.10.14 (10.10.10.14): 56 data bytes 64 bytes from 10.10.10.14: icmp_seq=0 ttl=63 time=1.262 ms 64 bytes from 10.10.10.14: icmp_seq=1 ttl=63 time=1.202 ms ^C --- 10.10.10.14 ping statistics --- 2 packets transmitted, 2 packets received, 0% packet loss round-trip min/avg/max/stddev = 1.202/1.232/1.262/0.030 ms
user@E> ping 10.10.10.9 source 192.168.6.7 PING 10.10.10.9 (10.10.10.9): 56 data bytes 64 bytes from 10.10.10.9: icmp_seq=0 ttl=63 time=1.255 ms 64 bytes from 10.10.10.9: icmp_seq=1 ttl=63 time=1.158 ms ^C --- 10.10.10.9 ping statistics --- 2 packets transmitted, 2 packets received, 0% packet loss round-trip min/avg/max/stddev = 1.158/1.206/1.255/0.049 ms
Significado
Las rutas estáticas funcionan si los pings funcionan.
Verificar que las sesiones de BGP estén establecidas
Propósito
Compruebe que las sesiones del BGP estén activas.
Acción
Desde el modo operativo, introduzca el show bgp summary comando.
user@C> show bgp summary Groups: 1 Peers: 1 Down peers: 0 Table Tot Paths Act Paths Suppressed History Damp State Pending inet.0 2 0 0 0 0 0 Peer AS InPkt OutPkt OutQ Flaps Last Up/Dwn State|#Active/Received/Accepted/Damped... 192.168.6.7 18 147 147 0 1 1:04:27 0/2/2/0 0/0/0/0
user@E> show bgp summary Groups: 1 Peers: 1 Down peers: 0 Table Tot Paths Act Paths Suppressed History Damp State Pending inet.0 2 0 0 0 0 0 Peer AS InPkt OutPkt OutQ Flaps Last Up/Dwn State|#Active/Received/Accepted/Damped... 192.168.40.4 17 202 202 0 1 1:02:18 0/2/2/0 0/0/0/0
Significado
El resultado muestra que ambos dispositivos tienen un par cada uno. Ningún par ha caído en acción.
Ver rutas anunciadas
Propósito
Compruebe que el BGP anuncia rutas.
Acción
Desde el modo operativo, introduzca el show route advertising-protocol bgp neighbor comando.
user@E> show route advertising-protocol bgp 192.168.6.7 inet.0: 5 destinations, 7 routes (5 active, 0 holddown, 0 hidden) Prefix Nexthop MED Lclpref AS path * 10.10.10.14/32 Self I * 192.168.6.7/32 Self I
user@C> show route advertising-protocol bgp 192.168.40.4 inet.0: 5 destinations, 7 routes (5 active, 0 holddown, 0 hidden) Prefix Nexthop MED Lclpref AS path * 10.10.10.8/30 Self I * 192.168.40.4/32 Self I
Significado
La send-static política de enrutamiento exporta las rutas estáticas de la tabla de enrutamiento al BGP. El BGP anuncia estas rutas entre los pares porque se ha establecido la sesión del par BGP.