EN ESTA PÁGINA
Ejemplo: Configuración de rutas BGP IPv6 mediante transporte IPv4
Descripción general de la publicidad de rutas IPv4 a través de sesiones IPv6 de BGP
Ejemplo: Publicidad de rutas IPv4 a través de sesiones de BGP IPv6
Descripción de la redistribución de rutas IPv4 con el siguiente salto de IPv6 al BGP
Configuración del BGP para redistribuir rutas IPv4 con direcciones IPv6 de próximo salto
Descripción de rutas de flujo BGP para el filtrado de tráfico
Ejemplo: Permitir que el BGP lleve rutas de especificación de flujo
Ejemplo: Configuración del BGP para transportar rutas de especificación de flujo IPv6
Reenvío de tráfico mediante la acción DSCP de la especificación de flujo del BGP
BGP de múltiples protocolos
Descripción del BGP multiprotocolo
El BGP multiprotocolo (MP-BGP) es una extensión del BGP que permite que el BGP transporte información de enrutamiento para varias capas de red y familias de direcciones. MP-BGP puede transportar las rutas de unidifusión utilizadas para el enrutamiento de multidifusión por separado de las rutas utilizadas para el reenvío de IP de unidifusión.
Para habilitar MP-BGP, configure el BGP para que lleve la información de accesibilidad de la capa de red (NLRI) para familias de direcciones distintas a la IPv4 de unidifusión mediante la inclusión de la family inet
instrucción:
family inet { (any | flow | labeled-unicast | multicast | unicast) { accepted-prefix-limit { maximum number; teardown <percentage> <idle-timeout (forever | minutes)>; drop-excess <percentage>; hide-excess <percentage>;} } <loops number>; prefix-limit { maximum number; teardown <percentage> <idle-timeout (forever | minutes)>; drop-excess <percentage>; hide-excess <percentage>;} } rib-group group-name; topology name { community { target identifier; } } } }
Para permitir que MP-BGP lleve NLRI para la familia de direcciones IPv6, incluya la family inet6
instrucción:
family inet6 { (any | labeled-unicast | multicast | unicast) { accepted-prefix-limit { maximum number; teardown <percentage> <idle-timeout (forever | minutes)>; drop-excess <percentage>; hide-excess <percentage>;} } <loops number>; prefix-limit { maximum number; teardown <percentage> <idle-timeout (forever | minutes)>; drop-excess <percentage>; hide-excess <percentage>;} } rib-group group-name; } }
Solo en enrutadores, para permitir que MP-BGP lleve NLRI de red privada virtual (VPN) de capa 3 para la familia de direcciones IPv4, incluya la family inet-vpn
instrucción:
family inet-vpn { (any | flow | multicast | unicast) { accepted-prefix-limit { maximum number; teardown <percentage> <idle-timeout (forever | minutes)>; drop-excess <percentage>; hide-excess <percentage>;} } <loops number>; prefix-limit { maximum number; teardown <percentage> <idle-timeout (forever | minutes)>; drop-excess <percentage>; hide-excess <percentage>;} } rib-group group-name; } }
Solo en enrutadores, para permitir que MP-BGP lleve NLRI VPN de capa 3 para la familia de direcciones IPv6, incluya la family inet6-vpn
instrucción:
family inet6-vpn { (any | multicast | unicast) { accepted-prefix-limit { maximum number; teardown <percentage> <idle-timeout (forever | minutes)>; drop-excess <percentage>; hide-excess <percentage>;} } <loops number>; prefix-limit { maximum number; teardown <percentage> <idle-timeout (forever | minutes)>; drop-excess <percentage>; hide-excess <percentage>;}} rib-group group-name; } }
Solo en enrutadores, para habilitar MP-BGP para transportar NLRI VPN de multidifusión para la familia de direcciones IPv4 y habilitar la señalización VPN, incluya la family inet-mvpn
instrucción:
family inet-mvpn { signaling { accepted-prefix-limit { maximum number; teardown <percentage> <idle-timeout (forever | minutes)>; drop-excess <percentage>; hide-excess <percentage>;}} <loops number>; prefix-limit { maximum number; teardown <percentage> <idle-timeout (forever | minutes)>; drop-excess <percentage>; hide-excess <percentage>;}} } }
Para permitir que MP-BGP lleve NLRI VPN de multidifusión para la familia de direcciones IPv6 y habilitar la señalización VPN, incluya la family inet6-mvpn
instrucción:
family inet6-mvpn { signaling { accepted-prefix-limit { maximum number; teardown <percentage> <idle-timeout (forever | minutes)>; drop-excess <percentage>; hide-excess <percentage>;}} <loops number>; prefix-limit { maximum number; teardown <percentage> <idle-timeout <forever | minutes>; drop-excess <percentage>; hide-excess <percentage>;}} } }
Para obtener más información acerca de las VPN de multidifusión basadas en BGP multiprotocolo, consulte la Guía del usuario de los protocolos de multidifusión de Junos OS.
Para obtener una lista de niveles de jerarquía en los que puede incluir estas instrucciones, consulte las secciones de resumen de instrucciones de estas instrucciones.
Si cambia la familia de direcciones especificada en el [edit protocols bgp family]
nivel de jerarquía, todas las sesiones de BGP actuales en el dispositivo de enrutamiento se pierden y, luego, se restablece.
En la versión 9.6 y posteriores de Junos OS, puede especificar un valor de bucles para una familia de direcciones BGP específica.
De forma predeterminada, los pares del BGP solo llevan rutas de unidifusión utilizadas para el reenvío de unidifusión. Para configurar los pares del BGP para que solo transporten rutas de multidifusión, especifique la multicast
opción. Para configurar los pares del BGP para que transporten rutas de unidifusión y multidifusión, especifique la any
opción.
Cuando se configura MP-BGP, BGP instala las rutas MP-BGP en diferentes tablas de enrutamiento. Cada tabla de enrutamiento se identifica mediante el indicador de familia de protocolo o familia de direcciones (AFI) y un identificador de familia de direcciones posterior (SAFI).
La siguiente lista muestra todas las combinaciones posibles de AFI y SAFI:
AFI=1, SAFI=1, unidifusión IPv4
AFI=1, SAFI=2, multidifusión IPv4
Unidifusión AFI=1, SAFI=128, unidifusión L3VPN IPv4
AFI=1, SAFI=129, multidifusión L3VPN IPv4
AFI=2, SAFI=1, unidifusión IPv6
AFI=2, SAFI=2, multidifusión IPv6
AFI=25, SAFI=65, BGP-VPLS/BGP-L2VPN
AFI=2, SAFI=128, unidifusión L3VPN IPv6
AFI=2, SAFI=129, multidifusión L3VPN IPv6
AFI=1, SAFI=132, RT-Restrict
AFI=1, SAFI=133, especificaciones de flujo
AFI=1, SAFI=134, especificaciones de flujo
AFI=3, SAFI=128, CLNS VPN
AFI=1, SAFI=5, NG-MVPN IPv4
AFI=2, SAFI=5, NG-MVPN IPv6
AFI=1, SAFI=66, MDT-SAFI
AFI=1, SAFI=4, etiquetado como IPv4
AFI=2, SAFI=4, etiquetado como IPv6 (6PE)
Las rutas instaladas en la tabla de enrutamiento inet.2 solo se pueden exportar a los pares MP-BGP porque utilizan la SAFI, identificándolas como rutas a orígenes de multidifusión. Las rutas instaladas en la tabla de enrutamiento inet.0 solo se pueden exportar a los pares BGP estándar.
La tabla de enrutamiento inet.2 debe ser un subconjunto de las rutas que tenga en inet.0, ya que es poco probable que tenga una ruta a un origen de multidifusión a la que no se puede enviar tráfico de unidifusión. La tabla de enrutamiento inet.2 almacena las rutas de unidifusión que se utilizan para las comprobaciones de reenvío de ruta inversa de multidifusión y la información adicional de accesibilidad aprendida por MP-BGP de las actualizaciones de multidifusión NLRI. Una tabla de enrutamiento inet.2 se crea automáticamente al configurar MP-BGP (estableciendo NLRI en any
).
Cuando active MP-BGP, puede hacer lo siguiente:
- Limitar el número de prefijos recibidos en una sesión par de BGP
- Limitar el número de prefijos aceptados en una sesión par de BGP
- Configuración de grupos de tabla de enrutamiento BGP
- Resolución de rutas a dispositivos de enrutamiento de PE ubicados en otros AS
- Permitir rutas etiquetadas y no etiquetadas
Limitar el número de prefijos recibidos en una sesión par de BGP
Puede limitar el número de prefijos recibidos en una sesión par del BGP y los mensajes con velocidad de registro limitada cuando el número de prefijos inyectados supera un límite establecido. También puede derribar el emparejamiento cuando el número de prefijos supera el límite.
Para configurar un límite para el número de prefijos que se pueden recibir en una sesión de BGP, incluya la prefix-limit
instrucción:
prefix-limit { maximum number; teardown <percentage> <idle-timeout (forever | minutes)>; drop-excess <percentage>; hide-excess <percentage>; }
Para obtener una lista de niveles de jerarquía en los que puede incluir esta instrucción, consulte la sección resumen de instrucción de esta instrucción.
Para maximum number
, especifique un valor en el intervalo de 1 a 4.294.967.295. Cuando se supera el número máximo especificado de prefijos, se envía un mensaje de registro del sistema.
Si incluye la teardown
instrucción, la sesión se destruye cuando se supera el número máximo de prefijos. Si especifica un porcentaje, los mensajes se registran cuando el número de prefijos supera ese porcentaje del límite máximo especificado. Después de que la sesión se derriba, se restablece en poco tiempo (a menos que incluya la idle-timeout
instrucción). Si incluye la idle-timeout
instrucción, la sesión se puede mantener desactivada durante un tiempo específico o para siempre. Si especifica forever
, la sesión se restablece solo después de que se emita un clear bgp neighbor
comando. Si incluye la drop-excess <percentage>
opción, el exceso de rutas se pierde cuando se alcanza el número máximo de prefijos. Si especifica un porcentaje, las rutas se registran cuando el número de prefijos supera ese valor de porcentaje del número máximo. Si incluye la hide-excess <percentage>
opción, el exceso de rutas se oculta cuando se alcanza el número máximo de prefijos. Si especifica un porcentaje, las rutas se registran cuando el número de prefijos supera ese valor de porcentaje del número máximo. Si se modifica el porcentaje, las rutas se vuelven a evaluar automáticamente. Si las rutas activas caen por debajo del porcentaje especificado, esas rutas se mantienen ocultas.
En la versión 9.2 y posteriores de Junos OS, puede configurar alternativamente un límite para el número de prefijos que se pueden aceptar en una sesión par de BGP. Para obtener más información, consulte Limitar el número de prefijos aceptados en una sesión par de BGP.
Limitar el número de prefijos aceptados en una sesión par de BGP
En la versión 9.2 y posteriores de Junos OS, puede limitar el número de prefijos que se pueden aceptar en una sesión par del BGP. Cuando se supera ese límite especificado, se envía un mensaje de registro del sistema. También puede especificar que restablezca la sesión del BGP si se supera el límite del número de prefijos especificados.
Para configurar un límite para el número de prefijos que se pueden aceptar en una sesión par de BGP, incluya la accepted-prefix-limit
instrucción:
accepted-prefix-limit { maximum number; teardown <percentage> <idle-timeout (forever | minutes)>; drop <percentage>; hide <percentage>; }
Para obtener una lista de niveles de jerarquía en los que puede incluir esta instrucción, consulte la sección resumen de instrucción de esta instrucción.
Para maximum number, especifique un valor en el intervalo de 1 a 4.294.967.295.
Incluya la teardown
instrucción para restablecer la sesión par del BGP cuando el número de prefijos aceptados supere el límite configurado. También puede incluir un valor de porcentaje del 1 al 100 para que se envíe un mensaje de registro del sistema cuando el número de prefijos aceptados supere ese porcentaje del límite máximo. De forma predeterminada, una sesión de BGP que se restablece se restablece en poco tiempo. Incluya la idle-timeout
instrucción para evitar que se restablezca la sesión del BGP durante un período de tiempo específico. Puede configurar un valor de tiempo de espera de 1 a 2400 minutos. Incluya la forever opción para evitar que se restablezca la sesión del BGP hasta que se emita el clear bgp neighbor
comando. Si incluye la drop-excess <percentage>
instrucción y especifica un porcentaje, el exceso de rutas se pierde cuando el número de prefijos supera el porcentaje. Si incluye la hide-excess <percentage>
instrucción y especifica un porcentaje, el exceso de rutas se oculta cuando el número de prefijos supera el porcentaje. Si se modifica el porcentaje, las rutas se vuelven a evaluar automáticamente.
Cuando se habilita el enrutamiento activo (NSR) sin interrupciones y se produce un cambio a un motor de enrutamiento de respaldo, los pares de BGP que están inactivos se reinician automáticamente. Los pares se reinician incluso si la idle-timeout forever
instrucción está configurada.
Alternativamente, puede configurar un límite para el número de prefijos que se pueden recibir (en lugar de aceptarse) en una sesión par del BGP. Para obtener más información, consulte Limitar el número de prefijos recibidos en una sesión par de BGP.
Configuración de grupos de tabla de enrutamiento BGP
Cuando una sesión de BGP recibe una NLRI de unidifusión o multidifusión, instala la ruta en la tabla adecuada (inet.0 o inet6.0 para unidifusión o inet.2inet6.2 multidifusión). Para agregar prefijos de unidifusión a las tablas de unidifusión y multidifusión, puede configurar grupos de tabla de enrutamiento BGP. Esto es útil si no puede realizar la negociación NLRI de multidifusión.
Para configurar grupos de tabla de enrutamiento BGP, incluya la rib-group
instrucción:
rib-group group-name;
Para obtener una lista de niveles de jerarquía en los que puede incluir esta instrucción, consulte la sección resumen de instrucción de esta instrucción.
Resolución de rutas a dispositivos de enrutamiento de PE ubicados en otros AS
Puede permitir que se coloquen rutas etiquetadas en la tabla de enrutamiento para la inet.3 resolución de rutas. Estas rutas se resuelven para las conexiones de dispositivos de enrutamiento de borde del proveedor (PE) en las que el PE remoto se encuentra en otro sistema autónomo (AS). Para que un dispositivo de enrutamiento de PE instale una ruta en la instancia de enrutamiento de enrutamiento VPN (VRF), el siguiente salto debe resolverse en una ruta almacenada en la inet.3 tabla.
Para resolver rutas en la inet.3 tabla de enrutamiento, incluya la resolve-vpn
instrucción:
resolve-vpn group-name;
Para obtener una lista de niveles de jerarquía en los que puede incluir esta instrucción, consulte la sección resumen de instrucción de esta instrucción.
Permitir rutas etiquetadas y no etiquetadas
Puede permitir que las rutas etiquetadas y no etiquetadas se intercambien en una sola sesión. Las rutas etiquetadas se colocan en la tabla de enrutamiento inet.3 o inet6.3, y las rutas de unidifusión etiquetadas y sin etiqueta se pueden enviar al dispositivo de enrutamiento o recibirlas.
Para permitir que se intercambien rutas etiquetadas y no etiquetadas, incluya la rib
instrucción:
rib (inet.3 | inet6.3);
Para obtener una lista de niveles de jerarquía en los que puede incluir esta instrucción, consulte la sección resumen de instrucción de esta instrucción.
Ejemplo: Configuración de rutas BGP IPv6 mediante transporte IPv4
En este ejemplo, se muestra cómo exportar los prefijos IPv6 e IPv4 a través de una conexión IPv4 en la que ambos lados están configurados con una interfaz IPv4.
Requisitos
No se requiere ninguna configuración especial más allá de la inicialización del dispositivo antes de configurar este ejemplo.
Descripción general
Tenga en cuenta lo siguiente al exportar prefijos BGP IPv6:
El BGP deriva los prefijos del salto siguiente mediante el prefijo IPv6 asignado a IPv4. Por ejemplo, el prefijo
10.19.1.1
del siguiente salto IPv4 se traduce en el prefijo del salto siguiente IPv6 ::ffff:10.19.1.1.Nota:Debe haber una ruta activa al próximo salto IPv6 asignado a IPv4 para exportar los prefijos BGP IPv6.
Se debe configurar una conexión IPv6 a través del vínculo. La conexión debe ser un túnel IPv6 o una configuración de doble pila. En este ejemplo, se utiliza el apilamiento dual.
Cuando configure prefijos IPv6 asignados a IPv4, use una máscara que sea más larga que 96 bits.
Configure una ruta estática si desea usar prefijos IPv6 normales. En este ejemplo, se usan rutas estáticas.
Figura 1 muestra la topología de ejemplo.

