EN ESTA PÁGINA
Ejemplo: Configuración de rutas BGP IPv6 a través de transporte IPv4
Descripción general de las sesiones de IPv6 de publicidad de rutas IPv4 a través de BGP
Ejemplo: Publicidad de rutas IPv4 a través de sesiones BGP IPv6
Descripción de la redistribución de rutas IPv4 con IPv6 Siguiente salto a BGP
Configuración de BGP para redistribuir rutas IPv4 con direcciones IPv6 de próximo salto
Descripción de las rutas de flujo de BGP para el filtrado de tráfico
Ejemplo: Permitir que BGP transporte rutas de especificación de flujo
Ejemplo: Configuración de BGP para llevar rutas de especificación de flujo IPv6
Reenvío de tráfico mediante la especificación de flujo BGP Acción DSCP
BGP de múltiples protocolos
Descripción del BGP multiprotocolo
Multiprotocolo BGP (MP-BGP) es una extensión de BGP que permite a BGP transportar información de enrutamiento para múltiples 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 BGP para transportar información de accesibilidad de capa de red (NLRI) para familias de direcciones distintas de unidifusión IPv4 incluyendo 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 transporte 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 permitir que MP-BGP lleve NLRI VPN de multidifusión para la familia de direcciones IPv4 y para 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 para 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 los niveles jerárquicos 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 nivel de [edit protocols bgp family]
jerarquía, todas las sesiones BGP actuales en el dispositivo de enrutamiento se eliminarán y, a continuación, se restablecerán.
En Junos OS versión 9.6 y posteriores, puede especificar un valor de bucles para una familia de direcciones BGP específica.
De forma predeterminada, los pares BGP solo transportan rutas de unidifusión utilizadas con fines de reenvío de unidifusión. Para configurar pares BGP para que solo transporten rutas de multidifusión, especifique la multicast
opción. Para configurar pares 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 de MP-BGP en diferentes tablas de enrutamiento. Cada tabla de enrutamiento se identifica mediante la familia de protocolos o el indicador de familia de direcciones (AFI) y un identificador de familia de direcciones (SAFI) posterior.
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
AFI=1, SAFI=128, L3VPN IPv4 unidifusión
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, L3VPN IPv6 unidifusión
AFI=2, SAFI=129, multidifusión L3VPN IPv6
AFI=1, SAFI=132, RT-Constrain
AFI=1, SAFI=133, especificación de flujo
AFI=1, SAFI=134, Flow-spec
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 sólo se pueden exportar a 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 pares BGP estándar.
La tabla de enrutamiento inet.2 debe ser un subconjunto de las rutas que tiene en inet.0, ya que es poco probable que tenga una ruta a un origen de multidifusión al que no pueda 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 obtenida por MP-BGP de las actualizaciones de multidifusión de NLRI. Se crea automáticamente una tabla de enrutamiento inet.2 al configurar MP-BGP (estableciendo NLRI en any
).
Cuando habilite MP-BGP, puede hacer lo siguiente:
- Limitar el número de prefijos recibidos en una sesión par BGP
- Limitar el número de prefijos aceptados en una sesión par BGP
- Configuración de grupos de tablas 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 BGP
Puede limitar el número de prefijos recibidos en una sesión par BGP y registrar mensajes con velocidad limitada cuando el número de prefijos inyectados supere un límite establecido. También puede desactivar el emparejamiento cuando el número de prefijos supere el límite.
Para configurar un límite en el número de prefijos que se pueden recibir en una sesión 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 los niveles jerárquicos en los que puede incluir esta instrucción, vea la sección de 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 interrumpe 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 se interrumpe la sesión, se restablece en poco tiempo (a menos que incluya la idle-timeout
declaración). Si incluye la idle-timeout
instrucción, la sesión se puede mantener inactiva durante un período de tiempo específico o para siempre. Si especifica forever
, la sesión sólo se restablece después de emitir un clear bgp neighbor
comando. Si incluye la drop-excess <percentage>
opción, el exceso de rutas se elimina 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 porcentual del número máximo. Si incluye la hide-excess <percentage>
opción, las rutas sobrantes se ocultan 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 porcentual del número máximo. Si se modifica el porcentaje, las rutas se reevalúan automáticamente. Si las rutas activas caen por debajo del porcentaje especificado, esas rutas se mantienen como ocultas.
En Junos OS versión 9.2 y posteriores, también puede configurar un límite para el número de prefijos que se pueden aceptar en una sesión del mismo nivel BGP. Para obtener más información, consulte Limitar el número de prefijos aceptados en una sesión par BGP.
Limitar el número de prefijos aceptados en una sesión par BGP
En Junos OS versión 9.2 y posteriores, puede limitar el número de prefijos que se pueden aceptar en una sesión del mismo nivel BGP. Cuando se supera ese límite especificado, se envía un mensaje de registro del sistema. También puede especificar que se restablezca la sesión BGP si se supera el límite del número de prefijos especificados.
Para configurar un límite al número de prefijos que se pueden aceptar en una sesión par 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 los niveles jerárquicos en los que puede incluir esta instrucción, vea la sección de 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 del par BGP cuando el número de prefijos aceptados supere el límite configurado. También puede incluir un valor porcentual 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 BGP que se restablece se restablece en poco tiempo. Incluya la idle-timeout
instrucción para evitar que la sesión BGP se restablezca durante un período de tiempo especificado. Puede configurar un valor de tiempo de espera de 1 a 2400 minutos. Incluya la forever opción para impedir que la sesión BGP se restablezca hasta que ejecute el clear bgp neighbor
comando. Si incluye la drop-excess <percentage>
instrucción y especifica un porcentaje, el exceso de rutas se elimina 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 reevalúan automáticamente.
Cuando el enrutamiento activo sin detención (NSR) está habilitado y se produce un cambio a un motor de enrutamiento de reserva, los pares BGP que están inactivos se reinician automáticamente. Los pares se reinician incluso si la idle-timeout forever
instrucción está configurada.
Como alternativa, puede configurar un límite para el número de prefijos que se pueden recibir (en lugar de aceptarse) en una sesión del mismo nivel BGP. Para obtener más información, consulte Limitar el número de prefijos recibidos en una sesión par BGP.
Configuración de grupos de tablas de enrutamiento BGP
Cuando una sesión 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 para multidifusión). Para agregar prefijos de unidifusión a las tablas de unidifusión y multidifusión, puede configurar grupos de tablas de enrutamiento BGP. Esto resulta útil si no puede realizar la negociación NLRI de multidifusión.
Para configurar grupos de tablas de enrutamiento BGP, incluya la rib-group
instrucción:
rib-group group-name;
Para obtener una lista de los niveles jerárquicos en los que puede incluir esta instrucción, vea la sección de 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 las rutas etiquetadas se coloquen en la tabla de enrutamiento para la resolución de inet.3 rutas. A continuación, estas rutas se resuelven para las conexiones de dispositivos de enrutamiento perimetral del proveedor (PE) en las que el PE remoto se encuentra en otro sistema autónomo (AS). Para que un dispositivo de enrutamiento PE instale una ruta en la instancia de enrutamiento de enrutamiento y reenvío VPN (VRF), el siguiente salto debe resolverse en una ruta almacenada en la inet.3 tabla.
Para resolver rutas en la tabla de inet.3 enrutamiento, incluya la resolve-vpn
instrucción:
resolve-vpn group-name;
Para obtener una lista de los niveles jerárquicos en los que puede incluir esta instrucción, vea la sección de resumen de instrucción de esta instrucción.
Permitir rutas etiquetadas y no etiquetadas
Puede permitir que se intercambien rutas etiquetadas y no etiquetadas en una sola sesión. Las rutas etiquetadas se colocan en la tabla de enrutamiento inet.3 o inet6.3, y el dispositivo de enrutamiento puede enviar o recibir rutas de unidifusión etiquetadas y sin etiquetar.
Para permitir el intercambio de rutas etiquetadas y sin etiquetar, incluya la rib
instrucción:
rib (inet.3 | inet6.3);
Para obtener una lista de los niveles jerárquicos en los que puede incluir esta instrucción, vea la sección de resumen de instrucción de esta instrucción.
Ejemplo: Configuración de rutas BGP IPv6 a través de transporte IPv4
En este ejemplo se muestra cómo exportar 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 cuando exporte prefijos BGP IPv6:
BGP deriva los prefijos del próximo salto mediante el prefijo IPv6 asignado a IPv4. Por ejemplo, el prefijo
10.19.1.1
IPv4 del próximo salto se traduce en el prefijo del siguiente salto IPv6 ::ffff:10.19.1.1.Nota:Debe haber una ruta activa al próximo salto IPv6 asignado 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.
Al configurar prefijos IPv6 asignados a IPv4, utilice una máscara que tenga más de 96 bits.
Configure una ruta estática si desea utilizar prefijos IPv6 normales. En este ejemplo se utilizan 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, a continuación, copie y pegue los comandos en la CLI en el nivel de [edit]
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
En el ejemplo siguiente, debe explorar por varios niveles en la jerarquía de configuración. Para obtener información acerca de cómo navegar por la CLI, consulte Uso del editor de CLI en modo de configuración en la Guía del usuario de 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 BGP para transportar rutas de unidifusión IPv4 y unidifusión 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 directiva 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 interfaces
, show policy-options
, show protocols
y show routing-options
para confirmar la 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;
Cuando termine de configurar el dispositivo, ingrese commit en 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 funcione correctamente.
Comprobación del estado del vecino
Propósito
Asegúrese de que BGP esté habilitado para transportar rutas de unidifusión IPv6.
Acción
Desde el modo operativo, ingrese el comando show bgp neighbor
.
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 en la salida muestran que BGP está habilitado para transportar rutas de inet6-unicast unidifusión IPv6.
Comprobación de la tabla de enrutamiento
Propósito
Asegúrese de que el dispositivo R2 tiene rutas BGP en su tabla de enrutamiento inet6.0.
Acción
Desde el modo operativo, ingrese el comando show route protocol bgp inet6.0
.
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 las sesiones de IPv6 de publicidad de rutas IPv4 a través de BGP
En una red IPv6, BGP suele anunciar información de accesibilidad de la capa de red IPv6 a través de una sesión IPv6 entre pares BGP. En versiones anteriores, Junos OS solo admitía el intercambio de familias de direcciones de unidifusión inet6, multidifusión inet6 o unidifusión etiquetada inet6. Esta característica permite el intercambio de todas las familias de direcciones BGP. En un entorno de doble pila que tiene IPv6 en su núcleo. esta característica permite a BGP anunciar la accesibilidad de unidifusión IPv4 con el siguiente salto IPv4 a través de una sesión BGP IPv6.
Esta característica es solo para sesiones BGP IPv6, donde 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 múltiples saltos. Para los altavoces BGP externos de un solo salto que no forman parte de las confederaciones BGP, si la dirección IPv4 local configurada no está conectada directamente, la sesión 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 enrutamiento IPv4 a través de una sesión IPv6, configure local-ipv4-address
lo siguiente:
[edit protocols bgp family inet unicast] local-ipv4-address local ipv4 address;
No puede configurar esta característica para las familias de direcciones de unidifusión inet6, multidifusión inet6 o unidifusión etiquetada como inet6 porque BGP ya tiene la capacidad de anunciar estas familias de direcciones a través de una sesión BGP IPv6.
El configurado local-ipv4-address
sólo se utiliza cuando BGP anuncia rutas con salto autosiguiente. Cuando el IBGP anuncia rutas aprendidas de los pares del EBGP o el reflector de rutas anuncia rutas BGP a sus clientes, BGP no cambia el próximo salto de la ruta, ignora el configurado local-ipv4-address
y utiliza el siguiente salto IPv4 original.
Consulte también
Ejemplo: Publicidad de rutas IPv4 a través de sesiones BGP IPv6
En este ejemplo se muestra cómo anunciar rutas IPv4 a través de una sesión 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 IPv4 próximos saltos a pares BGP a través de sesiones BGP utilizando direcciones de origen y destino IPv6. Esta función permite a BGP anunciar la accesibilidad de unidifusión IPv4 con el próximo salto IPv4 sobre sesiones 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 ejecutándose en todos los dispositivos
Antes de habilitar los anuncios IPv4 en sesiones 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 siguiente salto IPv4 a través de una sesión BGP IPv6. En versiones anteriores de Junos OS, BGP solo podía anunciar las familias de direcciones de unidifusión inet6, multidifusión inet6 y unidifusión etiquetadas con inet6 en sesiones BGP IPv6. Esta función permite que BGP intercambie todas las familias de direcciones BGP a través de una sesión IPv6. Puede habilitar BGP para que anuncie rutas IPv4 con próximos saltos IPv4 a pares BGP a través de sesión IPv6. El configurado local-ipv4-address
sólo se utiliza cuando BGP anuncia rutas con salto autosiguiente.
No puede configurar esta característica para las familias de direcciones de unidifusión inet6, multidifusión inet6 o unidifusión etiquetada como inet6 porque BGP ya tiene la capacidad de anunciar estas familias de direcciones a través de una sesión BGP IPv6.
Topología
En Figura 2, se está ejecutando una sesión BGP externa IPv6 entre los enrutadores R1 y R2. Se establece una sesión de IBGP IPv6 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 BGP IPv6, la nueva característica debe estar habilitada en todos los enrutadores en el nivel jerárquico [edit protocols bgp address family]
.

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 [edit] y, luego, ingrese commit
desde el 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 ejemplo siguiente requiere que navegue por varios niveles en la jerarquía de configuración. Para obtener información acerca de cómo navegar por la CLI, consulte Uso del editor de CLI en 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 deba 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 EBGP en los enrutadores perimetrales 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 la adición IPv4 140.1.1.1 a través de sesiones BGP IPv6.
[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 interfaces, show protocols, show routing-options y show policy-options para confirmar la configuració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; }
Cuando termine de configurar el dispositivo, confirme la configuración.
user@R1# commit
Verificación
Confirme que la configuración funcione correctamente.
- Comprobación de que la sesión BGP está activa
- Verificación de que se anuncia la dirección IPv4
- Comprobación de que el enrutador vecino R2 del BGP recibe la dirección IPv4 anunciada
Comprobación de que la sesión BGP está activa
Propósito
Compruebe que BGP se está ejecutando en las interfaces configuradas y que la sesión BGP está activa para cada dirección vecina.
Acción
Desde el modo operativo, ejecute el comando en el show bgp summary 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 BGP está en funcionamiento y se establece el emparejamiento BGP.
Verificación de que se anuncia la dirección IPv4
Propósito
Verifique que el enrutador R1 anuncie la dirección IPv4 configurada a los vecinos del BGP configurados.
Acción
Desde el modo operativo, ejecute el comando en el show route advertising-protocol bgp ::150.1.1.2 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 vecino BGP Router R2.
Comprobación de que el enrutador vecino R2 del BGP recibe la dirección IPv4 anunciada
Propósito
Verifique que el enrutador R2 reciba la dirección IPv4 que el enrutador R1 anuncia al vecino 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 IPv6 Siguiente salto a BGP
En una red que transporta predominantemente tráfico IPv6, es necesario enrutar las rutas IPv4 cuando sea necesario. Por ejemplo, un proveedor de servicios Internet que tiene una red solo IPv6, pero tiene clientes que aún enrutan el 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, Publicidad de información de accesibilidad de la capa de red IPv4 con un próximo salto IPv6 El tráfico IPv4 se tuneliza desde los dispositivos del equipo en las instalaciones del cliente (CPE) a las puertas de enlace IPv4 a través de IPv6. Estas puertas de enlace se anuncian a los dispositivos CPE a través de direcciones anycast. Luego, los dispositivos de puerta de enlace crean túneles dinámicos de IPv4 sobre IPv6 a dispositivos CPE remotos y anuncian rutas agregadas IPv4 para dirigir el tráfico.
La función de túnel dinámico IPv4 sobre IPv6 no admite ISSU unificado en Junos OS versión 17.3R1.
Los reflectores de ruta (RR) con una interfaz programable se conectan a través de IBGP a los enrutadores de puerta de enlace y rutas de host con dirección IPv6 como próximo salto. Estos RR anuncian las direcciones IPv4 /32 para inyectar la información del túnel en la red. Los enrutadores de puerta de enlace crean túneles dinámicos de IPv4 sobre IPv6 hacia el borde del proveedor del cliente remoto. El enrutador de puerta de enlace también anuncia las rutas agregadas IPv4 para dirigir el tráfico. A continuación, el RR anuncia las rutas de origen del túnel al ISP. Cuando el RR elimina la ruta del túnel, BGP también retira la ruta, lo que hace que el túnel se derribe y el CPE sea inaccesible. El enrutador de puerta de enlace también retira las rutas agregadas IPv4 y las rutas de origen del túnel IPv6 cuando se quitan todas las rutas contribuyentes 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 deja de funcionar, 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 BGP del siguiente salto
- Localización de túneles
- Manejo de túneles
- Equilibrio de carga de túnel y manejo de fallas en el motor de reenvío de paquetes ancla
- Estadísticas de flujo de bucle invertido de túnel
Codificación BGP del siguiente salto
BGP se amplía con la capacidad de codificación del siguiente salto que se utiliza para enviar rutas IPv4 con los siguientes saltos IPv6. Si esta capacidad no está disponible en el par remoto, BGP agrupa los pares en función de esta capacidad de codificación y elimina la familia BGP sin capacidad de codificación de la lista de información de accesibilidad de capa de red negociada (NLRI). Junos OS solo permite una tabla de resolución, como inet.0. Para permitir rutas BGP IPv4 con los siguientes saltos IPv6, 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 de RFC 5549, Publicidad de información de accesibilidad de la capa de red IPv4 con un próximo salto IPv6 , se introduce una nueva comunidad de encapsulación especificada en RFC 5512, se introducen el identificador de familia de direcciones posterior de encapsulación BGP (SAFI) 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 necesita crear. Cuando BGP recibe rutas IPv4 con la dirección del próximo salto IPv6 y la comunidad de encapsulación V4oV6, BGP crea túneles dinámicos IPv4 sobre IPv6. Cuando BGP recibe rutas sin la comunidad de encapsulación, las rutas BGP se resuelven sin crear el túnel V4oV6.
Hay disponible una nueva acción dynamic-tunnel-attributes dyan-attribute
de directiva en el nivel de [edit policy-statement policy name term then]
jerarquía para admitir la nueva encapsulación extendida.
Localización de túneles
La infraestructura dinámica de túneles se ha mejorado con localización de túneles para admitir un mayor número de túneles. Es necesario que la localización de túneles proporcione resistencia para manejar el tráfico cuando falla el anclaje. Uno o más chasis se respaldan entre sí y permiten que el proceso de protocolo de enrutamiento (RPD) dirija el tráfico desde el punto de error hacia el 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 sobre IPv6 utilizan la infraestructura de túnel dinámico junto con el anclaje del túnel para admitir la escala amplia del chasis requerida. El estado del túnel se localiza en un motor de reenvío de paquetes y los otros motores de reenvío de paquetes dirigen el tráfico al ancla del túnel.
Entrada de túnel