Configuración
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 [edit]
nivel de jerarquía.
Dispositivo R1
set interfaces fe-1/2/0 unit 1 family inet address 192.168.10.1/24 set interfaces fe-1/2/0 unit 1 family inet6 address ::ffff:192.168.10.1/120 set interfaces lo0 unit 1 family inet address 10.10.10.1/32 set protocols bgp group ext type external set protocols bgp group ext family inet unicast set protocols bgp group ext family inet6 unicast set protocols bgp group ext export send-direct set protocols bgp group ext export send-static set protocols bgp group ext peer-as 200 set protocols bgp group ext neighbor 192.168.10.10 set policy-options policy-statement send-direct term 1 from protocol direct set policy-options policy-statement send-direct term 1 then accept 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 rib inet6.0 static route ::ffff:192.168.20.0/120 next-hop ::ffff:192.168.10.10 set routing-options static route 192.168.20.0/24 next-hop 192.168.10.10 set routing-options autonomous-system 100
Dispositivo R2
set interfaces fe-1/2/0 unit 2 family inet address 192.168.10.10/24 set interfaces fe-1/2/0 unit 2 family inet6 address ::ffff:192.168.10.10/120 set interfaces fe-1/2/1 unit 3 family inet address 192.168.20.21/24 set interfaces fe-1/2/1 unit 3 family inet6 address ::ffff:192.168.20.21/120 set interfaces lo0 unit 2 family inet address 10.10.0.1/32 set protocols bgp group ext type external set protocols bgp group ext family inet unicast set protocols bgp group ext family inet6 unicast set protocols bgp group ext export send-direct set protocols bgp group ext export send-static set protocols bgp group ext neighbor 192.168.10.1 peer-as 100 set protocols bgp group ext neighbor 192.168.20.1 peer-as 300 set policy-options policy-statement send-direct term 1 from protocol direct set policy-options policy-statement send-direct term 1 then accept 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 autonomous-system 200
Dispositivo R3
set interfaces fe-1/2/0 unit 4 family inet address 192.168.20.1/24 set interfaces fe-1/2/0 unit 4 family inet6 address ::ffff:192.168.20.1/120 set interfaces lo0 unit 3 family inet address 10.10.20.1/32 set protocols bgp group ext type external set protocols bgp group ext family inet unicast set protocols bgp group ext family inet6 unicast set protocols bgp group ext export send-direct set protocols bgp group ext export send-static set protocols bgp group ext peer-as 200 set protocols bgp group ext neighbor 192.168.20.21 set policy-options policy-statement send-direct term 1 from protocol direct set policy-options policy-statement send-direct term 1 then accept 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 rib inet6.0 static route ::ffff:192.168.10.0/120 next-hop ::ffff:192.168.20.21 set routing-options static route 192.168.10.0/24 next-hop 192.168.20.21 set routing-options autonomous-system 300
Configuración del dispositivo R1
Procedimiento paso a paso
El siguiente ejemplo requiere que navegue 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 en la Guía del usuario de la CLI de Junos OS.
Para configurar el dispositivo R1:
Configure las interfaces, incluidas una dirección IPv4 y una dirección IPv6.
[edit interfaces] user@R1# set fe-1/2/0 unit 1 family inet address 192.168.10.1/24 user@R1# set fe-1/2/0 unit 1 family inet6 address ::ffff:192.168.10.1/120 user@R1# set lo0 unit 1 family inet address 10.10.10.1/32
Configure EBGP.
[edit protocols bgp group ext] user@R1# set type external user@R1# set export send-direct user@R1# set export send-static user@R1# set peer-as 200 user@R1# set neighbor 192.168.10.10
-
Habilite el BGP para transportar rutas de unidifusión IPv4 e IPv6.
[edit protocols bgp group ext] user@R1# set family inet unicast user@R1# set family inet6 unicast
Las rutas de unidifusión IPv4 están habilitadas de forma predeterminada. Sin embargo, cuando configure otras familias de direcciones NLRI, la unidifusión IPv4 debe configurarse explícitamente.
-
Configure la política de enrutamiento.
[edit policy-options] user@R1# set policy-statement send-direct term 1 from protocol direct user@R1# set policy-statement send-direct term 1 then accept user@R1# set policy-statement send-static term 1 from protocol static user@R1# set policy-statement send-static term 1 then accept
Configure algunas rutas estáticas.
[edit routing-options] user@R1# set rib inet6.0 static route ::ffff:192.168.20.0/120 next-hop ::ffff:192.168.10.10 user@R1# set static route 192.168.20.0/24 next-hop 192.168.10.10
Configure el número de sistema autónomo (AS).
[edit routing-options] user@R1# set autonomous-system 100
Resultados
Desde el modo de configuración, ingrese los comandos , show policy-options
, show protocols
y show routing-options
para confirmar la show interfaces
configuración. Si el resultado no muestra la configuración deseada, repita las instrucciones en este ejemplo para corregir la configuración.
user@R1# show interfaces fe-1/2/0 { unit 1 { family inet { address 192.168.10.1/24; } family inet6 { address ::ffff:192.168.10.1/120; } } } lo0 { unit 1 { family inet { address 10.10.10.1/32; } } }
user@R1# show policy-options policy-statement send-direct { term 1 { from protocol direct; then accept; } } policy-statement send-static { term 1 { from protocol static; then accept; } }
user@R1# show protocols bgp { group ext { type external; family inet { unicast; } family inet6 { unicast; } export [ send-direct send-static ]; peer-as 200; neighbor 192.168.10.10; } }
user@R1# show routing-options rib inet6.0 { static { route ::ffff:192.168.20.0/120 next-hop ::ffff:192.168.10.10; } } static { route 192.168.20.0/24 next-hop 192.168.10.10; } autonomous-system 100;
Si ha terminado de configurar el dispositivo, ingrese commit desde el modo de configuración. Repita la configuración en los dispositivos R2 y R3, cambiando los nombres de interfaz y las direcciones IP, según sea necesario.
Verificación
Confirme que la configuración funciona correctamente.
Comprobar el estado de vecino
Propósito
Asegúrese de que el BGP esté habilitado para transportar rutas de unidifusión IPv6.
Acción
Desde el modo operativo, ingrese el show bgp neighbor
comando.
user@R2> show bgp neighbor Peer: 192.168.10.1+179 AS 100 Local: 192.168.10.10+54226 AS 200 Type: External State: Established Flags: <Sync> Last State: OpenConfirm Last Event: RecvKeepAlive Last Error: None Export: [ send-direct send-static ] Options: <Preference AddressFamily PeerAS Refresh> Address families configured: inet-unicast inet6-unicast Holdtime: 90 Preference: 170 Number of flaps: 0 Peer ID: 10.10.10.1 Local ID: 10.10.0.1 Active Holdtime: 90 Keepalive Interval: 30 Peer index: 0 BFD: disabled, down Local Interface: fe-1/2/0.2 NLRI for restart configured on peer: inet-unicast inet6-unicast NLRI advertised by peer: inet-unicast inet6-unicast NLRI for this session: inet-unicast inet6-unicast Peer supports Refresh capability (2) Stale routes from peer are kept for: 300 Peer does not support Restarter functionality NLRI that restart is negotiated for: inet-unicast inet6-unicast NLRI of received end-of-rib markers: inet-unicast inet6-unicast NLRI of all end-of-rib markers sent: inet-unicast inet6-unicast Peer supports 4 byte AS extension (peer-as 100) Peer does not support Addpath Table inet.0 Bit: 10000 RIB State: BGP restart is complete Send state: in sync Active prefixes: 1 Received prefixes: 3 Accepted prefixes: 2 Suppressed due to damping: 0 Advertised prefixes: 4 Table inet6.0 Bit: 20000 RIB State: BGP restart is complete Send state: in sync Active prefixes: 0 Received prefixes: 1 Accepted prefixes: 1 Suppressed due to damping: 0 Advertised prefixes: 2 Last traffic (seconds): Received 24 Sent 12 Checked 60 Input messages: Total 132 Updates 6 Refreshes 0 Octets 2700 Output messages: Total 133 Updates 3 Refreshes 0 Octets 2772 Output Queue[0]: 0 Output Queue[1]: 0 Peer: 192.168.20.1+179 AS 300 Local: 192.168.20.21+54706 AS 200 Type: External State: Established Flags: <Sync> Last State: OpenConfirm Last Event: RecvKeepAlive Last Error: None Export: [ send-direct send-static ] Options: <Preference AddressFamily PeerAS Refresh> Address families configured: inet-unicast inet6-unicast Holdtime: 90 Preference: 170 Number of flaps: 0 Peer ID: 10.10.20.1 Local ID: 10.10.0.1 Active Holdtime: 90 Keepalive Interval: 30 Peer index: 1 BFD: disabled, down Local Interface: fe-1/2/1.3 NLRI for restart configured on peer: inet-unicast inet6-unicast NLRI advertised by peer: inet-unicast inet6-unicast NLRI for this session: inet-unicast inet6-unicast Peer supports Refresh capability (2) Stale routes from peer are kept for: 300 Peer does not support Restarter functionality NLRI that restart is negotiated for: inet-unicast inet6-unicast NLRI of received end-of-rib markers: inet-unicast inet6-unicast NLRI of all end-of-rib markers sent: inet-unicast inet6-unicast Peer supports 4 byte AS extension (peer-as 300) Peer does not support Addpath Table inet.0 Bit: 10000 RIB State: BGP restart is complete Send state: in sync Active prefixes: 1 Received prefixes: 3 Accepted prefixes: 2 Suppressed due to damping: 0 Advertised prefixes: 4 Table inet6.0 Bit: 20000 RIB State: BGP restart is complete Send state: in sync Active prefixes: 0 Received prefixes: 1 Accepted prefixes: 1 Suppressed due to damping: 0 Advertised prefixes: 2 Last traffic (seconds): Received 1 Sent 15 Checked 75 Input messages: Total 133 Updates 6 Refreshes 0 Octets 2719 Output messages: Total 131 Updates 3 Refreshes 0 Octets 2734 Output Queue[0]: 0 Output Queue[1]: 0
Significado
Las diversas ocurrencias de inet6-unicast en el resultado muestran que el BGP está habilitado para transportar rutas de unidifusión IPv6.
Comprobar la tabla de enrutamiento
Propósito
Asegúrese de que el dispositivo R2 tenga rutas BGP en su tabla de enrutamiento inet6.0.
Acción
Desde el modo operativo, ingrese el show route protocol bgp inet6.0
comando.
user@R2> show route protocol bgp table inet6.0 inet6.0: 7 destinations, 10 routes (7 active, 0 holddown, 0 hidden) + = Active Route, - = Last Active, * = Both ::ffff:192.168.10.0/120 [BGP/170] 01:03:49, localpref 100, from 192.168.20.1 AS path: 300 I > to ::ffff:192.168.20.21 via fe-1/2/1.3 ::ffff:192.168.20.0/120 [BGP/170] 01:03:53, localpref 100, from 192.168.10.1 AS path: 100 I > to ::ffff:192.168.10.10 via fe-1/2/0.2
Descripción general de la publicidad de rutas IPv4 a través de sesiones IPv6 de BGP
En una red IPv6, el BGP suele anunciar información de accesibilidad de la capa de red IPv6 a través de una sesión IPv6 entre pares del BGP. En versiones anteriores, Junos OS solo admitía el intercambio de familias de direcciones de unidifusión inet6, multidifusión inet6 o inet6 con etiqueta de unidifusión. Esta función permite el intercambio de todas las familias de direcciones BGP. En un entorno de doble pila que tiene IPv6 en su núcleo. esta función permite que el BGP anuncie la accesibilidad de unidifusión IPv4 con el próximo salto de IPv4 sobre una sesión de BGP IPv6.
Esta función es solo para sesiones IPv6 del BGP, en las que IPv4 está configurado en ambos puntos de conexión. Puede local-ipv4-address
ser una dirección de circuito cerrado o cualquier dirección ipv4 para una sesión de IBGP o EBGP de salto múltiple. Para los altavoces de BGP externos de un salto único que no forman parte de confederaciones del BGP, si la dirección IPv4 local configurada no está conectada directamente, la sesión del BGP se cierra y permanece inactiva y se genera un error, que se muestra en la salida del show bgp neighbor
comando.
Para habilitar la publicidad de ruta IPv4 en sesión IPv6, configure local-ipv4-address
la siguiente manera:
[edit protocols bgp family inet unicast] local-ipv4-address local ipv4 address;
No puede configurar esta función para las familias de direcciones de unidifusión inet6, multidifusión inet6 o inet6 labeled-unicast, ya que el BGP ya tiene la capacidad de anunciar estas familias de direcciones en una sesión de BGP IPv6.
La configuración local-ipv4-address
se usa solo cuando el BGP anuncia rutas con salto propio siguiente. Cuando el IBGP anuncia rutas aprendidas de sus pares de EBGP o el reflector de ruta anuncia rutas del BGP a sus clientes, el BGP no cambia la ruta del salto siguiente, ignora la configuración local-ipv4-address
y utiliza el salto siguiente IPv4 original.
Consulte también
Ejemplo: Publicidad de rutas IPv4 a través de sesiones de BGP IPv6
En este ejemplo, se muestra cómo anunciar rutas IPv4 a través de la sesión de BGP IPv6. En un entorno de doble pila que tiene IPv6 en su núcleo, es necesario llegar a hosts IPv4 remotos. Por lo tanto, BGP anuncia rutas IPv4 con los próximos saltos IPv4 a los pares del BGP a través de sesiones de BGP mediante el uso de direcciones de origen y destino IPv6. Esta característica permite que el BGP anuncie la accesibilidad de unidifusión IPv4 con el próximo salto de IPv4 sobre sesiones de BGP IPv6.
Requisitos
En este ejemplo, se utilizan los siguientes componentes de hardware y software:
Tres enrutadores con capacidad de apilamiento dual
Junos OS versión 16.1 o posterior se ejecuta en todos los dispositivos
Antes de habilitar anuncios IPv4 en sesiones de BGP IPv6, asegúrese de:
Configure las interfaces del dispositivo.
Configure el apilamiento dual en todos los dispositivos.
Descripción general
A partir de la versión 16.1, Junos OS permite que BGP anuncie la accesibilidad de unidifusión IPv4 con el próximo salto de IPv4 sobre una sesión de BGP IPv6. En versiones anteriores de Junos OS, el BGP solo podía anunciar unidifusión inet6, multidifusión inet6 e inet6 denominadas familias de direcciones de unidifusión en sesiones de BGP IPv6. Esta característica permite que el BGP intercambie todas las familias de direcciones del BGP a través de una sesión IPv6. Puede habilitar el BGP para anunciar rutas IPv4 con los próximos saltos de IPv4 a los pares de BGP mediante sesión IPv6. La configuración local-ipv4-address
se usa solo cuando el BGP anuncia rutas con salto propio siguiente.
No puede configurar esta función para las familias de direcciones de unidifusión inet6, multidifusión inet6 o inet6 labeled-unicast, ya que el BGP ya tiene la capacidad de anunciar estas familias de direcciones en una sesión de BGP IPv6.
Topología
En Figura 2, una sesión de BGP externa IPv6 se ejecuta entre los enrutadores R1 y R2. Se establece una sesión IPv6 IBGP entre el enrutador R2 y el enrutador R3. Las rutas estáticas IPv4 se redistribuyen al BGP en R1. Para redistribuir las rutas IPv4 a través de la sesión del BGP IPv6, la nueva función debe habilitarse en todos los enrutadores del [edit protocols bgp address family]
nivel jerárquico.

Configuración
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, copie y pegue los comandos en la CLI en el nivel de jerarquía y, luego, ingrese commit
desde el [edit] modo de configuración.
Enrutador R1
set interfaces ge-0/0/0 unit 0 description R1->R2 set interfaces ge-0/0/0 unit 0 family inet address 140.1.1.1/24 set interfaces ge-0/0/0 unit 0 family inet6 address ::140.1.1.1/126 set interfaces lo0 unit 0 family inet6 address 1::1/128 set routing-options static route 11.1.1.1/32 discard set routing-options static route 11.1.1.2/32 discard set routing-options autonomous-system 64497 set protocols bgp group ebgp-v6 type external set protocols bgp group ebgp-v6 export p1 set protocols bgp group ebgp-v6 peer-as 64496 set protocols bgp group ebgp-v6 neighbor ::140.1.1.2 description R2 set protocols bgp group ebgp-v6 neighbor ::140.1.1.2 family inet unicast local-ipv4-address 140.1.1.1 set policy-options policy-statement p1 from protocol static set policy-options policy-statement p1 then accept
Enrutador R2
set interfaces ge-0/0/0 unit 0 description R2->R1 set interfaces ge-0/0/0 unit 0 family inet address 140.1.1.2/24 set interfaces ge-0/0/0 unit 0 family inet6 address ::140.1.1.2/126 set interfaces ge-0/0/1 unit 0 description R2->R3 set interfaces ge-0/0/1 unit 0 family inet address 150.1.1.1/24 set interfaces ge-0/0/1 unit 0 family inet6 address ::150.1.1.1/126 set interfaces lo0 unit 0 family inet6 address 1::2/128 set routing-options autonomous-system 64496 set protocols bgp group ibgp-v6 type internal set protocols bgp group ibgp-v6 export change-nh set protocols bgp group ibgp-v6 neighbor ::150.1.1.2 description R3 set protocols bgp group ibgp-v6 neighbor ::150.1.1.2 family inet unicast local-ipv4-address 150.1.1.1 set protocols bgp group ebgp-v6 type external set protocols bgp group ebgp-v6 peer-as 64497 set protocols bgp group ebgp-v6 neighbor ::140.1.1.1 description R1 set protocols bgp group ebgp-v6 neighbor ::140.1.1.1 family inet unicast local-ipv4-address 140.1.1.2 set policy-options policy-statement change-nh from protocol bgp set policy-options policy-statement change-nh then next-hop self set policy-options policy-statement change-nh then accept
Enrutador R3
set interfaces ge-0/0/0 unit 0 description R3->R2 set interfaces ge-0/0/0 unit 0 family inet address 150.1.1.2/24 set interfaces ge-0/0/0 unit 0 family inet6 address ::150.1.1.2/126 set interfaces lo0 unit 0 family inet6 address 1::3/128 set routing-options autonomous-system 64496 set protocols bgp group ibgp-v6 type internal set protocols bgp group ibgp-v6 neighbor ::150.1.1.1 description R2 set protocols bgp group ibgp-v6 neighbor ::150.1.1.1 family inet unicast local-ipv4-address 150.1.1.2
Configuración del enrutador R1
Procedimiento paso a paso
El siguiente ejemplo requiere que navegue 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 en la Guía del usuario de CLI.
Para configurar el enrutador R1:
Repita este procedimiento para otros enrutadores después de modificar los nombres de interfaz, direcciones y otros parámetros adecuados.
Configure las interfaces con direcciones IPv4 e IPv6.
[edit interfaces] user@R1# set ge-0/0/0 unit 0 description R1->R2 user@R1# set ge-0/0/0 unit 0 family inet address 140.1.1.1/24 user@R1# set ge-0/0/0 unit 0 family inet6 address ::140.1.1.1/126
Configure la dirección de circuito cerrado.
[edit interfaces] user@R1# set lo0 unit 0 family inet6 address 1::1/128
Configure una ruta estática IPv4 que debe anunciarse.
[edit routing-options] user@R1# set static route 11.1.1.1/32 discard user@R1# set static route 11.1.1.2/32 discard
Configure el sistema autónomo para hosts BGP.
[edit routing-options] user@R1# set autonomous-system 64497
Configure el EBGP en los enrutadores de borde externos.
[edit protocols] user@R1# set bgp group ebgp-v6 type external user@R1# set bgp group ebgp-v6 peer-as 64496 user@R1# set bgp group ebgp-v6 neighbor ::140.1.1.2 description R2
Habilite la función para anunciar el complemento IPv4 140.1.1.1 mediante sesiones IPv6 del BGP.
[edit protocols] user@R1# set bgp group ebgp-v6 neighbor ::140.1.1.2 family inet unicast local-ipv4-address 140.1.1.1
Defina una política p1 para aceptar todas las rutas estáticas.
[edit policy-options] user@R1# set policy-statement p1 from protocol static user@R1# set policy-statement p1 then accept
Aplique la política p1 en el grupo EBGP ebgp-v6.
[edit protocols] user@R1# set bgp group ebgp-v6 export p1
Resultados
Desde el modo de configuración, ingrese los comandos , show protocols, show routing-optionsy show policy-options para confirmar la show interfacesconfiguración. Si el resultado no muestra la configuración deseada, repita las instrucciones en este ejemplo para corregir la configuración.
[edit] user@R1# show interfaces ge-0/0/0 { unit 0 { description R1->R2; family inet { address 140.1.1.1/24; } family inet6 { address ::140.1.1.1/126; } } lo0 { unit 0 { family inet { address 1::1/128; } } } }
[edit] user@R1# show protocols bgp { group ebgp-v6 { type external; export p1; peer-as 64496; neighbor ::140.1.1.2 { description R2; family inet { unicast { local-ipv4-address 140.1.1.1; } } } } }
[edit] user@R1# show routing-options static { route 11.1.1.1/32 discard; route 11.1.1.2/32 discard; } autonomous-system 64497;
[edit] user@R1# show policy-options policy-statement p1 { from { protocol static; } then accept; }
Si ha terminado de configurar el dispositivo, confirme la configuración.
user@R1# commit
Verificación
Confirme que la configuración funciona correctamente.
- Verificar que la sesión del BGP esté activa
- Verificar que se anuncia la dirección IPv4
- Verificar que el enrutador vecino R2 del BGP reciba la dirección IPv4 anunciada
Verificar que la sesión del BGP esté activa
Propósito
Compruebe que el BGP se ejecuta en las interfaces configuradas y que la sesión del BGP está activa para cada dirección vecina.
Acción
Desde el modo operativo, ejecute el show bgp summary comando en el enrutador R1.
user@R1> show bgp summary Groups: 1 Peers: 1 Down peers: 0 Table Tot Paths Act Paths Suppressed History Damp State Pending inet.0 0 0 0 0 0 0 Peer AS InPkt OutPkt OutQ Flaps Last Up/Dwn State|#Active/Received/Accepted/Damped... ::140.1.1.2 64496 4140 4158 0 0 1d 7:10:36 0/0/0/0 0/0/0/0
Significado
La sesión del BGP está activa y en funcionamiento, y se establece el emparejamiento del BGP.
Verificar que se anuncia la dirección IPv4
Propósito
Compruebe que el enrutador R1 anuncia la dirección IPv4 configurada a los vecinos del BGP configurados.
Acción
Desde el modo operativo, ejecute el show route advertising-protocol bgp ::150.1.1.2 comando en el enrutador R1.
user@R1> show route advertising-protocol bgp ::150.1.1.2 inet.0: 48 destinations, 48 routes (48 active, 0 holddown, 0 hidden) Prefix Nexthop MED Lclpref AS path * 11.1.1.1/32 Self 64497 64497 I * 11.1.1.2/32 Self 64497 64497 I
Significado
La ruta estática IPv4 se anuncia al enrutador vecino del BGP R2.
Verificar que el enrutador vecino R2 del BGP reciba la dirección IPv4 anunciada
Propósito
Verifique que el enrutador R2 reciba la dirección IPv4 que el enrutador R1 anuncia al vecino del BGP a través de IPv6.
Acción
user@R2> show route receive-protocol bgp ::140.1.1.1 inet.0: 48 destinations, 48 routes (48 active, 0 holddown, 0 hidden) Prefix Nexthop MED Lclpref AS path * 11.1.1.1/32 140.1.1.1 64497 I * 11.1.1.2/32 140.1.1.1 64497 I iso.0: 1 destinations, 1 routes (1 active, 0 holddown, 0 hidden) inet6.0: 9 destinations, 10 routes (9 active, 0 holddown, 0 hidden)
Significado
La presencia de la ruta IPv4 estática en la tabla de enrutamiento del enrutador R2 indica que está recibiendo las rutas IPv4 anunciadas del enrutador R1.
Descripción de la redistribución de rutas IPv4 con el siguiente salto de IPv6 al BGP
En una red que transporta predominantemente tráfico IPv6, existe la necesidad de enrutar rutas IPv4 cuando sea necesario. Por ejemplo, un proveedor de servicios de Internet que tenga una red solo IPv6, pero que tenga clientes que aún enrutan tráfico IPv4. En este caso, es necesario atender a dichos clientes y reenviar el tráfico IPv4 a través de una red IPv6. Como se describe en rfc 5549, la información de accesibilidad de la capa de red IPv4 publicitaria con un tráfico IPv4 IPv4 de salto siguiente IPv4 se tunelizó desde los dispositivos del equipo de las instalaciones del cliente (CPE) a las puertas de enlace IPv4 sobre IPv6. Estas puertas de enlace se anuncian a los dispositivos CPE a través de direcciones de anycast. Luego, los dispositivos de puerta de enlace crean túneles IPv4 sobre IPv6 dinámicos para dispositivos CPE remotos y anuncian que IPv4 agrega rutas para dirigir el tráfico.
La función de túnel dinámico IPv4 sobre IPv6 no admite ISSU unificado en la versión 17.3R1 de Junos OS.
Los reflector de ruta (RRs) con una interfaz programable se conectan a través del IBGP a los enrutadores de puerta de enlace y las rutas de host con dirección IPv6 como siguiente salto. Estos RR anuncian las direcciones IPv4/32 para insertar la información del túnel en la red. Los enrutadores de puerta de enlace crean túneles IPv4-sobre-IPv6 dinámicos al borde del proveedor de cliente remoto. El enrutador de puerta de enlace también anuncia las rutas de adición IPv4 para dirigir el tráfico. Luego, el RR anuncia las rutas de origen del túnel al ISP. Cuando el RR elimina la ruta del túnel, el BGP también retira la ruta, lo que hace que el túnel se derribe y el CPE sea inalcanzable. El enrutador de puerta de enlace también retira las rutas agregadas IPv4 y las rutas de origen del túnel IPv6 cuando se eliminan todas las rutas de colaboradoras de rutas agregadas. El enrutador de puerta de enlace envía la retirada de ruta cuando la tarjeta de línea del motor de reenvío de paquetes de anclaje cae, de modo que redirigirá el tráfico a otros enrutadores de puerta de enlace.
Se introducen las siguientes extensiones para admitir rutas IPv4 con un próximo salto IPv6:
- Codificación del siguiente salto del BGP
- Localización de túnel
- Manejo de túneles
- Equilibrio de carga de túnel y manejo de fallas del motor de reenvío de paquetes de anclaje
- Estadísticas de flujo de circuito cerrado del túnel
Codificación del siguiente salto del BGP
El BGP se extiende con capacidad de codificación de salto siguiente que se utiliza para enviar rutas IPv4 con los próximos saltos IPv6. Si esta capacidad no está disponible en el par remoto, el BGP agrupa a los pares según esta capacidad de codificación y elimina la familia BGP sin codificar la capacidad de la lista de información de accesibilidad de la capa de red negociada (NLRI). Junos OS solo permite una tabla de resolución, como inet.0. Para permitir rutas del BGP IPv4 con los próximos saltos IPv6, el BGP crea un nuevo árbol de resolución. Esta función permite que una tabla de enrutamiento de Junos OS tenga varios árboles de resolución.
Además del RFC 5549, se introduce la publicidad de información de accesibilidad de la capa de red IPv4 con un salto siguiente IPv6 , una nueva comunidad de encapsulación especificada en RFC 5512, el identificador de familia de direcciones posteriores de encapsulación (SAFI) de encapsulación BGP y el atributo de encapsulación de túnel BGP para determinar la familia de direcciones de la dirección del salto siguiente. La comunidad de encapsulación indica el tipo de túneles que el nodo de entrada debe crear. Cuando el BGP recibe rutas IPv4 con la dirección del siguiente salto IPv6 y la comunidad de encapsulación V4oV6, el BGP crea túneles dinámicos IPv4 sobre IPv6. Cuando el BGP recibe rutas sin la comunidad de encapsulación, las rutas del BGP se resuelven sin crear el túnel V4oV6.
Una nueva acción dynamic-tunnel-attributes dyan-attribute
de política está disponible en el [edit policy-statement policy name term then]
nivel de jerarquía para admitir la nueva encapsulación extendida.
Localización de túnel
La infraestructura de túnel dinámico se mejora con la localización de túneles para admitir un mayor número de túneles. Existe la necesidad de la localización de túneles para proporcionar resistencia para manejar el tráfico cuando falla el ancla. Uno o más chasis se copian entre sí y deje que el proceso de protocolo de enrutamiento (rpd) dirija el tráfico del punto de falla al chasis de respaldo. El chasis anuncia solo estos prefijos agregados en lugar de las direcciones de circuito cerrado individuales en la red.
Manejo de túneles
Los túneles IPv4 a través de IPv6 utilizan la infraestructura de túnel dinámica junto con el anclaje de túnel para admitir la escala de chasis requerida a gran escala. El estado del túnel se encuentra localizado en un motor de reenvío de paquetes y los otros motores de reenvío de paquetes dirigen el tráfico al anclaje del túnel.
Entrada de túnel