Encapsula el tráfico IPv4 dentro del encabezado IPv6.
La aplicación de la unidad de transmisión máxima (MTU) se realiza antes de la encapsulación. Si el tamaño del paquete encapsulado supera la MTU del túnel y el paquete
DF-bit
IPv4 no está establecido, el paquete se fragmenta y estos fragmentos se encapsulan.Utiliza el equilibrio de carga de tráfico basado en hash en los encabezados de paquetes internos.
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 antisuplantación para asegurarse de que el par IPv6, IPv4 coincide con la información que se utilizó para configurar el túnel.
Busca la dirección de destino IPv4 del 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 en el motor de reenvío de paquetes ancla
El error del motor de reenvío de paquetes debe tratarse con prontitud 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úneles implica el uso de anuncios BGP para reparar el error globalmente. El tráfico del túnel se desvía del punto de error a otro chasis de reserva que contenga el mismo estado de túnel. Para el equilibrio de carga de tráfico, el chasis está configurado para anunciar diferentes valores de discriminador 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 de CPE también se maneja de manera similar, configurando el mismo conjunto de direcciones anycast en cada chasis y dirigiendo solo una cuarta parte del tráfico hacia cada chasis.
El motor de reenvío de paquetes de ancla es la única entidad que realiza todo el procesamiento de un túnel. La selección del motor de reenvío de paquetes de anclaje se realiza mediante aprovisionamiento estático y está vinculada a las interfaces físicas del motor de reenvío de paquetes. Cuando uno de los motores de reenvío de paquetes deja de funcionar, 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 protocolo de enrutamiento, al proceso de protocolo de enrutamiento y a otros demonios. El proceso del protocolo de enrutamiento envía retiros de BGP para los prefijos anclados en el motor de reenvío de paquetes con errores y las direcciones IPv6 asignadas al motor de reenvío de paquetes que está inactivo. Estos anuncios redirigen el tráfico a otros chasis de reserva. Cuando el motor de reenvío de paquetes fallido vuelve a funcionar, 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 actualizaciones de BGP para sus pares que los túneles anclados al motor de reenvío de paquetes específico ahora están disponibles para el tráfico de enrutamiento. La configuración de túneles a gran escala puede tardar minutos en realizar este proceso. Por lo tanto, el Ack
mecanismo está integrado en el sistema para garantizar una pérdida de tráfico mínima mientras se vuelve a cambiar el tráfico al chasis original.
Estadísticas de flujo de bucle invertido de túnel
La infraestructura de túnel dinámico utiliza flujos de circuito cerrado en el motor de reenvío de paquetes para bucle del paquete después de la encapsulación. Dado que el ancho de banda de esta secuencia de circuito cerrado es limitado, es necesario supervisar el rendimiento de las secuencias de bucle invertido 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 bucle invertido, incluidas la velocidad de reenvío, la velocidad de envío de paquetes de colocación y la velocidad de bytes.
Consulte también
Configuración de 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 tuneliza desde los dispositivos CPE a puertas de enlace IPv4 a través de IPv6. Estas puertas de enlace se anuncian a los dispositivos CPE a través de direcciones anycast. Luego, los dispositivos de puerta de enlace crean túneles dinámicos de IPv4 sobre IPv6 para equipos remotos en las instalaciones del cliente 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 están conectados a través de IBGP a enrutadores de puerta de enlace, que anuncian las direcciones IPv4 de rutas de host con direcciones IPv6 como el próximo salto.
La función de túnel dinámico IPv4 sobre IPv6 no admite ISSU unificado en Junos OS versión 17.3R1.
Antes de empezar a configurar BGP para distribuir rutas IPv4 con direcciones IPv6 del próximo salto, haga lo siguiente:
Configure las interfaces del dispositivo.
Configure OSPF o cualquier otro protocolo IGP.
Configure MPLS y LDP.
Configure BGP.
Para configurar el BGP para distribuir rutas IPv4 con direcciones IPv6 del próximo salto:
Consulte también
Habilitación de la señalización VPN y VPLS de capa 2
Puede habilitar BGP para que transporte mensajes NLRI VPN y VPLS de capa 2.
Para habilitar la señalización 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 los niveles jerárquicos en los que puede incluir esta instrucción, vea la sección de 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 los niveles jerárquicos en los que puede incluir esta instrucción, vea la sección de 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 interrumpe 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 se interrumpe la sesión, se restablece en poco tiempo. Incluya la idle-timeout
instrucción para mantener la sesión baja durante un período de tiempo especificado o para siempre. Si especifica forever
, la sesión sólo se restablece después de utilizar el clear bgp neighbor
comando. Si incluye la drop-excess <percentage>
instrucción y especifica un porcentaje, el exceso de rutas se elimina 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 reevalúan automáticamente.
Consulte también
Descripción de las rutas de flujo de 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 y se instalan en la tabla instance-name.inetflow.0
de enrutamiento de flujo. Los paquetes pueden viajar a través de rutas de flujo solo si se cumplen condiciones de coincidencia específicas.
Las rutas de flujo y los filtros de firewall son similares en el sentido de que filtran paquetes en función de sus componentes y realizan una acción en los paquetes coincidentes. Las rutas de flujo proporcionan 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 BGP para propagar estas NLRI.
A partir de Junos OS versión 15.1, se implementaron cambios para ampliar la compatibilidad con el enrutamiento activo sin paradas (NSR) para las familias inet-flow e inetvpn-flow existentes y ampliar la validación de rutas para BGP flowspec por draft-ietf-idr-bgp-flowspec-oid-01. Se introducen dos nuevas declaraciones como parte de esta mejora. 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 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 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 sin paradas (NSR).
A partir de Junos OS versión 16.1R1, la especificación de flujo BGP admite la acción de filtrado de marcado 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. Para los paquetes IPv6, Junos OS modifica los primeros seis bits del traffic class
campo del paquete IPv6 transmisor al valor correspondiente de la comunidad extendida.
A partir de Junos OS versión 17.1R1, BGP puede transportar mensajes de información de accesibilidad de capa de red (NLRI) de especificación de flujo en enrutadores serie PTX que tengan instalados 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). La propagación de la información del filtro de firewall como parte de BGP permite propagar filtros de firewall contra ataques de denegación de servicio (DOS) de forma dinámica en sistemas autónomos.
A partir de Junos OS versión 17.2R1, BGP puede transportar mensajes de información de accesibilidad de capa de red (NLRI) de especificación de flujo en enrutadores PTX1000 que tengan instalados FPC de tercera generación. La propagación de la información del filtro de firewall como parte de BGP permite propagar filtros de firewall contra ataques de denegación de servicio (DOS) de forma dinámica en sistemas autónomos.
A partir de la versión 20.3R1 de cRPD, las rutas de flujo y las reglas de vigilancia propagadas a través de la especificación de flujo BGP NLRI se descargan en el kernel de Linux a través del marco 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 BGP Flow-Specification Algorithm versión 7 y posteriores
Condiciones de coincidencia para rutas de flujo
Especifique condiciones que el paquete debe coincidir antes de que se realice la acción de la then
instrucción para una ruta de flujo. Todas las condiciones de la from
declaración deben coincidir para que se tome la acción. 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 nivel de [edit routing-options flow]
jerarquía.
Tabla 1 Describe las condiciones de coincidencia de la ruta de flujo.
Condición de coincidencia |
Description |
---|---|
|
Campo Dirección de destino IP. Puede usar el |
|
Campo de puerto de destino TCP o protocolo de datagramas de usuario (UDP). No puede especificar las condiciones de coincidencia En lugar del valor numérico, puede especificar uno de los siguientes sinónimos de texto (también se enumeran los números de puerto): |
|
Punto de código de servicios diferenciados (DSCP). El protocolo DiffServ utiliza 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 formato hexadecimal o decimal. |
|
Hacer coincidir 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 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 siguientes sinónimos de texto (también se enumeran los valores de campo). Las palabras clave se agrupan por el tipo de ICMP con el que están asociadas:
|
|
Campo de tipo de paquete ICMP. Normalmente, esta coincidencia se especifica junto con la instrucción de En lugar del valor numérico, puede especificar uno de los siguientes sinónimos de texto (también se enumeran los valores de campo): |
|
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 (también se enumeran los valores de campo): Esta condición de coincidencia solo se admite para IPv6 en dispositivos Junos con MPC mejorados configurados para |
|
Campo 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 se 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 nivel jerárquico [edit routing-options flow]
.
Tabla 2 Describe las acciones de la ruta de flujo.
Acción o modificador de acción |
Description |
---|---|
Acciones | |
|
Aceptar un paquete. Este es el valor predeterminado. |
|
Descarte un paquete silenciosamente, sin enviar un mensaje del Protocolo de mensajes de control de Internet (ICMP). |
|
Reemplace todas las comunidades de la ruta por las comunidades especificadas. |
marcar 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 mejoradas configuradas para |
|
Continúe con la siguiente condición de coincidencia para la evaluación. |
|
Especifique una instancia de enrutamiento a la que se reenvíen 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 intervalo de límite de velocidad es de [0 a 100000000000]. |
|
Muestree el 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 las 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) de BGP se validan antes de instalarse en la tabla instance.inetflow.0
de enrutamiento de instancia principal de flujo. El procedimiento de validación se describe en el draft-ietf-idr-flow-spec-09.txt, Reglas de especificación de difusión de flujo. Puede omitir el proceso de validación de rutas de flujo mediante mensajes BGP NLRI 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 nivel jerárquico [edit routing-options flow]
.
Compatibilidad con BGP Flow-Specification Algorithm versión 7 y posteriores
De forma predeterminada, Junos OS utiliza el algoritmo de orden de términos definido en la versión 6 del borrador de especificación de flujo BGP. En Junos OS versión 10.0 y posteriores, puede configurar el enrutador para que cumpla con el algoritmo de orden de términos definido por primera vez en la versión 7 de la especificación de flujo BGP y admitido a través de RFC 5575, Difusión de rutas de especificación de flujo.
Se recomienda configurar Junos OS para que utilice el algoritmo de ordenación de términos definido por primera vez en la versión 7 del borrador de especificación de flujo BGP. También recomendamos configurar Junos OS para que utilice el mismo algoritmo de orden de términos en todas las instancias de enrutamiento configuradas en un enrutador.
Para configurar BGP de modo que utilice el algoritmo de especificación de flujo definido por primera vez 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 al uso del algoritmo de ordenación de términos definido en la versión 6, incluya la legacy
instrucción en el nivel de [edit routing-options flow term-order]
jerarquía.
El orden de términos configurado solo tiene significado local. Es decir, el orden de términos no se propaga con las rutas de flujo enviadas a los pares de BGP remotos, cuyo orden de términos 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 pedido cuando no conozca el término configuración de orden de los pares remotos. El local next term
puede diferir del next term
configurado 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 de filtro en el que next term
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 flowspec filtro al 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 el flowspec filtro de la aplicación al tráfico recibido en interfaces específicas, primero debe configurar un group-id
en dichas interfaces incluyendo la instrucción grupo de filtros group-id
de familia inet
en el nivel de [edit interfaces]
jerarquía y, a continuación, adjuntar el flowspec filtro al grupo de interfaces incluyendo la flow interface-group group-id exclude
instrucción en el nivel de [edit routing-options]
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 BGP transporte rutas de especificación de flujo
En este ejemplo se muestra cómo permitir que BGP lleve 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 de BGP permite propagar filtros de firewall contra ataques de denegación de servicio (DOS) de forma dinámica en 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), compartiendo información similar 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
o familia inet-vpn flow
NLRI, afectando las rutas de flujo aceptadas o anunciadas, de manera similar a como se aplican las políticas de importación y exportación a otras familias BGP. La única diferencia es que la configuración de la directiva de flujo debe incluir la instrucción from rib inetflow.0
. Esta instrucción hace que la directiva se aplique a las rutas de flujo. Se produce una excepción a esta regla si la directiva solo tiene la then reject
instrucción o y then accept
ninguna from
instrucción. A continuación, la política afecta a todas las rutas, incluidas 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 coincidentes seguidos de las acciones a realizar. A continuación, además de family inet unicast
, family inet flow
(o family inet-vpn flow
) se configura entre este dispositivo habilitado para 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 compatibles con family inet flow
o family inet-vpn flow
NLRI.
El dispositivo habilitado para BGP receptor realiza un proceso de validación antes de instalar el filtro de firewall en la tabla instance-name.inetflow.0
de enrutamiento dinámico. El procedimiento de validación se describe en RFC 5575, Difusión de reglas de especificación de flujo.
El dispositivo habilitado para BGP receptor 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 de mejor coincidencia para 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 ha recibido de un sistema autónomo de siguiente salto diferente.
El primer criterio garantiza que el filtro está siendo anunciado por el siguiente salto utilizado por el reenvío de unidifusión para la dirección de destino incrustada en la ruta de flujo. Por ejemplo, si una ruta de flujo se da como 10.1.1.1, proto=6, port=80, el dispositivo habilitado para BGP receptor selecciona la ruta de unidifusión más específica de la tabla de enrutamiento de unidifusión que coincida 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, este último se elige como la ruta de unidifusión con la que se va a comparar. Solo se tiene en cuenta la entrada de ruta de unidifusión activa. Esto sigue el concepto de que una ruta de flujo es válida si es anunciada por el originador de la mejor ruta de unidifusión.
El segundo criterio aborda situaciones en las que un bloque de direcciones determinado se asigna a diferentes entidades. Los flujos que se resuelven en una ruta de unidifusión más coincidente que es una ruta agregada solo se aceptan si no cubren rutas más específicas que se enrutan a diferentes sistemas autónomos del próximo salto.
Puede omitir el proceso de validación de rutas de flujo mediante mensajes BGP NLRI y usar su propia política de importación específica. Cuando BGP lleva mensajes NLRI de especificación de flujo, la no-validate
instrucción en el nivel de [edit protocols bgp group group-name family inet flow]
jerarquía omite el procedimiento de validación de ruta de flujo después de que una política acepte los paquetes. Puede configurar la directiva de importación para que coincida con la dirección de destino y los atributos de ruta, como la comunidad, el próximo salto y la ruta del AS. Puede especificar la acción que se 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 nivel jerárquico [edit routing-options flow]
. El tipo NLRI de especificación de flujo incluye componentes como el prefijo de destino, el prefijo de origen, el protocolo y los puertos, tal como se definen en el RFC 5575. La política de importación puede filtrar una ruta entrante mediante atributos de ruta y dirección de destino en la NLRI de especificación de flujo. La directiva de importación no puede filtrar ningún otro componente en el RFC 5575.
La especificación de flujo define las extensiones de protocolo necesarias para abordar las aplicaciones más comunes de filtrado de unidifusión IPv4 y unidifusión VPN. Se puede reutilizar el mismo mecanismo y agregar nuevos criterios de coincidencia para abordar un 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 son compatibles con las VPN. La VPN compara la comunidad extendida de destino de ruta en el 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 compartir entre VPN. Para permitir que el BGP multiprotocolo (MP-BGP) lleve NLRI de especificación de flujo para la familia de inet-vpn
direcciones, incluya la flow
instrucción en el nivel de [edit protocols bgp group group-name family inet-vpn]
jerarquía. Las rutas de flujo 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 nivel de [edit protocols bgp group group-name family inet-vpn]
jerarquía. No es necesaria ninguna validación si las rutas de flujo se configuran localmente entre dispositivos en un solo AS.
Las políticas de family inet flow
importación y exportación se pueden aplicar al o family inet-vpn flow
NLRI, 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 BGP. La única diferencia es que la configuración de la directiva de flujo debe incluir la from rib inetflow.0
instrucción. Esta instrucción hace que la directiva se aplique a las rutas de flujo. Se produce una excepción a esta regla si la directiva solo tiene la then reject
instrucción o y then accept
ninguna from
instrucción. A continuación, la política afecta a todas las rutas, incluidas la unidifusión IP y el flujo de IP.
En este ejemplo se muestra cómo configurar las siguientes directivas de exportación:
Una política que permite la publicidad 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 publicitario especificadas por un filtro de ruta
- Publicidad de 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 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, a continuación, copie y pegue los comandos en la CLI en el nivel de [edit]
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 ejemplo siguiente requiere que navegue por varios niveles en la jerarquía de configuración. Para obtener información acerca de cómo navegar por la CLI, consulte Uso del editor de CLI en modo de configuración en la Guía del usuario de CLI de Junos OS.
Para configurar las sesiones del par BGP:
Configure las condiciones del partido.
[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ándar.
[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 RFC flowspec Versión 6, un término con condiciones de coincidencia menos específicas siempre se evalúa antes que un término con condiciones de coincidencia más específicas. Esto hace que el término con condiciones de coincidencia más específicas nunca sea evaluado. La versión 7 de RFC 5575 realizó 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 modifica en Junos OS, aunque el algoritmo más reciente tiene más sentido. Para usar el algoritmo más reciente, incluya la
term-order standard
instrucción en la configuración. Esta instrucción se admite en Junos OS versión 10.0 y posteriores.
Resultados
Desde el modo de configuración, confírmela con el comando show routing-options
. 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; } }
Cuando termine de configurar el dispositivo, ingrese commit
en el modo de configuración.
Rutas de flujo publicitario 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, a continuación, copie y pegue los comandos en la CLI en el nivel de [edit]
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 ejemplo siguiente requiere que navegue por varios niveles en la jerarquía de configuración. Para obtener información acerca de cómo navegar por la CLI, consulte Uso del editor de CLI en modo de configuración en la Guía del usuario de CLI de Junos OS.
Para configurar las sesiones del par 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 un número de AS local legítimo.
[edit routing-options] user@host# set autonomous-system 65001
Resultados
Desde el modo de configuración, escriba los comandos , y show routing-options
para confirmar la show protocols
configuración. show policy-options
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;
Cuando termine de configurar el dispositivo, ingrese commit
en el modo de configuración.
Publicidad de 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, a continuación, copie y pegue los comandos en la CLI en el nivel de [edit]
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 ejemplo siguiente requiere que navegue por varios niveles en la jerarquía de configuración. Para obtener información acerca de cómo navegar por la CLI, consulte Uso del editor de CLI en modo de configuración en la Guía del usuario de CLI de Junos OS.
Para configurar las sesiones del par 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 un número de AS local legítimo.
[edit routing-options] user@host# set autonomous-system 65001
Resultados
Desde el modo de configuración, escriba los comandos , y show routing-options
para confirmar la show protocols
configuración. show policy-options
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;
Cuando termine de configurar el dispositivo, ingrese commit
en 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, a continuación, copie y pegue los comandos en la CLI en el nivel de [edit]
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 ejemplo siguiente requiere que navegue por varios niveles en la jerarquía de configuración. Para obtener información acerca de cómo navegar por la CLI, consulte Uso del editor de CLI en modo de configuración en la Guía del usuario de CLI de Junos OS.
Para configurar las sesiones del par 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 un número de AS local legítimo.
[edit routing-options] user@host# set autonomous-system 65001
Resultados
Desde el modo de configuración, escriba los comandos , y show routing-options
para confirmar la show protocols
configuración. show policy-options
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;
Cuando termine de configurar el dispositivo, ingrese commit
en 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, a continuación, copie y pegue los comandos en la CLI en el nivel de [edit]
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 ejemplo siguiente requiere que navegue por varios niveles en la jerarquía de configuración. Para obtener información acerca de cómo navegar por la CLI, consulte Uso del editor de CLI en modo de configuración en la Guía del usuario de 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 se rechazan las rutas, BGP no necesariamente intenta reinstalar las rutas rechazadas después de que el número de rutas caiga por debajo del límite. Es posible que las sesiones BGP deban borrarse 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, donde 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, confírmela con el comando show routing-options
. 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; }
Cuando termine de configurar el dispositivo, ingrese commit
en el modo de configuración.
Limitar el número de prefijos recibidos en una sesión de emparejamiento 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, a continuación, copie y pegue los comandos en la CLI en el nivel de [edit]
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 , drop-excess <percentage>
o hide-excess<percentage>
instrucción teardown <percentage>
de uno en uno.
Procedimiento paso a paso
El ejemplo siguiente requiere que navegue por varios niveles en la jerarquía de configuración. Para obtener información acerca de cómo navegar por la CLI, consulte Uso del editor de CLI en modo de configuración en la Guía del usuario de CLI de Junos OS.
La configuración de 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 vecina o los prefijos para que realicen
teardown <percentage>
drop-excess <percentage>
la opción , ohide-excess<percentage>
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 que se cierra 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 elimina 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, confírmela con el comando show protocols
. 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>; } } } } } }
Cuando termine de configurar el dispositivo, ingrese commit
en el modo de configuración.
Verificación
Confirme que la configuración funcione correctamente.
- Verificación del NLRI
- Verificación de rutas
- Verificación de la validación del flujo
- Verificación de filtros de firewall
- Verificar el registro del sistema cuando se excede el número de rutas de flujo permitidas
- Comprobación del registro del sistema cuando se supera el número de prefijos recibidos en una sesión de emparejamiento BGP
Verificación del 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
Verificación de rutas
Propósito
Mira las rutas de flujo. La salida de ejemplo muestra una ruta de flujo aprendida de BGP y una ruta de flujo configurada estáticamente.
Para las rutas de flujo configuradas localmente (configuradas en el nivel de [edit routing-options flow]
jerarquía), las rutas se instalan mediante el protocolo de flujo. Por lo tanto, puede mostrar las rutas de flujo especificando la tabla, como en show route table inetflow.0
o show route table instance-name.inetflow.0
, donde instance-name
es el nombre de la 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, sino que se recibe del par BGP del enrutador, BGP instala esta ruta de flujo en la tabla de enrutamiento. Puede mostrar las rutas de flujo especificando la tabla o ejecutando show route protocol bgp
, que muestra todas las rutas 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 un filtro de firewall. Cuando se configura una ruta de flujo, se especifican las condiciones de coincidencia y las acciones. En los atributos coincidentes, 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 único que contiene 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, se muestra el campo de prefijo de la ruta 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 en la salida fuera *,10.12.44.1
, esto significaría que la condición de coincidencia era match source 10.12.44.1/32
. Si las condiciones coincidentes contienen tanto un origen como un destino, el asterisco se sustituye por la dirección.
Los números de orden de términos indican la secuencia de términos (rutas de flujo) que se evalúan en el filtro de firewall. El show route extensive
comando muestra las acciones de cada término (ruta).
Verificación de la validación del 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
Verificación de filtros de firewall
Propósito
Muestra los filtros de firewall que están instalados 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 cuando se excede el número 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 alcance 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)
Comprobación del registro del sistema cuando se supera el número de prefijos recibidos en una sesión de emparejamiento 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 BGP, vea el mensaje de registro del sistema cuando se alcance el umbral.
Acción
Desde el modo operativo, ejecute el show log message comando.
Si especifica la opción de teradown <percentage>
instrucción:
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 drop-excess <percentage>
instrucción:
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 hide-excess <percentage>
instrucción:
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 de BGP para llevar 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 BGP se puede usar para automatizar la coordinación entre dominios y dentro de dominio 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 BGP para que transporte 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) de la tabla de enrutamiento a BGP.
Descripción general
La especificación de flujo proporciona protección contra ataques de denegación de servicio y restringe el tráfico incorrecto que consume el ancho de banda y lo detiene cerca del origen. En versiones anteriores de Junos OS, las reglas de especificación de flujo se propagaban para IPv4 a través de 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 y VPN IPv6.
Topología
Figura 7 muestra la topología de ejemplo. Los enrutadores R1 y R2 pertenecen a sistemas autónomos diferentes. La especificación de flujo IPv6 se configura en el enrutador R2. Todo el tráfico entrante se filtra en función de las condiciones de especificación de flujo y el tráfico se trata de manera diferente en función de la acción especificada. En este ejemplo, se descarta todo el tráfico dirigido a abcd::11:11:11:10/128 que coincida con las condiciones de especificación de flujo; Considerando que, se acepta el tráfico destinado a ABCD::11:11:11:30/128 y que cumpla 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 [edit] y, luego, ingrese commit
desde el 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 ejemplo siguiente requiere que navegue por varios niveles en la jerarquía de configuración. Para obtener información acerca de cómo navegar por la CLI, consulte Uso del editor de CLI en 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, 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 del 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 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 característica 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 al BGP aceptar 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 interfaces, show protocols, show routing-options y show policy-options para confirmar la configuració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 funcione correctamente.
- Comprobación de la presencia de rutas de especificación de flujo IPv6 en la tabla inet6flow
- Verificación de la información de resumen de BGP
- Verificación de la validación del flujo
- Verificación de la especificación de flujo de rutas IPv6
Comprobación de la presencia de rutas de especificación de flujo IPv6 en la tabla inet6flow
Propósito
Muestre las rutas de la tabla en los inet6flow
enrutadores R1 y R2 y compruebe que BGP haya aprendido las rutas de flujo.
Acción
Desde el modo operativo, ejecute el comando en el show route table inet6flow.0 extensive 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 las 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.
Verificación de la información de resumen de BGP
Propósito
Compruebe que la configuración del BGP es correcta.
Acción
Desde el modo operativo, ejecute el comando en los show bgp summary enrutadores 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 del vecino del BGP y que se ha establecido una sesión de emparejamiento con su vecino del BGP.
Verificación de la validación del flujo
Propósito
Muestra información de ruta de flujo.
Acción
Desde el modo operativo, ejecute el comando en el show route flow validation 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.
Verificación de la especificación de flujo de rutas IPv6
Propósito
Muestra el número de paquetes que se descartan y aceptan en función de 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 se han aceptado 88826 paquetes para la ruta abcd::11:11:11:11:11:30/128.
Configuración de la acción de especificación de flujo BGP Redirigir a IP para filtrar el tráfico DDoS
A partir de Junos OS versión 18.4R1, se admite la especificación de flujo BGP como se describe en el borrador de draft-ietf-idr-flowspec-redirect-ip-02.txt de Internet BGP Flow-Spec, se admite la acción Redirigir a IP . La acción de redireccionamiento a IP utiliza la comunidad BGP extendida para proporcionar opciones de filtrado de tráfico para la mitigación de DDoS en redes de proveedores de servicios. La redirección de especificación de flujo heredada a IP utiliza el atributo BGP nexthop. Junos OS anuncia la acción de especificación de redireccionamiento a flujo IP utilizando la comunidad extendida de forma predeterminada. Esta función es necesaria para admitir el encadenamiento de servicios en la puerta de enlace de control de servicios virtual (vSCG). La redirección a la acción IP permite desviar el tráfico de especificación de flujo coincidente a una dirección accesible globalmente que podría conectarse a un dispositivo de filtrado que puede filtrar el tráfico DDoS y enviar el tráfico limpio al dispositivo de salida.
Antes de empezar a redirigir el tráfico a IP para las rutas de especificación de flujo BGP, haga lo siguiente:
Configure las interfaces del dispositivo.
Configure OSPF o cualquier otro protocolo IGP.
Configure MPLS y LDP.
Configure BGP.
Configure la función de redireccionamiento a IP mediante la comunidad extendida BGP.
Configure la característica de redireccionamiento a IP de especificación de flujo heredada mediante el atributo nexthop.
No puede configurar directivas para redirigir el tráfico a una dirección IP mediante la comunidad extendida BGP y la redirección heredada a la dirección IP del siguiente salto juntas.
Configure la redirección de especificación de flujo heredada a IP especificada en el borrador de Internet draft-ietf-idr-flowspec-redirect-ip-00.txt , BGP Flow-Spec Extended Community for Traffic Redirect to IP Next Hop include at the hierarchy level.
[edit group bgp-group neighbor bgp neighbor family inet flow] user@host# set legacy-redirect-ip-action
Defina una política para que coincida con el atributo del salto siguiente.
[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 política p1 para redirigir el tráfico a la dirección IP del próximo 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 BGP mediante la acción de redirección de atributo de salto siguiente de especificación de flujo heredada a 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 comunidad BGP para redirigir el tráfico DDoS a la dirección IP del próximo salto 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 especificación de flujo BGP Acción DSCP
Configure la acción DSCP de especificación de flujo BGP (FlowSpec) para reenviar paquetes utilizando la clase de reenvío y la información de prioridad de pérdida en toda la red de manera eficaz.
Beneficios de la acción DSCP 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 del reenvío local (por ejemplo, la selección del túnel) según el valor DSCP aprovisionado.
-
Ayuda a administrar el tráfico en su red de manera efectiva.
Cuando un paquete entra en un enrutador, el paquete pasa por las funciones (como firewall, COS, etcetera.) aplicadas en la interfaz de entrada. Cuando se configura el filtro BGP FlowSpec en la interfaz de entrada, el filtro se aplica a los paquetes por instancia de enrutamiento en función de la acción DSCP. La acción DSCP clasifica y reescribe los paquetes, junto con el cambio de código DSCP a través del filtro BGP FlowSpec. 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 de coincidencia específicas. Las condiciones coincidentes pueden ser la dirección IP de origen y destino, el puerto de origen y destino, DSCP, el número de protocolo, etcetera. La información de clase de reenvío y prioridad de pérdida se actualiza a través de la tabla de asignación inversa.
Esta es una topología de una sesión BGP establecida entre el proveedor de servicios y las redes de clientes empresariales.

En esta topología, se configura una sesión BGP entre el proveedor de servicios y la red del cliente empresarial para BGP FlowSpec. El filtro BGP FlowSpec se aplica a los enrutadores PE1 y PE2. Los paquetes que entran en estos enrutadores se reescriben según el filtro BGP FlowSpec y la acción DSCP.
Para habilitar el filtro BGP FlowSpec 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 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; } } } }
Tabla de historial de cambios
La compatibilidad de la función depende de la plataforma y la versión que utilice. Utilice Feature Explorer a fin de determinar si una función es compatible con la plataforma.
extended-community
de tráfico.