Encapsula el tráfico IPv4 dentro del encabezado IPv6.
La aplicación de la unidad máxima de transmisión (MTU) se realiza antes de la encapsulación. Si el tamaño del paquete encapsulado supera la MTU de túnel y el paquete IPv4
DF-bit
no está establecido, el paquete se fragmenta y estos fragmentos se encapsulan.Utiliza el equilibrio de carga de tráfico basado en hash en encabezados internos de paquetes.
Reenvía el tráfico a la dirección IPv6 de destino. La dirección IPv6 se toma del encabezado IPv6.
Salida de túnel


Desencapsula el paquete IPv4 presente dentro del paquete IPv6.
Realiza una comprobación antispoofía para asegurarse de que el par IPv6 e IPv4 coincide con la información que se utilizó para configurar el túnel.
Busca la dirección de destino IPv4 desde el encabezado IPv4 del paquete desencapsulado y reenvía el paquete a la dirección IPv4 especificada.
Equilibrio de carga de túnel y manejo de fallas del motor de reenvío de paquetes de anclaje
La falla del motor de reenvío de paquetes debe manejarse rápidamente para evitar el filtrado de ruta nula del tráfico de túnel anclado en el motor de reenvío de paquetes. La localización de túnel implica el uso de anuncios de BGP para reparar la falla globalmente. El tráfico de túnel se desvía del punto de error a otro chasis de respaldo que contiene el estado de túnel idéntico. Para el equilibrio de carga de tráfico, el chasis está configurado para anunciar diferentes valores discriminadores de salida múltiple (MED) para cada uno de los conjuntos de prefijos, de modo que solo el tráfico de una cuarta parte de los túneles pase por cada chasis. El tráfico CPE también se maneja de manera similar mediante la configuración del mismo conjunto de direcciones de difusión en cada chasis y dirigir solo una cuarta parte del tráfico hacia cada chasis.
El motor de reenvío de paquetes de anclaje es la única entidad que realiza todo el procesamiento para un túnel. La selección del ancla del motor de reenvío de paquetes se realiza mediante el aprovisionamiento estático y vinculado a las interfaces físicas del motor de reenvío de paquetes. Cuando uno de los motores de reenvío de paquetes falla, el demonio marca todos los motores de reenvío de paquetes en la tarjeta de línea y comunica esta información al proceso de enrutamiento del protocolo de enrutamiento y otros demonios. El proceso de protocolo de enrutamiento envía retiros de BGP para los prefijos que están anclados en el motor de reenvío de paquetes fallido y en las direcciones IPv6 asignadas al motor de reenvío de paquetes que está inactivo. Estos anuncios reenrutan el tráfico a otros chasis de respaldo. Cuando el motor de reenvío de paquetes fallido vuelve a estar activo, el chasis marca el motor de reenvío de paquetes como up
y actualiza el proceso del protocolo de enrutamiento. El proceso de protocolo de enrutamiento activa las actualizaciones del BGP a sus pares de que los túneles anclados al motor de reenvío de paquetes específico ya están disponibles para enrutamiento de tráfico. Para la configuración de túnel a gran escala, este proceso puede tardar minutos. Por lo tanto, el Ack
mecanismo está integrado en el sistema para garantizar una pérdida mínima de tráfico mientras cambia el tráfico al chasis original.
Estadísticas de flujo de circuito cerrado del túnel
La infraestructura de túnel dinámico utiliza flujos de circuito cerrado en el motor de reenvío de paquetes para bucles del paquete después de la encapsulación. Dado que el ancho de banda de esta transmisión de circuito cerrado es limitado, es necesario supervisar el rendimiento de las transmisiones de circuito cerrado de túnel.
Para supervisar las estadísticas de la secuencia de circuito cerrado, utilice el comando show pfe statistics traffic detail
operativo que muestra las estadísticas agregadas de la secuencia de circuito cerrado, incluyendo la velocidad de reenvío, la velocidad de caída de paquetes y la velocidad de byte.
Consulte también
Configuración del BGP para redistribuir rutas IPv4 con direcciones IPv6 de próximo salto
A partir de la versión 17.3R1, los dispositivos Junos OS pueden reenviar tráfico IPv4 a través de una red solo IPv6, que generalmente no puede reenviar tráfico IPv4. Como se describe en RFC 5549, el tráfico IPv4 se tunelizó desde dispositivos CPE a puertas de enlace IPv4 sobre IPv6. Estas puertas de enlace se anuncian a los dispositivos CPE a través de direcciones de anycast. Luego, los dispositivos de puerta de enlace crean túneles IPv4-sobre-IPv6 dinámicos para el equipo de las instalaciones del cliente remoto y anuncian rutas agregadas IPv4 para dirigir el tráfico. Los reflectores de ruta con interfaces programables inyectan la información del túnel en la red. Los reflectores de ruta se conectan a través del IBGP a enrutadores de puerta de enlace, que anuncian las direcciones IPv4 de las rutas de host con direcciones IPv6 como el siguiente salto.
La función de túnel dinámico IPv4 sobre IPv6 no admite ISSU unificado en la versión 17.3R1 de Junos OS.
Antes de comenzar a configurar el BGP para distribuir rutas IPv4 con direcciones de próximo salto IPv6, haga lo siguiente:
Configure las interfaces del dispositivo.
Configure el OSPF o cualquier otro protocolo IGP.
Configure MPLS y LDP.
Configure BGP.
Para configurar el BGP para distribuir rutas IPv4 con direcciones de próximo salto IPv6:
Consulte también
Habilitación de señalización VPN y VPLS de capa 2
Puede habilitar el BGP para transportar mensajes VPN de capa 2 y VPLS NLRI.
Para habilitar la señalización de VPN y VPLS, incluya la family
instrucción:
family { l2vpn { signaling { prefix-limit { maximum number; teardown <percentage> <idle-timeout (forever | minutes)>; drop-excess <percentage>; hide-excess <percentage>; } } } }
Para obtener una lista de niveles de jerarquía en los que puede incluir esta instrucción, consulte la sección resumen de instrucción de esta instrucción.
Para configurar un número máximo de prefijos, incluya la prefix-limit
instrucción:
prefix-limit { maximum number; teardown <percentage> <idle-timeout (forever | minutes)>; drop-excess <percentage>; hide-excess <percentage>;}
Para obtener una lista de niveles de jerarquía en los que puede incluir esta instrucción, consulte la sección resumen de instrucción de esta instrucción.
Cuando se establece el número máximo de prefijos, se registra un mensaje cuando se alcanza ese número. Si incluye la teardown
instrucción, la sesión se derriba cuando se alcanza el número máximo de prefijos. Si especifica un porcentaje, los mensajes se registran cuando el número de prefijos alcanza ese porcentaje. Una vez que la sesión se rompe, se restablece en poco tiempo. Incluya la idle-timeout
instrucción para mantener la sesión desactivada durante un tiempo específico o para siempre. Si especifica forever
, la sesión se restablece solo después de usar el clear bgp neighbor
comando. Si incluye la drop-excess <percentage>
instrucción y especifica un porcentaje, el exceso de rutas se pierde cuando el número de prefijos supera el porcentaje. Si incluye la hide-excess <percentage>
instrucción y especifica un porcentaje, el exceso de rutas se oculta cuando el número de prefijos supera el porcentaje. Si se modifica el porcentaje, las rutas se vuelven a evaluar automáticamente.
Consulte también
Descripción de rutas de flujo BGP para el filtrado de tráfico
Una ruta de flujo es una agregación de condiciones de coincidencia para paquetes IP. Las rutas de flujo se instalan como filtros de tabla de reenvío de entrada (implícitos) y se propagan a través de la red mediante mensajes de información de accesibilidad de capa de red (NLRI) de especificación de flujo e instalados en la tabla instance-name.inetflow.0
de enrutamiento de flujo. Los paquetes solo pueden viajar a través de rutas de flujo si se cumplen condiciones específicas de coincidencia.
Las rutas de flujo y los filtros de firewall son similares, ya que filtran paquetes según sus componentes y realizan una acción en los paquetes que coincidan. Las rutas de flujo ofrecen capacidades de filtrado de tráfico y limitación de velocidad, al igual que los filtros de firewall. Además, puede propagar rutas de flujo a través de diferentes sistemas autónomos.
BGP propaga las rutas de flujo a través de mensajes NLRI de especificación de flujo. Debe habilitar el BGP para propagar estas NLRIs.
A partir de Junos OS versión 15.1, se implementan cambios para extender la compatibilidad de enrutamiento activo sin interrupciones (NSR) para las familias existentes de flujo de inet y flujo de inetvpn, y extender la validación de ruta para BGP flowspec por draft-ietf-idr-bgp-flowspec-oid-01. Como parte de esta mejora, se introducen dos instrucciones nuevas. Consulte enforce-first-as y no-install.
A partir de Junos OS versión 16.1, la compatibilidad con IPv6 se extiende a la especificación de flujo del BGP que permite la propagación de reglas de especificación de flujo de tráfico para paquetes IPv6 y VPN-IPv6. La especificación de flujo del BGP automatiza la coordinación de las reglas de filtrado de tráfico para mitigar los ataques distribuidos de denegación de servicio durante el enrutamiento activo (NSR) sin interrupciones.
A partir de Junos OS versión 16.1R1, la especificación de flujo del BGP admite la acción de filtrado de marcas extended-community
de tráfico. Para el tráfico IPv4, Junos OS modifica los bits de punto de código DiffServ (DSCP) de un paquete IPv4 en tránsito al valor correspondiente de la comunidad extendida. En el caso de los paquetes IPv6, Junos OS modifica los primeros seis bits del traffic class
campo del paquete IPv6 que transmite al valor correspondiente de la comunidad extendida.
A partir de Junos OS versión 17.1R1, El BGP puede transportar mensajes de información de accesibilidad de capa de red (NLRI) de especificación de flujo en enrutadores serie PTX que tienen FPC de tercera generación (FPC3-PTX-U2 y FPC3-PTX-U3 en PTX5000 y FPC3-SFF-PTX-U0 y FPC3-SFF-PTX-U1 en PTX3000) instalados. La propagación de la información del filtro de firewall como parte del BGP le permite propagar filtros de firewall contra ataques de denegación de servicio (DOS) de manera dinámica entre sistemas autónomos.
A partir de Junos OS versión 17.2R1, el BGP puede transportar mensajes de información de accesibilidad de capa de red (NLRI) de especificación de flujo en enrutadores PTX1000 que tengan FPC de tercera generación instalados. La propagación de la información del filtro de firewall como parte del BGP le permite propagar filtros de firewall contra ataques de denegación de servicio (DOS) de manera dinámica entre sistemas autónomos.
A partir de cRPD versión 20.3R1, las rutas de flujo y las reglas de control propagadas a través de la especificación de flujo del BGP NLRI se descargan al kernel de Linux a través del marco de trabajo Linux Netfilter en entornos cRPD.
- Condiciones de coincidencia para rutas de flujo
- Acciones para rutas de flujo
- Validación de rutas de flujo
- Compatibilidad con el algoritmo de especificación de flujo del BGP versión 7 y posteriores
Condiciones de coincidencia para rutas de flujo
Se especifican condiciones que el paquete debe coincidir antes de que se tome la acción de la then
instrucción para una ruta de flujo. Todas las condiciones de la from
instrucción deben coincidir para la acción que se va a realizar. El orden en el que se especifican las condiciones de coincidencia no es importante, ya que un paquete debe coincidir con todas las condiciones de un término para que se produzca una coincidencia.
Para configurar una condición de coincidencia, incluya la match
instrucción en el [edit routing-options flow]
nivel de jerarquía.
Tabla 1 describe las condiciones de coincidencia de ruta de flujo.
Condición de coincidencia |
Descripción |
---|---|
|
Campo de dirección ip de destino. Puede usar el |
|
Campo de puerto de destino tcp o protocolo de datagramas de usuario (UDP). No puede especificar las En lugar del valor numérico, puede especificar uno de los sinónimos de texto siguientes (también se enumeran los números de puerto): |
|
Punto de código de servicios diferenciados (DSCP). El protocolo DiffServ usa el byte de tipo de servicio (ToS) en el encabezado IP. Los seis bits más significativos de este byte forman el DSCP. Puede especificar DSCP en forma hexadecimal o decimal. |
|
Coincida con el valor de la etiqueta de flujo. El valor de este campo oscila entre 0 y 1048575. Esta condición de coincidencia solo se admite en dispositivos Junos con MPC mejorados configurados para |
|
Campo de tipo de fragmento. Las palabras clave se agrupan por el tipo de fragmento con el que están asociadas:
Esta condición de coincidencia solo se admite en dispositivos Junos OS con MPC mejorados configurados para |
|
Campo de código ICMP. Este valor o palabra clave proporciona información más específica que En lugar del valor numérico, puede especificar uno de los sinónimos de texto siguientes (los valores de campo también se enumeran). Las palabras clave se agrupan por el tipo ICMP con el que están asociadas:
|
|
Campo de tipo de paquete ICMP. Normalmente, se especifica esta coincidencia junto con la En lugar del valor numérico, puede especificar uno de los siguientes sinónimos de texto (los valores de campo también se enumeran): |
|
Longitud total del paquete IP. |
|
Campo de puerto de origen o destino TCP o UDP. No puede especificar tanto la En lugar del valor numérico, puede especificar uno de los sinónimos de texto enumerados en |
|
Campo de protocolo IP. En lugar del valor numérico, puede especificar uno de los siguientes sinónimos de texto (los valores de campo también se enumeran): Esta condición de coincidencia solo se admite para IPv6 en dispositivos Junos con MPC mejorados configurados para |
|
Campo de dirección IP de origen. Puede usar el |
|
Campo de puerto de origen TCP o UDP. No puede especificar las En lugar del campo numérico, puede especificar uno de los sinónimos de texto enumerados en |
|
Formato de encabezado TCP. |
Acciones para rutas de flujo
Puede especificar la acción que debe realizar si el paquete coincide con las condiciones que ha configurado en la ruta de flujo. Para configurar una acción, incluya la then
instrucción en el [edit routing-options flow]
nivel de jerarquía.
Tabla 2 describe las acciones de ruta de flujo.
Acción o modificador de acción |
Descripción |
---|---|
Acciones | |
|
Aceptar un paquete. Este es el valor predeterminado. |
|
Descarte un paquete en silencio, sin enviar un mensaje de protocolo de mensaje de control de Internet (ICMP). |
|
Reemplace las comunidades de la ruta con las comunidades especificadas. |
Marca value |
Establezca un valor DSCP para el tráfico que coincida con este flujo. Especifique un valor del 0 al 63. Esta acción solo se admite en dispositivos Junos con MPC mejorados configurados para |
|
Continúe con la siguiente condición de coincidencia para la evaluación. |
|
Especifique una instancia de enrutamiento a la que se reenvían los paquetes. |
|
Limite el ancho de banda en la ruta de flujo. Exprese el límite en bits por segundo (bps). A partir de Junos OS versión 16.1R4, el rango de límite de velocidad es [de 0 a 100000000000]. |
|
Muestra del tráfico en la ruta de flujo. |
Validación de rutas de flujo
Junos OS instala rutas de flujo en la tabla de enrutamiento de flujo solo si se han validado mediante el procedimiento de validación. El motor de enrutamiento realiza la validación antes de instalar rutas en la tabla de enrutamiento de flujo.
Las rutas de flujo recibidas mediante los mensajes de información de accesibilidad de capa de red (NLRI) del BGP se validan antes de instalarlos en la tabla de enrutamiento de instance.inetflow.0
instancia principal de flujo. El procedimiento de validación se describe en el draft-ietf-idr-flow-spec-09.txt, Difusión de reglas de especificación de flujo. Puede omitir el proceso de validación de rutas de flujo mediante mensajes NLRI del BGP y usar su propia política de importación específica.
Para realizar un seguimiento de las operaciones de validación, incluya la validation
instrucción en el [edit routing-options flow]
nivel de jerarquía.
Compatibilidad con el algoritmo de especificación de flujo del BGP versión 7 y posteriores
De forma predeterminada, Junos OS usa el algoritmo de orden de términos definido en la versión 6 del borrador de especificación de flujo del BGP. En la versión 10.0 y posteriores de Junos OS, puede configurar el enrutador para que cumpla con el algoritmo de orden de términos definido primero en la versión 7 de la especificación de flujo BGP y compatible con el RFC 5575, Difusión de rutas de especificación de flujo.
Recomendamos que configure Junos OS para usar el algoritmo de orden de términos definido primero en la versión 7 del borrador de especificación de flujo del BGP. También recomendamos que configure Junos OS para usar el mismo algoritmo de orden de términos en todas las instancias de enrutamiento configuradas en un enrutador.
Para configurar el BGP para usar el algoritmo de especificación de flujo definido primero en la versión 7 del borrador de Internet, incluya la standard
instrucción en el [edit routing-options flow term-order]
nivel de jerarquía.
Para volver a usar el algoritmo de orden de términos definido en la versión 6, incluya la legacy
instrucción en el [edit routing-options flow term-order]
nivel de jerarquía.
El orden de términos configurado solo tiene significación local. Es decir, el orden de términos no se propaga con rutas de flujo enviadas a los pares de BGP remotos, cuyo orden de término está completamente determinado por su propia configuración de orden de términos. Por lo tanto, debe tener cuidado al configurar la acción next term
dependiente del orden cuando no sea consciente de la configuración de orden de términos de los pares remotos. El local next term
puede diferir de los next term
configurados en el par remoto.
En Junos OS evolucionado, next term
no puede aparecer como el último término de la acción. No se admite un término next term
de filtro en el que se especifica como una acción, pero sin ninguna condición de coincidencia configurada.
A partir de Junos OS versión 16.1, tiene la opción de no aplicar el filtro al flowspec tráfico recibido en interfaces específicas. Se agrega un nuevo término al principio del flowspec filtro que acepta cualquier paquete recibido en estas interfaces específicas. El nuevo término es una variable que crea una lista de exclusión de términos adjuntos al filtro de tabla de reenvío como parte del filtro de especificación de flujo.
Para excluir que el flowspec filtro se aplique al tráfico recibido en interfaces específicas, primero debe configurar una group-id
en dichas interfaces mediante la inclusión de la instrucción grupo group-id
de filtro de familia inet
en el [edit interfaces]
nivel de jerarquía y, luego, adjuntar el flowspec filtro con el grupo de interfaz mediante la inclusión de la flow interface-group group-id exclude
instrucción en el [edit routing-options]
nivel de jerarquía. Solo puede configurar una group-id
por instancia de enrutamiento con la set routing-options flow interface-group group-id
instrucción.
Consulte también
Ejemplo: Permitir que el BGP lleve rutas de especificación de flujo
En este ejemplo, se muestra cómo permitir que el BGP transporte mensajes de información de accesibilidad de capa de red (NLRI) de especificación de flujo.
Requisitos
Antes de empezar:
Configure las interfaces del dispositivo.
Configure un protocolo de puerta de enlace interior (IGP).
Configure BGP.
Configure una política de enrutamiento que exporte rutas (como rutas directas o rutas IGP) de la tabla de enrutamiento al BGP.
Descripción general
La propagación de la información del filtro de firewall como parte del BGP le permite propagar filtros de firewall contra ataques de denegación de servicio (DOS) de manera dinámica entre sistemas autónomos. Las rutas de flujo se encapsulan en el NLRI de especificación de flujo y se propagan a través de una red o redes privadas virtuales (VPN), que comparten información parecida a un filtro. Las rutas de flujo son una agregación de condiciones de coincidencia y acciones resultantes para paquetes. Le proporcionan capacidades de filtrado de tráfico y limitación de velocidad, al igual que los filtros de firewall. Las rutas de flujo de unidifusión son compatibles con la instancia predeterminada, las instancias de enrutamiento y reenvío VPN (VRF) y las instancias de enrutador virtual.
Las políticas de importación y exportación se pueden aplicar a la familia inet flow
NLRI, inet-vpn flow
afectando las rutas de flujo aceptadas o anunciadas, de manera similar a la forma en que se aplican las políticas de importación y exportación a otras familias de BGP. La única diferencia es que la configuración de la política de flujo debe incluir la instrucción from rib inetflow.0
. Esta instrucción hace que la política se aplique a las rutas de flujo. Se produce una excepción a esta regla si la política solo tiene la then reject
instrucción o y then accept
ninguna from
instrucción. Luego, la política afecta a todas las rutas, incluyendo la unidifusión IP y el flujo de IP.
Los filtros de ruta de flujo se configuran primero en un enrutador de forma estática, con un conjunto de criterios de coincidencia seguidos por las acciones que se deben realizar. Luego, además family inet unicast
de , family inet flow
(o family inet-vpn flow
) se configura entre este dispositivo habilitado para el BGP y sus pares.
De forma predeterminada, las rutas de flujo configuradas estáticamente (filtros de firewall) se anuncian a otros dispositivos habilitados para BGP que sean compatibles con NLRI family inet flow
o family inet-vpn flow
.
El dispositivo receptor habilitado para el BGP realiza un proceso de validación antes de instalar el filtro de firewall en la tabla instance-name.inetflow.0
de enrutamiento de flujo. El procedimiento de validación se describe en RFC 5575, Difusión de reglas de especificación de flujo.
El dispositivo receptor habilitado para el BGP acepta una ruta de flujo si pasa los siguientes criterios:
El originador de una ruta de flujo coincide con el originador de la ruta de unidifusión que mejor coincide con la dirección de destino que está incrustada en la ruta.
No hay rutas de unidifusión más específicas, en comparación con la dirección de destino de la ruta de flujo, para la cual la ruta activa se recibió de un sistema autónomo de próximo salto diferente.
El primer criterio garantiza que el siguiente salto utilice el reenvío de unidifusión para la dirección de destino integrada en la ruta de flujo. Por ejemplo, si una ruta de flujo se da como 10.1.1.1.1, proto=6, port=80, el dispositivo receptor habilitado para el BGP selecciona la ruta de unidifusión más específica en la tabla de enrutamiento de unidifusión que coincide con el prefijo de destino 10.1.1.1/32. En una tabla de enrutamiento de unidifusión que contiene 10.1/16 y 10.1.1/24, esta última se elige como la ruta de unidifusión para comparar. Solo se considera la entrada de ruta de unidifusión activa. Esto sigue el concepto de que una ruta de flujo es válida si la anuncia el originador de la mejor ruta de unidifusión.
El segundo criterio aborda situaciones en las que un bloque de dirección determinado se asigna a diferentes entidades. Los flujos que se resuelven a una ruta de unidifusión que sea una ruta de unidifusión que sea agregada solo se aceptan si no cubren rutas más específicas que se enrutan a diferentes sistemas autónomos de próximo salto.
Puede omitir el proceso de validación de rutas de flujo mediante mensajes NLRI del BGP y usar su propia política de importación específica. Cuando el BGP transporta mensajes NLRI de especificación de flujo, la no-validate
instrucción en el [edit protocols bgp group group-name family inet flow]
nivel de jerarquía omite el procedimiento de validación de ruta de flujo después de que una política acepte paquetes. Puede configurar la política de importación para que coincida con los atributos de dirección y ruta de destino, como la comunidad, el salto siguiente y la ruta del AS. Puede especificar la acción que debe realizar si el paquete coincide con las condiciones que ha configurado en la ruta de flujo. Para configurar una acción, incluya la instrucción en el [edit routing-options flow]
nivel de jerarquía. El tipo NLRI de especificación de flujo incluye componentes como el prefijo de destino, el prefijo de origen, el protocolo y los puertos según se define en el RFC 5575. La política de importación puede filtrar una ruta de entrada mediante atributos de ruta y dirección de destino en la NLRI de especificación de flujo. La política de importación no puede filtrar ningún otro componente del RFC 5575.
La especificación de flujo define las extensiones de protocolo necesarias para abordar las aplicaciones más comunes de unidifusión IPv4 y filtrado de unidifusión VPN. Se puede reutilizar el mismo mecanismo y agregar nuevos criterios de coincidencia para abordar el filtrado similar para otras familias de direcciones BGP (por ejemplo, unidifusión IPv6).
Después de instalar una ruta de flujo en la inetflow.0
tabla, también se agrega a la lista de filtros de firewall en el kernel.
Solo en enrutadores, los mensajes NLRI de especificación de flujo se admiten en VPN. La VPN compara la comunidad extendida de destino de ruta en la NLRI con la política de importación. Si hay una coincidencia, la VPN puede comenzar a usar las rutas de flujo para filtrar y limitar la velocidad del tráfico de paquetes. Las rutas de flujo recibidas se instalan en la tabla instance-name.inetflow.0
de enrutamiento de flujo. Las rutas de flujo también se pueden propagar a través de una red VPN y compartirse entre VPN. Para permitir que el BGP multiprotocolo (MP-BGP) lleve NLRI de especificación de flujo para la inet-vpn
familia de direcciones, incluya la flow
instrucción en el [edit protocols bgp group group-name family inet-vpn]
nivel de jerarquía. Las rutas de flujo de VPN solo se admiten para la instancia predeterminada. Las rutas de flujo configuradas para VPN con familia inet-vpn
no se validan automáticamente, por lo que la no-validate
instrucción no se admite en el [edit protocols bgp group group-name family inet-vpn]
nivel de jerarquía. No se necesita ninguna validación si las rutas de flujo se configuran localmente entre dispositivos en un único AS.
Las políticas de importación y exportación se pueden aplicar al family inet flow
NLRI o family inet-vpn flow
, lo que afecta a las rutas de flujo aceptadas o anunciadas, de manera similar a la forma en que se aplican las políticas de importación y exportación a otras familias de BGP. La única diferencia es que la configuración de la política de flujo debe incluir la from rib inetflow.0
instrucción. Esta instrucción hace que la política se aplique a las rutas de flujo. Se produce una excepción a esta regla si la política solo tiene la then reject
instrucción o y then accept
ninguna from
instrucción. Luego, la política afecta a todas las rutas, incluyendo la unidifusión IP y el flujo de IP.
En este ejemplo, se muestra cómo configurar las siguientes políticas de exportación:
Una política que permite el anuncio de rutas de flujo especificadas por un filtro de ruta. Solo se anuncian las rutas de flujo cubiertas por el bloque 10.13/16. Esta política no afecta a las rutas de unidifusión.
Una política que permite que todas las rutas de unidifusión y flujo se anuncien al vecino.
Una política que no permite que todas las rutas (unidifusión o flujo) se anuncien al vecino.
Topología
Configuración
- Configuración de una ruta de flujo estático
- Rutas de flujo de publicidad especificadas por un filtro de ruta
- Anunciar todas las rutas de unidifusión y flujo
- Publicidad Sin unidifusión ni rutas de flujo
- Limitar el número de rutas de flujo instaladas en una tabla de enrutamiento
- Limitar el número de prefijos recibidos en una sesión de emparejamiento de BGP
Configuración de una ruta de flujo estático
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 [edit]
nivel de jerarquía.
set routing-options flow route block-10.131.1.1 match destination 10.131.1.1/32 set routing-options flow route block-10.131.1.1 match protocol icmp set routing-options flow route block-10.131.1.1 match icmp-type echo-request set routing-options flow route block-10.131.1.1 then discard set routing-options flow term-order standard
Procedimiento paso a paso
El siguiente ejemplo requiere que navegue 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 en la Guía del usuario de la CLI de Junos OS.
Para configurar las sesiones pares del BGP:
Configure las condiciones de coincidencia.
[edit routing-options flow route block-10.131.1.1] user@host# set match destination 10.131.1.1/32 user@host# set match protocol icmp user@host# set match icmp-type echo-request
Configure la acción.
[edit routing-options flow route block-10.131.1.1] user@host# set then discard
(Recomendado) Para el algoritmo de especificación de flujo, configure el orden de términos basado en estándares.
[edit routing-options flow] user@host# set term-order standard
En el algoritmo de ordenación de términos predeterminado, como se especifica en el borrador de RFC versión 6 de flowspec, siempre se evalúa un término con condiciones de coincidencia menos específicas antes que un término con condiciones de coincidencia más específicas. Esto hace que nunca se evalúe el término con condiciones de coincidencia más específicas. La versión 7 del RFC 5575 hizo una revisión del algoritmo para que las condiciones de coincidencia más específicas se evalúen antes que las condiciones de coincidencia menos específicas. Para la compatibilidad con versiones anteriores, el comportamiento predeterminado no se altera en Junos OS, aunque el algoritmo más reciente tenga más sentido. Para usar el algoritmo más nuevo, incluya la
term-order standard
instrucción en la configuración. Esta instrucción se admite en la versión 10.0 y posteriores de Junos OS.
Resultados
Desde el modo de configuración, ingrese el comando para confirmar la show routing-options
configuración. Si el resultado no muestra la configuración deseada, repita las instrucciones en este ejemplo para corregir la configuración.
[edit] user@host# show routing-options flow { term-order standard; route block-10.131.1.1 { match { destination 10.131.1.1/32; protocol icmp; icmp-type echo-request; } then discard; } }
Si ha terminado de configurar el dispositivo, ingrese commit
desde el modo de configuración.
Rutas de flujo de publicidad especificadas por un filtro de ruta
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 [edit]
nivel de jerarquía.
set protocols bgp group core family inet unicast set protocols bgp group core family inet flow set protocols bgp group core export p1 set protocols bgp group core peer-as 65000 set protocols bgp group core neighbor 10.12.99.5 set policy-options policy-statement p1 term a from rib inetflow.0 set policy-options policy-statement p1 term a from route-filter 10.13.0.0/16 orlonger set policy-options policy-statement p1 term a then accept set policy-options policy-statement p1 term b then reject set routing-options autonomous-system 65001
Procedimiento paso a paso
El siguiente ejemplo requiere que navegue 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 en la Guía del usuario de la CLI de Junos OS.
Para configurar las sesiones pares del BGP:
Configure el grupo BGP.
[edit protocols bgp group core] user@host# set family inet unicast user@host# set family inet flow user@host# set export p1 user@host# set peer-as 65000 user@host# set neighbor 10.12.99.5
Configure la política de flujo.
[edit policy-options policy-statement p1] user@host# set term a from rib inetflow.0 user@host# set term a from route-filter 10.13.0.0/16 orlonger user@host# set term a then accept user@host# set term b then reject
Configure el número del sistema autónomo local (AS).
[edit routing-options] user@host# set autonomous-system 65001
Resultados
Desde el modo de configuración, ingrese los comandos , show policy-options
y show routing-options
para confirmar la show protocols
configuración. Si el resultado no muestra la configuración deseada, repita las instrucciones en este ejemplo para corregir la configuración.
[edit] user@host# show protocols bgp { group core { family inet { unicast; flow; } export p1; peer-as 65000; neighbor 10.12.99.5; } }
[edit] user@host# show policy-options policy-statement p1 { term a { from { rib inetflow.0; route-filter 10.13.0.0/16 orlonger; } then accept; } term b { then reject; } }
[edit] user@host# show routing-options autonomous-system 65001;
Si ha terminado de configurar el dispositivo, ingrese commit
desde el modo de configuración.
Anunciar todas las rutas de unidifusión y flujo
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 [edit]
nivel de jerarquía.
set protocols bgp group core family inet unicast set protocols bgp group core family inet flow set protocols bgp group core export p1 set protocols bgp group core peer-as 65000 set protocols bgp group core neighbor 10.12.99.5 set policy-options policy-statement p1 term a then accept set routing-options autonomous-system 65001
Procedimiento paso a paso
El siguiente ejemplo requiere que navegue 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 en la Guía del usuario de la CLI de Junos OS.
Para configurar las sesiones pares del BGP:
Configure el grupo BGP.
[edit protocols bgp group core] user@host# set family inet unicast user@host# set family inet flow user@host# set export p1 user@host# set peer-as 65000 user@host# set neighbor 10.12.99.5
Configure la política de flujo.
[edit policy-options policy-statement p1] user@host# set term a then accept
Configure el número del sistema autónomo local (AS).
[edit routing-options] user@host# set autonomous-system 65001
Resultados
Desde el modo de configuración, ingrese los comandos , show policy-options
y show routing-options
para confirmar la show protocols
configuración. Si el resultado no muestra la configuración deseada, repita las instrucciones en este ejemplo para corregir la configuración.
[edit] user@host# show protocols bgp { group core { family inet { unicast; flow; } export p1; peer-as 65000; neighbor 10.12.99.5; } }
[edit] user@host# show policy-options policy-statement p1 { term a { prefix-list inetflow; } then accept; } }
[edit] user@host# show routing-options autonomous-system 65001;
Si ha terminado de configurar el dispositivo, ingrese commit
desde el modo de configuración.
Publicidad Sin unidifusión ni rutas de flujo
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 [edit]
nivel de jerarquía.
set protocols bgp group core family inet unicast set protocols bgp group core family inet flow set protocols bgp group core export p1 set protocols bgp group core peer-as 65000 set protocols bgp group core neighbor 10.12.99.5 set policy-options policy-statement p1 term a then reject set routing-options autonomous-system 65001
Procedimiento paso a paso
El siguiente ejemplo requiere que navegue 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 en la Guía del usuario de la CLI de Junos OS.
Para configurar las sesiones pares del BGP:
Configure el grupo BGP.
[edit protocols bgp group core] user@host# set family inet unicast user@host# set family inet flow user@host# set export p1 user@host# set peer-as 65000 user@host# set neighbor 10.12.99.5
Configure la política de flujo.
[edit policy-options policy-statement p1] user@host# set term a then reject
Configure el número del sistema autónomo local (AS).
[edit routing-options] user@host# set autonomous-system 65001
Resultados
Desde el modo de configuración, ingrese los comandos , show policy-options
y show routing-options
para confirmar la show protocols
configuración. Si el resultado no muestra la configuración deseada, repita las instrucciones en este ejemplo para corregir la configuración.
[edit] user@host# show protocols bgp { group core { family inet { unicast; flow; } export p1; peer-as 65000; neighbor 10.12.99.5; } }
[edit] user@host# show policy-options policy-statement p1 { term a { then reject; } }
[edit] user@host# show routing-options autonomous-system 65001;
Si ha terminado de configurar el dispositivo, ingrese commit
desde el modo de configuración.
Limitar el número de rutas de flujo instaladas en una tabla de enrutamiento
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 [edit]
nivel de jerarquía.
set routing-options rib inetflow.0 maximum-prefixes 1000 set routing-options rib inetflow.0 maximum-prefixes threshold 50
Procedimiento paso a paso
El siguiente ejemplo requiere que navegue 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 en la Guía del usuario de la CLI de Junos OS.
La aplicación de un límite de ruta puede dar lugar a un comportamiento impredecible del protocolo de ruta dinámica. Por ejemplo, una vez que se alcanza el límite y las rutas se rechazan, el BGP no intenta necesariamente reinstalar las rutas rechazadas después de que el número de rutas caiga por debajo del límite. Es posible que sea necesario eliminar las sesiones del BGP para resolver este problema.
Para limitar las rutas de flujo:
Establezca un límite superior para el número de prefijos instalados en
inetflow.0
la tabla.[edit routing-options rib inetflow.0] user@host# set maximum-prefixes 1000
Establezca un valor de umbral del 50 por ciento, en el que cuando se instalan 500 rutas, se registra una advertencia en el registro del sistema.
[edit routing-options rib inetflow.0] user@host# set maximum-prefixes threshold 50
Resultados
Desde el modo de configuración, ingrese el comando para confirmar la show routing-options
configuración. Si el resultado no muestra la configuración deseada, repita las instrucciones en este ejemplo para corregir la configuración.
[edit] user@host# show routing-options rib inetflow.0 { maximum-prefixes 1000 threshold 50; }
Si ha terminado de configurar el dispositivo, ingrese commit
desde el modo de configuración.
Limitar el número de prefijos recibidos en una sesión de emparejamiento de BGP
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 [edit]
nivel de jerarquía.
set protocols bgp group x1 neighbor 10.12.99.2 family inet flow prefix-limit maximum 1000 set protocols bgp group x1 neighbor 10.12.99.2 family inet flow prefix-limit teardown 50 set protocols bgp group x1 neighbor 10.12.99.2 family inet flow prefix-limit drop-excess 50 set protocols bgp group x1 neighbor 10.12.99.2 family inet flow prefix-limit hide-excess 50
Puede incluir la opción de instrucción teardown <percentage>
, drop-excess <percentage>
o hide-excess<percentage>
de una en una.
Procedimiento paso a paso
El siguiente ejemplo requiere que navegue 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 en la Guía del usuario de la CLI de Junos OS.
Configurar un límite de prefijo para un vecino específico proporciona un control más predecible sobre qué par puede anunciar cuántas rutas de flujo.
Para limitar el número de prefijos:
Establezca un límite de 1000 rutas BGP desde el vecino 10.12.99.2.
[edit protocols bgp group x1] user@host# set neighbor 10.12.99.2 family inet flow prefix-limit maximum 1000
-
Configure la sesión o los prefijos vecinos para que realicen
teardown <percentage>
drop-excess <percentage>
hide-excess<percentage>
o la opción de instrucción cuando la sesión o los prefijos alcancen su límite.[edit routing-options rib inetflow.0] user@host# set neighbor 10.12.99.2 family inet flow prefix-limit teardown 50 set neighbor 10.12.99.2 family inet flow prefix-limit drop-excess 50 set neighbor 10.12.99.2 family inet flow prefix-limit hide-excess 50
Si especifica la
teardown <percentage>
instrucción y especifica un porcentaje, los mensajes se registran cuando el número de prefijos alcanza ese porcentaje. Después de desactivar la sesión, la sesión se restablece en poco tiempo, a menos que incluya laidle-timeout
instrucción.Si especifica la
drop-excess <percentage>
instrucción y especifica un porcentaje, el exceso de rutas se pierde cuando el número de prefijos supera ese porcentajeSi especifica la
hide-excess <percentage>
instrucción y especifica un porcentaje, el exceso de rutas se oculta cuando el número de prefijos supera ese porcentaje.
Resultados
Desde el modo de configuración, ingrese el comando para confirmar la show protocols
configuración. Si el resultado no muestra la configuración deseada, repita las instrucciones en este ejemplo para corregir la configuración.
[edit] user@host# show protocols bgp { group x1 { neighbor 10.12.99.2 { flow { prefix-limit { maximum 1000; teardown 50; drop-excess <percentage>; hide-excess <percentage>; } } } } } }
Si ha terminado de configurar el dispositivo, ingrese commit
desde el modo de configuración.
Verificación
Confirme que la configuración funciona correctamente.
- Verificar el NLRI
- Verificar rutas
- Verificación de validación de flujo
- Verificar filtros de firewall
- Verificar el registro del sistema al superar la cantidad de rutas de flujo permitidas
- Verificar el registro del sistema al superar la cantidad de prefijos recibidos en una sesión de emparejamiento de BGP
Verificar el NLRI
Propósito
Mire el NLRI habilitado para el vecino.
Acción
Desde el modo operativo, ejecute el show bgp neighbor 10.12.99.5
comando. inet-flow
Busque en el resultado.
user@host> show bgp neighbor 10.12.99.5 Peer: 10.12.99.5+3792 AS 65000 Local: 10.12.99.6+179 AS 65002 Type: External State: Established Flags: <Sync> Last State: OpenConfirm Last Event: RecvKeepAlive Last Error: None Export: [ direct ] Options: <Preference HoldTime AddressFamily PeerAS Refresh> Address families configured: inet-unicast inet-multicast inet-flow Holdtime: 90 Preference: 170 Number of flaps: 1 Error: 'Cease' Sent: 0 Recv: 1 Peer ID: 10.255.71.161 Local ID: 10.255.124.107 Active Holdtime: 90 Keepalive Interval: 30 Peer index: 0 Local Interface: e1-3/0/0.0 NLRI advertised by peer: inet-unicast inet-multicast inet-flow NLRI for this session: inet-unicast inet-multicast inet-flow Peer supports Refresh capability (2) Table inet.0 Bit: 10000 RIB State: BGP restart is complete Send state: in sync Active prefixes: 2 Received prefixes: 2 Suppressed due to damping: 0 Advertised prefixes: 3 Table inet.2 Bit: 20000 RIB State: BGP restart is complete Send state: in sync Active prefixes: 0 Received prefixes: 0 Suppressed due to damping: 0 Advertised prefixes: 0 Table inetflow.0 Bit: 30000 RIB State: BGP restart is complete Send state: in sync Active prefixes: 0 Received prefixes: 0 Suppressed due to damping: 0 Advertised prefixes: 0 Last traffic (seconds): Received 29 Sent 15 Checked 15 Input messages: Total 5549 Updates 2618 Refreshes 0 Octets 416486 Output messages: Total 2943 Updates 1 Refreshes 0 Octets 55995 Output Queue[0]: 0 Output Queue[1]: 0 Output Queue[2]: 0
Verificar rutas
Propósito
Mire las rutas de flujo. La salida de ejemplo muestra una ruta de flujo aprendida del BGP y una ruta de flujo configurada estáticamente.
Para las rutas de flujo configuradas localmente (configuradas en el [edit routing-options flow]
nivel de jerarquía), el protocolo de flujo instala las rutas. Por lo tanto, puede mostrar las rutas de flujo especificando la tabla, como en o show route table instance-name.inetflow.0
, donde show route table inetflow.0
instance-name
es el nombre de instancia de enrutamiento. O bien, puede mostrar todas las rutas de flujo configuradas localmente en varias instancias de enrutamiento ejecutando el show route protocol flow
comando.
Si una ruta de flujo no está configurada localmente, pero se recibe del par BGP del enrutador, esta ruta de flujo se instala en la tabla de enrutamiento mediante BGP. Puede mostrar las rutas de flujo especificando la tabla o ejecutando show route protocol bgp
, que muestra todas las rutas del BGP (flujo y no flujo).
Acción
Desde el modo operativo, ejecute el show route table inetflow.0
comando.
user@host> show route table inetflow.0 inetflow.0: 2 destinations, 2 routes (2 active, 0 holddown, 0 hidden) + = Active Route, - = Last Active, * = Both 100.100.100.100,*,proto=1,icmp-type=8/term:1 *[BGP/170] 00:00:18, localpref 100, from 100.0.12.2 AS path: 2000 I, validation-state: unverified Fictitious 200.200.200.200,*,proto=6,port=80/term:2 *[BGP/170] 00:00:18, localpref 100, from 100.0.12.2 AS path: 2000 I, validation-state: unverified Fictitious
user@host> show route table inetflow.0 extensive inetflow.0: 3 destinations, 3 routes (3 active, 0 holddown, 0 hidden) 7.7.7.7,8.8.8.8/term:1 (1 entry, 1 announced) TSI: KRT in dfwd; Action(s): accept,count *Flow Preference: 5 Next hop type: Fictitious Address: 0x8d383a4 Next-hop reference count: 3 State: <Active> Local AS: 65000 Age: 9:50 Task: RT Flow Announcement bits (1): 0-Flow AS path: I
user@host> show route hidden inetflow.0: 2 destinations, 2 routes (0 active, 0 holddown, 2 hidden) + = Active Route, - = Last Active, * = Both 100.100.100.100,*,proto=1,icmp-type=8/term:N/A [BGP ] 00:00:17, localpref 100, from 100.0.12.2 AS path: 2000 I, validation-state: unverified Fictitious 200.200.200.200,*,proto=6,port=80/term:N/A [BGP ] 00:00:17, localpref 100, from 100.0.12.2 AS path: 2000 I, validation-state: unverified Fictitious
Significado
Una ruta de flujo representa un término de filtro de firewall. Cuando configure una ruta de flujo, especifique las condiciones de coincidencia y las acciones. En los atributos de coincidencia, puede hacer coincidir una dirección de origen, una dirección de destino y otros calificadores, como el puerto y el protocolo. Para una ruta de flujo única que contenga varias condiciones de coincidencia, todas las condiciones de coincidencia se encapsulan en el campo de prefijo de la ruta. Cuando se ejecuta el show route
comando en una ruta de flujo, el campo de prefijo de la ruta se muestra con todas las condiciones de coincidencia. 10.12.44.1,*
significa que la condición coincidente es match destination 10.12.44.1/32
. Si el prefijo de la salida fuera *,10.12.44.1
, significaría que la condición de coincidencia fue match source 10.12.44.1/32
. Si las condiciones coincidentes contienen un origen y un destino, el asterisco se sustituye por la dirección.
Los números de orden de términos indican la secuencia de los términos (rutas de flujo) que se evalúan en el filtro de firewall. El show route extensive
comando muestra las acciones para cada término (ruta).
Verificación de validación de flujo
Propósito
Muestra información de ruta de flujo.
Acción
Desde el modo operativo, ejecute el show route flow validation detail
comando.
user@host> show route flow validation detail inet.0: 0.0.0.0/0 Internal node: best match, inconsistent 10.0.0.0/8 Internal node: no match, inconsistent 10.12.42.0/24 Internal node: no match, consistent, next-as: 65003 Active unicast route Dependent flow destinations: 1 Origin: 10.255.124.106, Neighbor AS: 65003 10.12.42.1/32 Flow destination (1 entries, 1 match origin) Unicast best match: 10.12.42.0/24 Flags: Consistent 10.131.0.0/16 Internal node: no match, consistent, next-as: 65001 Active unicast route Dependent flow destinations: 5000 Origin: 10.12.99.2, Neighbor AS: 65001 10.131.0.0/19 Internal node: best match 10.131.0.0/20 Internal node: best match 10.131.0.0/21
Verificar filtros de firewall
Propósito
Muestra los filtros de firewall que se instalan en el kernel.
Acción
Desde el modo operativo, ejecute el show firewall
comando.
user@host> show firewall Filter: __default_bpdu_filter__ Filter: __flowspec_default_inet__ Counters: Name Bytes Packets 10.12.42.1,* 0 0 196.1.28/23,* 0 0 196.1.30/24,* 0 0 196.1.31/24,* 0 0 196.1.32/24,* 0 0 196.1.56/21,* 0 0 196.1.68/24,* 0 0 196.1.69/24,* 0 0 196.1.70/24,* 0 0 196.1.75/24,* 0 0 196.1.76/24,* 0 0
Verificar el registro del sistema al superar la cantidad de rutas de flujo permitidas
Propósito
Si configura un límite en el número de rutas de flujo instaladas, como se describe en Limitar el número de rutas de flujo instaladas en una tabla de enrutamiento, vea el mensaje de registro del sistema cuando se alcanza el umbral.
Acción
Desde el modo operativo, ejecute el show log <message>
comando.
user@host> show log message Jul 12 08:19:01 host rpd[2748]: RPD_RT_MAXROUTES_WARN: Number of routes (1000) in table inetflow.0 exceeded warning threshold (50 percent of configured maximum 1000)
Verificar el registro del sistema al superar la cantidad de prefijos recibidos en una sesión de emparejamiento de BGP
Propósito
Si configura un límite en el número de rutas de flujo instaladas, como se describe en Limitar el número de prefijos recibidos en una sesión de emparejamiento de BGP, vea el mensaje de registro del sistema cuando se alcanza el umbral.
Acción
Desde el modo operativo, ejecute el show log message comando.
Si especifica la opción de instrucción teradown <percentage>
:
user@host> show log message Jul 12 08:44:47 host rpd[2748]: 10.12.99.2 (External AS 65001): Shutting down peer due to exceeding configured maximum prefix-limit(1000) for inet-flow nlri: 1001
Si especifica la opción de instrucción drop-excess <percentage>
:
user@host> show log message Jul 27 15:26:57 R1_re rpd[32443]: BGP_DROP_PREFIX_LIMIT_EXCEEDED: 1.1.1.2 (Internal AS 1): Exceeded drop-excess maximum prefix-limit(4) for inet-unicast nlri: 5 (instance master)
Si especifica la opción de instrucción hide-excess <percentage>
:
user@host> show log message Jul 27 15:26:57 R1_re rpd[32443]: BGP_HIDE_PREFIX_LIMIT_EXCEEDED: 1.1.1.2 (Internal AS 1): Exceeded hide-excess maximum prefix-limit(4) for inet-unicast nlri: 5 (instance master)
Ejemplo: Configuración del BGP para transportar rutas de especificación de flujo IPv6
En este ejemplo, se muestra cómo configurar la especificación de flujo IPv6 para el filtrado de tráfico. La especificación de flujo del BGP se puede utilizar para automatizar la coordinación entre dominios e intradominios de las reglas de filtrado de tráfico con el fin de mitigar los ataques de denegación de servicio.
Requisitos
En este ejemplo, se utilizan los siguientes componentes de hardware y software:
Dos enrutadores serie MX
Junos OS versión 16.1 o posterior
Antes de habilitar el BGP para transportar rutas de especificación de flujo IPv6:
Configure las direcciones IP en las interfaces del dispositivo.
Configure BGP.
Configure una política de enrutamiento que exporte rutas (como rutas estáticas, rutas directas o rutas IGP) desde la tabla de enrutamiento al BGP.
Descripción general
La especificación de flujo ofrece protección contra ataques de denegación de servicio y restringe el tráfico malo que consume el ancho de banda y lo detiene cerca de la fuente. En versiones anteriores de Junos OS, las reglas de especificación de flujo se propagaron para IPv4 a través del BGP como información de accesibilidad de la capa de red. A partir de Junos OS versión 16.1, la función de especificación de flujo es compatible con la familia IPv6 y permite la propagación de reglas de especificación de flujo de tráfico para IPv6 e IPv6 VPN.
Topología
Figura 7 muestra la topología de ejemplo. Los enrutadores R1 y R2 pertenecen a diferentes sistemas autónomos. La especificación de flujo IPv6 está configurada en el enrutador R2. Todo el tráfico entrante se filtra según las condiciones de la especificación del flujo y el tráfico se trata de manera diferente según la acción especificada. En este ejemplo, se descarta todo el tráfico que se dirige a abcd::11:11:11:10/128 que coincida con las condiciones de especificación de flujo; mientras que se acepta el tráfico destinado a abcd::11:11:11:11:30/128 y que coincida con las condiciones de especificación de flujo.

Configuración
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, copie y pegue los comandos en la CLI en el nivel de jerarquía y, luego, ingrese commit
desde el [edit] modo de configuración.
Enrutador R1
set interfaces ge-1/1/4 unit 0 family inet6 address abcd::13:14:2:1/120 set interfaces lo0 unit 0 family inet6 address abcd::128:220:21:197/128 set routing-options router-id 128.220.21.197 set routing-options autonomous-system 64496 set protocols bgp group ebgp type external set protocols bgp group ebgp family inet6 unicast set protocols bgp group ebgp family inet6 flow set protocols bgp group ebgp peer-as 64497 set protocols bgp group ebgp neighbor abcd::13:14:2:2
Enrutador R2
set interfaces ge-1/0/0 unit 0 family inet6 address abcd::192:2:1:1/120 set interfaces ge-1/1/5 unit 0 family inet6 address abcd::13:14:2:2/120 set interfaces lo0 unit 0 family inet6 address abcd::128:220:41:229/128 set routing-options rib inet6.0 static route abcd::11:11:11:0/120 next-hop abcd::192:2:1:2 set routing-options rib inet6.0 flow route route-1 match destination abcd::11:11:11:10/128 set routing-options rib inet6.0 flow route route-1 match protocol tcp set routing-options rib inet6.0 flow route route-1 match destination-port http set routing-options rib inet6.0 flow route route-1 match source-port 65535 set routing-options rib inet6.0 flow route route-1 then discard set routing-options rib inet6.0 flow route route-2 match destination abcd::11:11:11:30/128 set routing-options rib inet6.0 flow route route-2 match icmp6-type echo-request set routing-options rib inet6.0 flow route route-2 match packet-length 100 set routing-options rib inet6.0 flow route route-2 match dscp 10 set routing-options rib inet6.0 flow route route-2 then accept set routing-options router-id 128.220.41.229 set routing-options autonomous-system 64497 set protocols bgp group ebgp type external set protocols bgp group ebgp family inet6 unicast set protocols bgp group ebgp family inet6 flow set protocols bgp group ebgp export redis set protocols bgp group ebgp peer-as 64496 set protocols bgp group ebgp neighbor abcd::13:14:2:1 set policy-options policy-statement redis from protocol static set policy-options policy-statement redis then accept
Configuración del enrutador R2
Procedimiento paso a paso
El siguiente ejemplo requiere que navegue 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 en la Guía del usuario de CLI.
Para configurar el enrutador R2:
Repita este procedimiento para el enrutador R1 después de modificar los nombres de interfaz, las direcciones y otros parámetros adecuados.
Configure las interfaces con direcciones IPv6.
[edit interfaces] user@R2# set ge-1/0/0 unit 0 family inet6 address abcd::192:2:1:1/120 user@R2# set ge-1/1/5 unit 0 family inet6 address abcd::13:14:2:2/120
Configure la dirección de circuito cerrado IPv6.
[edit interfaces] user@R2# set lo0 unit 0 family inet6 address abcd::128:220:41:229/128
Configure el ID de enrutador y el número de sistema autónomo (AS).
[edit routing-options] user@R2# set router-id 128.220.41.229 user@R2# set autonomous-system 64497
Configure una sesión de emparejamiento de EBGP entre el enrutador R1 y el enrutador R2.
[edit protocols] user@R2# set bgp group ebgp type external user@R2# set bgp group ebgp family inet6 unicast user@R2# set bgp group ebgp family inet6 flow user@R2# set bgp group ebgp export redis user@R2# set bgp group ebgp peer-as 64496 user@R2# set bgp group ebgp neighbor abcd::13:14:2:1
Configure una ruta estática y un salto siguiente. Por lo tanto, se agrega una ruta a la tabla de enrutamiento para comprobar la función en este ejemplo.
[edit routing-options] user@R2# set rib inet6.0 static route abcd::11:11:11:0/120 next-hop abcd::192:2:1:2
Especifique las condiciones de especificación de flujo.
[edit routing-options] user@R2# set rib inet6.0 flow route route-1 match destination abcd::11:11:11:10/128 user@R2# set rib inet6.0 flow route route-1 match protocol tcp user@R2# set rib inet6.0 flow route route-1 match destination-port http user@R2# set rib inet6.0 flow route route-1 match source-port 65535
Configure una discard acción para descartar paquetes que coincidan con las condiciones de coincidencia especificadas.
[edit routing-options] user@R2# set rib inet6.0 flow route route-1 then discard
Especifique las condiciones de especificación de flujo.
[edit routing-options] user@R2# set rib inet6.0 flow route route-2 match destination abcd::11:11:11:30/128 user@R2# set rib inet6.0 flow route route-2 match icmp6-type echo-request user@R2# set rib inet6.0 flow route route-2 match packet-length 100 user@R2# set rib inet6.0 flow route route-2 match dscp 10
Configurar una accept acción para aceptar paquetes que coincidan con las condiciones de coincidencia especificadas
[edit routing-options] user@R2# set rib inet6.0 flow route route-2 then accept
Defina una política que permita que el BGP acepte rutas estáticas.
[edit policy-options] user@R2# set policy-statement redis from protocol static user@R2# set policy-statement redis then accept
Resultados
Desde el modo de configuración, ingrese los comandos , show protocols, show routing-optionsy show policy-options para confirmar la show interfacesconfiguración. Si el resultado no muestra la configuración deseada, repita las instrucciones en este ejemplo para corregir la configuración.
[edit] user@R2# show interfaces ge-1/0/0 { unit 0 { family inet6 { address abcd::192:2:1:1/120; } } } ge-1/1/5 { unit 0 { family inet6 { address abcd::13:14:2:2/120; } } } lo0 { unit 0 { family inet6 { address abcd::128:220:41:229/128; } } }
[edit] user@R2# show protocols bgp { group ebgp { type external; family inet6 { unicast; flow; } export redis; peer-as 64496; neighbor abcd::13:14:2:1; } }
[edit] user@R2# show routing-options rib inet6.0 { static { route abcd::11:11:11:0/120 next-hop abcd::192:2:1:2; } flow { route route-1 { match { destination abcd::11:11:11:10/128; protocol tcp; destination-port http; source-port 65535; } then discard; } route route-2 { match { destination abcd::11:11:11:30/128; icmp6-type echo-request; packet-length 100; dscp 10; } then accept; } } } router-id 128.220.41.229; autonomous-system 64497;
[edit] user@R2# show policy-options policy-statement redis { from protocol static; then accept; }
Verificación
Confirme que la configuración funciona correctamente.
- Verificar la presencia de rutas de especificación de flujo IPv6 en la tabla inet6flow
- Verificar la información de resumen del BGP
- Verificación de validación de flujo
- Verificar la especificación de flujo de rutas IPv6
Verificar la presencia de rutas de especificación de flujo IPv6 en la tabla inet6flow
Propósito
Muestra las rutas en la inet6flow
tabla del enrutador R1 y R2 y verifica que el BGP haya aprendido las rutas de flujo.
Acción
Desde el modo operativo, ejecute el show route table inet6flow.0 extensive comando en el enrutador R1.
user@R1> show route table inet6flow.0 extensive inet6flow.0: 2 destinations, 2 routes (2 active, 0 holddown, 0 hidden) abcd::11:11:11:10/128,*,proto=6,dstport=80,srcport=65535/term:1 (1 entry, 1 announced) TSI: KRT in dfwd; Action(s): discard,count *BGP Preference: 170/-101 Next hop type: Fictitious, Next hop index: 0 Address: 0x9b24064 Next-hop reference count: 2 State:<Active Ext> Local AS: 64496 Peer AS: 64497 Age: 20:55 Validation State: unverified Task: BGP_64497.abcd::13:14:2:2 Announcement bits (1): 0-Flow AS path: 64497 I Communities: traffic-rate:64497:0 Accepted Validation state: Accept, Originator: abcd::13:14:2:2, Nbr AS: 64497 Via: abcd::11:11:11:0/120, Active Localpref: 100 Router ID: 128.220.41.229 abcd::11:11:11:30/128,*,icmp6-type=128,len=100,dscp=10/term:2 (1 entry, 1 announced) TSI: KRT in dfwd; Action(s): accept,count *BGP Preference: 170/-101 Next hop type: Fictitious, Next hop index: 0 Address: 0x9b24064 Next-hop reference count: 2 State: <Active Ext> Local AS: 64496 Peer AS: 64497 Age: 12:51 Validation State: unverified Task: BGP_64497.abcd::13:14:2:2 Announcement bits (1): 0-Flow AS path: 64497 I Accepted Validation state: Accept, Originator: abcd::13:14:2:2, Nbr AS: 64497 Via: abcd::11:11:11:0/120, Active Localpref: 100 Router ID: 128.220.41.229
Desde el modo operativo, ejecute el comando en el show route table inet6flow.0 extensive enrutador R2.
user@R2> show route table inet6flow.0 extensive inet6flow.0: 2 destinations, 2 routes (2 active, 0 holddown, 0 hidden) abcd::11:11:11:10/128,*,proto=6,dstport=80,srcport=65535/term:1 (1 entry, 1 announced) TSI: KRT in dfwd; Action(s): discard,count Page 0 idx 0, (group pe-v6 type External) Type 1 val 0xaec8850 (adv_entry) Advertised metrics: Nexthop: Self AS path: [64497] Communities: traffic-rate:64497:0 Path abcd::11:11:11:10/128,*,proto=6,dstport=80,srcport=65535 Vector len 4. Val: 0 *Flow Preference: 5 Next hop type: Fictitious, Next hop index: 0 Address: 0x9b24064 Next-hop reference count: 3 State: <Active> Local AS: 64497 Age: 14:21 Validation State: unverified Task: RT Flow Announcement bits (2): 0-Flow 1-BGP_RT_Background AS path: I Communities: traffic-rate:64497:0 abcd::11:11:11:30/128,*,proto=17,port=65535/term:2 (1 entry, 1 announced) TSI: KRT in dfwd; Action(s): accept,count Page 0 idx 0, (group pe-v6 type External) Type 1 val 0xaec8930 (adv_entry) Advertised metrics: Nexthop: Self AS path: [64497] Communities: Path abcd::11:11:11:30/128,*,proto=17,port=65535 Vector len 4. Val: 0 *Flow Preference: 5 Next hop type: Fictitious, Next hop index: 0 Address: 0x9b24064 Next-hop reference count: 3 State: <Active> Local AS: 64497 Age: 14:21 Validation State: unverified Task: RT Flow Announcement bits (2): 0-Flow 1-BGP_RT_Background AS path: I
Significado
La presencia de rutas abcd::11:11:11:10/128 y abcd::11:11:11:30/128 en la inet6flow
tabla confirma que BGP ha aprendido las rutas de flujo.
Verificar la información de resumen del BGP
Propósito
Compruebe que la configuración del BGP es correcta.
Acción
Desde el modo operativo, ejecute el comando en el show bgp summary enrutador R1 y R2.
user@R1> show bgp summary Groups: 1 Peers: 1 Down peers: 0 Table Tot Paths Act Paths Suppressed History Damp State Pending inet6.0 1 1 0 0 0 0 inet6flow.0 2 2 0 0 0 0 Peer AS InPkt OutPkt OutQ Flaps Last Up/Dwn State|#Active/Received/Accepted/Damped... abcd::13:14:2:2 2000 58 58 0 2 19:48 Establ inet6.0: 1/1/1/0 inet6flow.0: 2/2/2/0 user@R2> show bgp summary Groups: 1 Peers: 1 Down peers: 0 Table Tot Paths Act Paths Suppressed History Damp State Pending inet6.0 0 0 0 0 0 0 inet6flow.0 0 0 0 0 0 0 Peer AS InPkt OutPkt OutQ Flaps Last Up/Dwn State|#Active/Received/Accepted/Damped... abcd::13:14:2:1 64496 51 52 0 0 23:03 Establ inet6.0: 0/0/0/0 inet6flow.0: 0/0/0/0
Significado
Compruebe que la inet6.0
tabla contiene la dirección de vecino del BGP y que se ha establecido una sesión de emparejamiento con su vecino del BGP.
Verificación de validación de flujo
Propósito
Muestra información de ruta de flujo.
Acción
Desde el modo operativo, ejecute el show route flow validation comando en el enrutador R1.
user@R1> show route flow validation inet6.0: abcd::11:11:11:0/120 Active unicast route Dependent flow destinations: 2 Origin: abcd::13:14:2:2, Neighbor AS: 64497 abcd::11:11:11:10/128 Flow destination (1 entries, 1 match origin, next-as) Unicast best match: abcd::11:11:11:0/120 Flags: Consistent abcd::11:11:11:30/128 Flow destination (1 entries, 1 match origin, next-as) Unicast best match: abcd::11:11:11:0/120 Flags: Consistent
Significado
El resultado muestra las rutas de flujo en la inet6.0
tabla.
Verificar la especificación de flujo de rutas IPv6
Propósito
Muestra el número de paquetes que se descartan y se aceptan según las rutas de especificación de flujo especificadas.
Acción
Desde el modo operativo, ejecute el comando en el show firewall filter_flowspec_default_inet6_ enrutador R2.
user@R2> show firewall filter __flowspec_default_inet6__ Filter: __flowspec_default_inet6__ Counters: Name Bytes Packets abcd::11:11:11:10/128,*,proto=6,dstport=80,srcport=65535 0 0 abcd::11:11:11:30/128,*,proto=17,port=65535 6395472 88826
Significado
La salida indica que los paquetes destinados a abcd::11:11:11:10/128 se descartan y 88826 paquetes han sido aceptados para la ruta abcd::11:11:11:11:30/128.
Configuración de la acción de especificación de flujo del BGP Redirigir a IP para filtrar tráfico de DDoS
A partir de Junos OS versión 18.4R1, la especificación de flujo del BGP como se describe en el borrador de Internet de BGP Flow-Spec draft-ietf-idr-flowspec-redirect-ip-02.txt, redirigir a acción de IP se admite. Redirigir a la acción de IP utiliza la comunidad extendida de BGP para ofrecer opciones de filtrado de tráfico para la mitigación de DDoS en las redes de proveedores de servicios. La especificación de flujo heredado redirige a IP mediante el atributo nexthop del BGP. Junos OS anuncia redireccionar a la acción de especificación de flujo IP mediante la comunidad extendida de forma predeterminada. Esta característica es necesaria para admitir el encadenamiento de servicios en la puerta de enlace de control de servicio virtual (vSCG). Redireccionar a la acción de IP permite desviar el tráfico de especificación de flujo coincidente a una dirección globalmente accesible que se podría conectar a un dispositivo de filtrado que puede filtrar el tráfico de DDoS y enviar el tráfico limpio al dispositivo de salida.
Antes de comenzar a redirigir el tráfico a IP para rutas de especificación de flujo del BGP, haga lo siguiente:
Configure las interfaces del dispositivo.
Configure el OSPF o cualquier otro protocolo IGP.
Configure MPLS y LDP.
Configure BGP.
Configure la función redireccionamiento a IP mediante la comunidad extendida del BGP.
Configure la especificación de flujo heredado redirigir a la función IP mediante el atributo nexthop.
No puede configurar políticas para redirigir el tráfico a una dirección IP mediante la comunidad extendida del BGP y la redirección heredada a la dirección IP del siguiente salto juntos.
Configure la especificación de flujo heredado redirigir a la IP especificada en el borrador de Internet draft-ietf-idr-flowspec-redirect-ip-00.txt, comunidad extendida de flujo-spec del BGP para redireccionamiento de tráfico a IP Siguiente salto incluyen en el nivel jerárquico.
[edit group bgp-group neighbor bgp neighbor family inet flow] user@host# set legacy-redirect-ip-action
Defina una política que coincida con el siguiente atributo de salto.
[edit policy options] user@host#policy statement policy_name user@host#from community community-name user@host#from next-hop ip-address
Por ejemplo, defina una p1 de política para redirigir el tráfico a la dirección IP del siguiente salto 10.1.1.1.
[edit policy options] user@host#policy statement p1 user@host#from community redirnh user@host#from next-hop 10.1.1.1
Defina una política para establecer, agregar o eliminar la comunidad de BGP mediante la redirección del atributo de siguiente salto de la especificación de flujo heredado a la acción IP.
[edit policy-options] user@host# policy-statement policy_name user@host# then community set community-name user@host# then community add community-name user@host# then community delete community-name user@host# then next-hop next-hop-address
Por ejemplo, defina una política p1 y establezca, agregue o elimine una redirnh de la comunidad de BGP para redirigir el tráfico de DDoS a la dirección IP de salto siguiente 10.1.1.1.
[edit policy-options policy-statement p1] user@host# then community set redirnh user@host# then community add redirnh user@host# then community delete redirnh user@host# then next-hop 10.1.1.1
Consulte también
Reenvío de tráfico mediante la acción DSCP de la especificación de flujo del BGP
Configure la acción de DSCP de la especificación de flujo del BGP (FlowSpec) para reenviar paquetes mediante la clase de reenvío y perder información de prioridad en toda la red de manera efectiva.
Beneficios de la acción DSCP de BGP FlowSpec para reenviar paquetes
-
Reenvía el tráfico a las colas DE COS deseadas, donde las políticas de COS se aplican correctamente al tráfico.
-
Influye en el comportamiento de reenvío local (por ejemplo, la selección del túnel) en función del valor DSCP aprovisionado.
-
Ayuda a administrar el tráfico en su red de manera eficaz.
Cuando un paquete entra en un enrutador, el paquete pasa por las funciones (como firewall, COS, etc.) aplicadas en la interfaz de entrada. Cuando configure el filtro FlowSpec del BGP en la interfaz de entrada, el filtro se aplica a los paquetes por instancia de enrutamiento según la acción DSCP. La acción DSCP clasifica y reescribe los paquetes, junto con el cambio de código DSCP mediante el filtro FlowSpec del BGP. Según la clase de reenvío y la información de prioridad de pérdida, los paquetes se colocan en la cola de reenvío correcta. Los paquetes viajan a través de rutas de flujo solo si se cumplen condiciones específicas de coincidencia. Las condiciones que coinciden pueden ser dirección IP de origen y destino, puerto de origen y destino, DSCP, número de protocolo, etc. La información de prioridad de pérdida y la clase de reenvío se actualizan a través de la tabla de asignación inversa.
Esta es una topología de una sesión de BGP establecida entre el proveedor de servicios y las redes de clientes empresariales.

En esta topología, se configura una sesión de BGP entre el proveedor de servicios y la red de cliente empresarial para BGP FlowSpec. El filtro FlowSpec del BGP se aplica tanto en enrutadores PE1 como PE2. Los paquetes que ingresan a estos enrutadores se reescriben según el filtro FlowSpec del BGP y la acción DSCP.
Para habilitar el filtro FlowSpec del BGP en un dispositivo, debe agregar la dscp-mapping-classifier
instrucción de configuración en el nivel de jerarquía [edit forwarding-options family (inet | inet6)
]:
forwarding-options { family inet { dscp-mapping-classifier ipv4-classifer; } family inet6 { dscp-mapping-classifier ipv6-classifer; } }
La siguiente clase de ejemplo de configuración de servicio asigna puntos de código DSCP a la clase de reenvío y prioridad de pérdida:
class-of-service { classifiers { dscp dscp1 { forwarding-class best-effort { loss-priority low code-points 000000; } } } }
extended-community
de tráfico.