Ayúdenos a mejorar su experiencia.

Háganos saber su opinión.

¿Podría dedicar dos minutos de su tiempo a completar una encuesta?

Announcement: Try the Ask AI chatbot for answers to your technical questions about Juniper products and solutions.

close
header-navigation
keyboard_arrow_up
close
keyboard_arrow_left
Guía del usuario de BGP
Table of Contents Expand all
list Table of Contents

¿Fue útil esta traducción automática?

starstarstarstarstar
Go to English page
DESCARGO DE RESPONSABILIDAD:

Esta página será traducida por software de traducción automática de terceros. Si bien nos hemos esforzado por proporcionar una traducción de calidad, Juniper Networks no puede garantizar su corrección. En caso de duda respecto a la exactitud de la información que ofrece esta traducción, consulte la versión en inglés. El PDF descargable está disponible solo en inglés.

BGP de múltiples protocolos

date_range 18-Jan-25

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:

content_copy zoom_out_map
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:

content_copy zoom_out_map
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:

content_copy zoom_out_map
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:

content_copy zoom_out_map
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:

content_copy zoom_out_map
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:

content_copy zoom_out_map
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.

Nota:

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

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:

content_copy zoom_out_map
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.

Nota:

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:

content_copy zoom_out_map
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.

Nota:

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.

Nota:

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:

content_copy zoom_out_map
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:

content_copy zoom_out_map
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:

content_copy zoom_out_map
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.

Figura 1: Topología para configurar rutas BGP IPv6 a través de transporte IPv4Topología para configurar rutas BGP IPv6 a través de transporte IPv4

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

content_copy zoom_out_map
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

content_copy zoom_out_map
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

content_copy zoom_out_map
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:

  1. Configure las interfaces, incluidas una dirección IPv4 y una dirección IPv6.

    content_copy zoom_out_map
    [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
    
  2. Configure EBGP.

    content_copy zoom_out_map
    [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
    
  3. Habilite BGP para transportar rutas de unidifusión IPv4 y unidifusión IPv6.

    content_copy zoom_out_map
    [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.

  4. Configure la directiva de enrutamiento.

    content_copy zoom_out_map
    [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
    
  5. Configure algunas rutas estáticas.

    content_copy zoom_out_map
    [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
    
  6. Configure el número de sistema autónomo (AS).

    content_copy zoom_out_map
    [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.

content_copy zoom_out_map
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;
        }
    }
}
content_copy zoom_out_map
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;
    }
}
content_copy zoom_out_map
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;
    }
}
content_copy zoom_out_map
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.

content_copy zoom_out_map
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.

content_copy zoom_out_map
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:

content_copy zoom_out_map
[edit protocols bgp family inet unicast] 
local-ipv4-address local ipv4 address;
Nota:

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-addressy utiliza el siguiente salto IPv4 original.

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:

  1. Configure las interfaces del dispositivo.

  2. 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.

Nota:

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] .

Figura 2: Publicidad de rutas IPv4 a través de sesiones BGP IPv6Publicidad de rutas IPv4 a través de sesiones BGP IPv6

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

content_copy zoom_out_map
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

content_copy zoom_out_map
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

content_copy zoom_out_map
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:

Nota:

Repita este procedimiento para otros enrutadores después de modificar los nombres de interfaz, direcciones y otros parámetros adecuados.

  1. Configure las interfaces con direcciones IPv4 e IPv6.

    content_copy zoom_out_map
    [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
    
  2. Configure la dirección de circuito cerrado.

    content_copy zoom_out_map
    [edit interfaces]
    user@R1# set lo0 unit 0 family inet6 address 1::1/128
    
  3. Configure una ruta estática IPv4 que deba anunciarse.

    content_copy zoom_out_map
    [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
    
  4. Configure el sistema autónomo para hosts BGP.

    content_copy zoom_out_map
    [edit routing-options]
    user@R1# set autonomous-system 64497
    
  5. Configure EBGP en los enrutadores perimetrales externos.

    content_copy zoom_out_map
    [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
    
  6. Habilite la función para anunciar la adición IPv4 140.1.1.1 a través de sesiones BGP IPv6.

    content_copy zoom_out_map
    [edit protocols]
    user@R1# set bgp group ebgp-v6 neighbor ::140.1.1.2 family inet unicast local-ipv4-address 140.1.1.1
    
  7. Defina una política p1 para aceptar todas las rutas estáticas.

    content_copy zoom_out_map
    [edit policy-options]
    user@R1# set policy-statement p1 from protocol static
    user@R1# set policy-statement p1 then accept
    
  8. Aplique la política p1 en el grupo EBGP ebgp-v6.

    content_copy zoom_out_map
    [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.

content_copy zoom_out_map
[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;
            }
        }
    }
}
content_copy zoom_out_map
[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;
                }
            }
        }
    }
}
content_copy zoom_out_map
[edit] 
user@R1# show routing-options
static {
    route 11.1.1.1/32 discard;
    route 11.1.1.2/32 discard;
}
autonomous-system 64497;
content_copy zoom_out_map
[edit] 
user@R1# show policy-options
policy-statement p1 {
    from {
        protocol static;
    }
    then accept;
}

Cuando termine de configurar el dispositivo, confirme la configuración.

content_copy zoom_out_map
user@R1# commit

Verificación

Confirme que la configuración funcione correctamente.

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.

content_copy zoom_out_map
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.

content_copy zoom_out_map
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
content_copy zoom_out_map
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.

Nota:

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

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

La entrada o encapsulación de túnel reenvía el tráfico de red hacia el sitio del cliente. Cuando el estado del túnel está presente en el motor de reenvío de paquetes en el que entró el tráfico en el chasis, el proceso de protocolo de enrutamiento (rpd) utiliza el siguiente procedimiento para redistribuir rutas IPv4 a través de túneles IPv6:
Figura 3: Manejo de entrada de túnel cuando el estado del túnel está disponible en el mismo PFEManejo de entrada de túnel cuando el estado del túnel está disponible en el mismo PFE
Figura 4: Manejo de entrada de túnel cuando el estado del túnel está en un PFE diferenteManejo de entrada de túnel cuando el estado del túnel está en un PFE diferente
  1. 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.

  2. Utiliza el equilibrio de carga de tráfico basado en hash en los encabezados de paquetes internos.

  3. 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

La salida de túnel reenvía el tráfico desde el equipo de las instalaciones del cliente al lado de la red.
Figura 5: Manejo de salida de túnel cuando el estado del túnel está disponible en el mismo PFEManejo de salida de túnel cuando el estado del túnel está disponible en el mismo PFE
Figura 6: Manejo de salida de túnel cuando el estado del túnel está disponible en un PFE remotoManejo de salida de túnel cuando el estado del túnel está disponible en un PFE remoto
  1. Desencapsula el paquete IPv4 presente dentro del paquete IPv6.

  2. 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.

  3. 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.

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.

Nota:

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:

  1. Configure las interfaces del dispositivo.

  2. Configure OSPF o cualquier otro protocolo IGP.

  3. Configure MPLS y LDP.

  4. Configure BGP.

Para configurar el BGP para distribuir rutas IPv4 con direcciones IPv6 del próximo salto:

  1. Configure la opción de codificación extendida del próximo salto para que los grupos BGP con pares IPv6 enruten familias de direcciones IPv4 a través de una sesión IPv6.
    content_copy zoom_out_map
    [edit protocols bgp family inet unicast]
    user@host# set extended-nexthop
    
  2. Configure túneles dinámicos de IPv4 sobre IPv6 y defina sus atributos para reenviar tráfico IPv4 a través de una red solo IPv6. El tráfico IPv4 se tuneliza desde los dispositivos CPE a las puertas de enlace IPv4 a través de IPv6.
    content_copy zoom_out_map
    [edit routing-options]
    user@host# set dynamic-tunnels
    
  3. Configure los atributos del túnel.
    content_copy zoom_out_map
    [edit routing-options dynamic-tunnels tunnel-attributes]
    user@host# set tunnel-attributes name
    user@host# set dynamic-tunnel-source-prefix dynamic-tunnel-source-prefix
    user@host# set dynamic-tunnel-type V4oV6
    user@host# set dynamic-tunnel-mtu dynamic-tunnel-mtu
    user@host# set dynamic-tunnel-anchor-pfe dynamic-tunnel-anchor-pfe
    user@host# set dynamic-tunnel-anti-spoof (off | on)
    

    Por ejemplo, first_tunnel configure un túnel dinámico con los siguientes atributos:

    content_copy zoom_out_map
    [edit routing-options dynamic-tunnels tunnel-attributes]
    user@host# set tunnel-attributes first_tunnel
    user@host# set dynamic-tunnel-source-prefix 10.1.1.0
    user@host# set dynamic-tunnel-type V4oV6
    user@host# set dynamic-tunnel-mtu 300
    user@host# set dynamic-tunnel-anchor-pfe pfe-1/2/0
    user@host# set dynamic-tunnel-anti-spoof on
    
  4. Defina una política para asociar el perfil de atributo de túnel dinámico configurado a una lista de prefijos o a un filtro de ruta.
    content_copy zoom_out_map
    [edit policy-options policy-statement policy-name from then]
    user@host# set dynamic-tunnel-attributes name
    

    Por ejemplo, defina dynamic_tunnel_policy una política para asociar los atributos de túnel first_tunnel dinámico solo al tráfico que se dirige a una ruta específica 2.2.2.2/32.

    content_copy zoom_out_map
    [edit policy-options policy-statement dynamic_tunnel_policy from route-filter 2.2.2.2/32 exact then]
    user@host# set dynamic-tunnel-attributes first_tunnel
    
  5. Exporte la política definida.
    content_copy zoom_out_map
    [edit routing options]
    user@host# set forwarding-table export policy-name
    

    Por ejemplo, exporte la directiva configurada dynamic_tunnel_policy .

    content_copy zoom_out_map
    [edit routing options]
    user@host# set forwarding-table export dynamic_tunnel_policy
    

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:

content_copy zoom_out_map
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:

content_copy zoom_out_map
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.

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.0de 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.

Nota:

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

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.

Tabla 1: Condiciones de coincidencia de ruta de flujo

Condición de coincidencia

Description

destination prefix prefix-offset number

Campo Dirección de destino IP.

Puede usar el prefix-offset campo opcional, que solo está disponible en dispositivos Junos con MPC mejoradas configuradas para enhanced-ip el modo, para especificar el número de bits que deben omitirse antes de que Junos OS comience a coincidir con un prefijo IPv6.

destination-port number

Campo de puerto de destino TCP o protocolo de datagramas de usuario (UDP). No puede especificar las condiciones de coincidencia port y destination-port en el mismo término.

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): afs(1483), bgp (179), biff (512), bootpc (68), bootps (67), cmd (514), cvspserver (2401), dhcp (67), domain (53), eklogin (2105), ekshell (2106), exec (512), finger (79), ftp (21), ftp-data (20), http (80), https (443), ident (113), imap (143), kerberos-sec (88), klogin (543), kpasswd (761), krb-prop (754), krbupdate (760), kshell (544), ldap (389), login (513), mobileip-agent (434), mobilip-mn (435), msdp (639), netbios-dgm (138), netbios-ns (137), netbios-ssn (139), nfsd (2049), nntp (119), ntalk (518), ntp (123), pop3 (110), pptp (1723), printer (515), radacct (1813), radius (1812), rip (520), rkinit (2108), smtp (25), snmp (161), snmptrap (162), snpp (444), socks (1080), ssh (22), sunrpc (111), syslog (514), tacacs-ds (65), talk (517), telnet (23), tftp (69), timed (525), who (513), xdmcp (177), zephyr-clt (2103) o zephyr-hm (2104).

dscp number

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.

flow-label numeric-expression

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 enhanced-ip el modo. Esta condición de coincidencia no es compatible con IPv4.

fragment type

Campo Tipo de fragmento. Las palabras clave se agrupan por el tipo de fragmento con el que están asociadas:

  • dont-fragment

    Nota:

    Esta opción no es compatible con IPv6.

  • first-fragment

  • is-fragment

  • last-fragment

  • not-a-fragment

Esta condición de coincidencia solo se admite en dispositivos Junos OS con MPC mejorados configurados para enhanced-ip el modo. .

icmp-code numbericmp6-code icmp6-code-value;

Campo de código ICMP. Este valor o palabra clave proporciona información más específica que icmp-type. Dado que el significado del valor depende del valor asociado icmp-type , debe especificar icmp-type junto con icmp-code.

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:

  • parámetro-problema: ip-header-bad (0), required-option-missing (1)

  • redirigir: redirect-for-host(1), redirect-for-network (0), redirect-for-tos-and-host (3), redirect-for-tos-and-net (2)

  • Tiempo excedido: ttl-eq-zero-during-reassembly(1), ttl-eq-zero-during-transit (0)

  • inalcanzable: communication-prohibited-by-filtering(13), destination-host-prohibited (10), destination-host-unknown (7), destination-network-prohibited (9), destination-network-unknown (6), fragmentation-needed (4), host-precedence-violation (14), host-unreachable (1), host-unreachable-for-TOS (12), network-unreachable (0), network-unreachable-for-TOS (11), port-unreachable (3), precedence-cutoff-in-effect (15), protocol-unreachable (2), source-host-isolated (8), source-route-failed (5)

icmp-type number icmp6-type icmp6-type-value

Campo de tipo de paquete ICMP. Normalmente, esta coincidencia se especifica junto con la instrucción de protocol coincidencia para determinar qué protocolo se está utilizando en el puerto.

En lugar del valor numérico, puede especificar uno de los siguientes sinónimos de texto (también se enumeran los valores de campo): echo-reply(0), echo-request (8), info-reply (16), info-request (15), mask-request (17), mask-reply (18), parameter-problem (12), redirect (5), router-advertisement (9), router-solicit (10), source-quench (4), time-exceeded (11), timestamp (13), timestamp-reply (14) o unreachable (3).

packet-length number

Longitud total del paquete IP.

port number

Campo de puerto de origen o destino TCP o UDP. No puede especificar tanto la port coincidencia como la condición de destination-port coincidencia o source-port en el mismo término.

En lugar del valor numérico, puede especificar uno de los sinónimos de texto enumerados en destination-port.

protocol number

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): ah, egp(8), esp (50), gre (47), icmp (1), igmp (2), ipip (4), ipv6 (41), ospf (89), pim (103), rsvp (46), tcp (6) o udp (17).

Esta condición de coincidencia solo se admite para IPv6 en dispositivos Junos con MPC mejorados configurados para enhanced-ip el modo.

source prefixprefix-offset number

Campo Dirección IP de origen.

Puede usar el prefix-offset campo opcional, que solo está disponible en dispositivos Junos con MPC mejoradas configuradas para enhanced-ip el modo, para especificar el número de bits que deben omitirse antes de que Junos OS comience a coincidir con un prefijo IPv6.

source-port number

Campo de puerto de origen TCP o UDP. No puede especificar las port condiciones y source-port coincidir en el mismo término.

En lugar del campo numérico, puede especificar uno de los sinónimos de texto enumerados en destination-port.

tcp-flag type

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.

Tabla 2: Modificadores de acción de ruta de flujo

Acción o modificador de acción

Description

Acciones

accept

Aceptar un paquete. Este es el valor predeterminado.

discard

Descarte un paquete silenciosamente, sin enviar un mensaje del Protocolo de mensajes de control de Internet (ICMP).

community

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 enhanced-ip el modo.

next term

Continúe con la siguiente condición de coincidencia para la evaluación.

routing-instance extended-community

Especifique una instancia de enrutamiento a la que se reenvíen los paquetes.

rate-limit bits-per-second

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].

sample

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.0de 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.

Mejores prácticas:

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.

Nota:

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.

Nota:

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.

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.0de 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.0de 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

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.

content_copy zoom_out_map
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:

  1. Configure las condiciones del partido.

    content_copy zoom_out_map
    [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 
    
  2. Configure la acción.

    content_copy zoom_out_map
    [edit routing-options flow route block-10.131.1.1]
    user@host# set then discard 
    
  3. (Recomendado) Para el algoritmo de especificación de flujo, configure el orden de términos basado en estándar.

    content_copy zoom_out_map
    [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.

content_copy zoom_out_map
[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.

content_copy zoom_out_map
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:

  1. Configure el grupo BGP.

    content_copy zoom_out_map
    [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
    
  2. Configure la política de flujo.

    content_copy zoom_out_map
    [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
    
  3. Configure un número de AS local legítimo.

    content_copy zoom_out_map
    [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 protocolsconfiguración. show policy-options Si el resultado no muestra la configuración deseada, repita las instrucciones en este ejemplo para corregir la configuración.

content_copy zoom_out_map
[edit]
user@host# show protocols
bgp {
    group core {
        family inet {
            unicast;
            flow;
        }
        export p1;
        peer-as 65000;
        neighbor 10.12.99.5;
    }
}
content_copy zoom_out_map
[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;
    }
}
content_copy zoom_out_map
[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.

content_copy zoom_out_map
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:

  1. Configure el grupo BGP.

    content_copy zoom_out_map
    [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
    
  2. Configure la política de flujo.

    content_copy zoom_out_map
    [edit policy-options policy-statement p1]
    user@host# set term a then accept
    
  3. Configure un número de AS local legítimo.

    content_copy zoom_out_map
    [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 protocolsconfiguración. show policy-options Si el resultado no muestra la configuración deseada, repita las instrucciones en este ejemplo para corregir la configuración.

content_copy zoom_out_map
[edit]
user@host# show protocols
bgp {
    group core {
        family inet {
            unicast;
            flow;
        }
        export p1;
        peer-as 65000;
        neighbor 10.12.99.5;
    }
}
content_copy zoom_out_map
[edit]
user@host# show policy-options
policy-statement p1 {
    term a {
        prefix-list inetflow;
        }
        then accept;
    }
}
content_copy zoom_out_map
[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.

content_copy zoom_out_map
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:

  1. Configure el grupo BGP.

    content_copy zoom_out_map
    [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
    
  2. Configure la política de flujo.

    content_copy zoom_out_map
    [edit policy-options policy-statement p1]
    user@host# set term a then reject
    
  3. Configure un número de AS local legítimo.

    content_copy zoom_out_map
    [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 protocolsconfiguración. show policy-options Si el resultado no muestra la configuración deseada, repita las instrucciones en este ejemplo para corregir la configuración.

content_copy zoom_out_map
[edit]
user@host# show protocols
bgp {
    group core {
        family inet {
            unicast;
            flow;
        }
        export p1;
        peer-as 65000;
        neighbor 10.12.99.5;
    }
}
content_copy zoom_out_map
[edit]
user@host# show policy-options
policy-statement p1 {
    term a {
        then reject;
    }
}
content_copy zoom_out_map
[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.

content_copy zoom_out_map
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.

Nota:

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:

  1. Establezca un límite superior para el número de prefijos instalados en inetflow.0 la tabla.

    content_copy zoom_out_map
    [edit routing-options rib inetflow.0]
    user@host# set maximum-prefixes 1000 
    
  2. Establezca un valor de umbral del 50 por ciento, donde cuando se instalan 500 rutas, se registra una advertencia en el registro del sistema.

    content_copy zoom_out_map
    [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.

content_copy zoom_out_map
[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.

content_copy zoom_out_map
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
Nota:

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:

  1. Establezca un límite de 1000 rutas BGP desde el vecino 10.12.99.2.

    content_copy zoom_out_map
    [edit protocols bgp group x1]
    user@host# set neighbor 10.12.99.2 family inet flow prefix-limit maximum 1000 
    
  2. Configure la sesión vecina o los prefijos para que realicen teardown <percentage>drop-excess <percentage>la opción , o hide-excess<percentage> instrucción cuando la sesión o los prefijos alcancen su límite.

    content_copy zoom_out_map
    [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 la idle-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 porcentaje

    Si 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.

content_copy zoom_out_map
[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

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.

content_copy zoom_out_map
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.

content_copy zoom_out_map
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

content_copy zoom_out_map
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


content_copy zoom_out_map
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.

content_copy zoom_out_map
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.

content_copy zoom_out_map
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.

content_copy zoom_out_map
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:

content_copy zoom_out_map
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:

content_copy zoom_out_map
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:

content_copy zoom_out_map
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:

  1. Configure las direcciones IP en las interfaces del dispositivo.

  2. Configure BGP.

  3. 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.

Figura 7: Configuración de BGP para transportar rutas de flujo IPv6Configuración de BGP para transportar rutas de flujo IPv6

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

content_copy zoom_out_map
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

content_copy zoom_out_map
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:

Nota:

Repita este procedimiento para el enrutador R1 después de modificar los nombres de interfaz, direcciones y otros parámetros adecuados.

  1. Configure las interfaces con direcciones IPv6.

    content_copy zoom_out_map
    [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
    
  2. Configure la dirección de circuito cerrado IPv6.

    content_copy zoom_out_map
    [edit interfaces]
    user@R2# set lo0 unit 0 family inet6 address abcd::128:220:41:229/128
    
  3. Configure el ID del enrutador y el número de sistema autónomo (AS).

    content_copy zoom_out_map
    [edit routing-options]
    user@R2# set router-id 128.220.41.229
    user@R2# set autonomous-system 64497
    
  4. Configure una sesión de emparejamiento EBGP entre el enrutador R1 y el enrutador R2.

    content_copy zoom_out_map
    [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
    
  5. 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.

    content_copy zoom_out_map
    [edit routing-options]
    user@R2# set rib inet6.0 static route abcd::11:11:11:0/120 next-hop abcd::192:2:1:2
    
  6. Especifique las condiciones de especificación de flujo.

    content_copy zoom_out_map
    [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
    
  7. Configure una discard acción para descartar paquetes que coincidan con las condiciones de coincidencia especificadas.

    content_copy zoom_out_map
    [edit routing-options]
    user@R2# set rib inet6.0 flow route route-1 then discard
    
  8. Especifique las condiciones de especificación de flujo.

    content_copy zoom_out_map
    [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
    
  9. Configurar una accept acción para aceptar paquetes que coincidan con las condiciones de coincidencia especificadas

    content_copy zoom_out_map
    [edit routing-options]
    user@R2# set rib inet6.0 flow route route-2 then accept
    
  10. Defina una política que permita al BGP aceptar rutas estáticas.

    content_copy zoom_out_map
    [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.

content_copy zoom_out_map
[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;
        }
    }
}
content_copy zoom_out_map
[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;
    }
}
content_copy zoom_out_map
[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;
content_copy zoom_out_map
[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

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.

content_copy zoom_out_map
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.

content_copy zoom_out_map
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.

content_copy zoom_out_map
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.

content_copy zoom_out_map
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.

content_copy zoom_out_map
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:

  1. Configure las interfaces del dispositivo.

  2. Configure OSPF o cualquier otro protocolo IGP.

  3. Configure MPLS y LDP.

  4. Configure BGP.

Configure la función de redireccionamiento a IP mediante la comunidad extendida BGP.

  1. Configure la acción de redireccionamiento a IP para rutas de especificación de flujo IPv4 estáticas como se especifica en el borrador de BGP Flow-Spec Internet draft-ietf-idr-flowspec-redirect-ip-02.txt, Acción de redireccionamiento a IP .

    Junos OS anuncia la acción de especificación de redireccionamiento a flujo IP utilizando la redirección de comunidad extendida a IP de forma predeterminada. El dispositivo de entrada detecta y envía el tráfico DDoS a la dirección IP especificada.

    content_copy zoom_out_map
    [edit routing-options flow route then]
    user@host# set redirect ipv4-address
    

    Por ejemplo, redirija el tráfico DDoS a la dirección IPv4 10.1.1.1.

    content_copy zoom_out_map
    [edit routing-options flow route then]
    user@host# set redirect 10.1.1.1.1
    
  2. Configure la acción de redireccionamiento a IP para rutas de especificación de flujo IPv6 estáticas.
    content_copy zoom_out_map
    [edit routing-options flow route then]
    user@host# set redirect ipv6-address
    

    Por ejemplo, redirija el tráfico DDoS a la dirección IPv6 1002:db8::

    content_copy zoom_out_map
    [edit routing-options flow route then]
    user@host# set redirect 2001:db8::
    
  3. Defina una política para filtrar el tráfico de una comunidad BGP específica.
    content_copy zoom_out_map
    [edit policy-options]
    user@host# policy-statement policy-name
    user@host# from community community-ids
    user@host# community community-ids members extended-community-type:administrator:assigned number
    

    Por ejemplo, defina una política p1 para filtrar el tráfico de la redirip de la comunidad BGP.

    content_copy zoom_out_map
    [edit policy-options]
    user@host# policy-statement p1
    user@host# from community redirip
    user@host# community redirip members redirect-to-ip :10.1.1.1:0
    
  4. Defina una política para establecer, agregar o eliminar una comunidad BGP y especifique la comunidad extendida.
    content_copy zoom_out_map
    [edit policy-options]
    user@host# policy-statement policy-name
    user@host# then community set community-ids
    user@host# then community add community-ids 
    user@host# then community deletecommunity-ids
    user@host# community community-ids members extended-community-type:administrator:assigned number
    

    Por ejemplo, defina una política p1 para establecer, agregar o eliminar un reidirip de comunidad y una comunidad extendida para redirigir el tráfico a la dirección IP 10.1.1.1.

    content_copy zoom_out_map
    [edit policy-options]
    user@host# policy-statement p1
    user@host# then community set redirip
    user@host# then community add redirip 
    user@host# then community deleteredirip
    user@host# community redirip members redirect-to-ip:10.1.1.1:0
    
  5. Configure BGP para usar la tabla VRF.inet.0 para resolver la instrucción include de rutas de especificación de flujo VRF en el nivel de jerarquía.
    content_copy zoom_out_map
    [edit protocols bgp neighbor family flow]
    user@host# set secondary-independent-resolution
    

Configure la característica de redireccionamiento a IP de especificación de flujo heredada mediante el atributo nexthop.

Nota:

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.

  1. 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.

    content_copy zoom_out_map
    [edit group bgp-group neighbor bgp neighbor family inet flow]
    user@host# set legacy-redirect-ip-action
    
  2. Defina una política para que coincida con el atributo del salto siguiente.

    content_copy zoom_out_map
    [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.

    content_copy zoom_out_map
    [edit policy options]
    user@host#policy statement p1
    user@host#from community redirnh
    user@host#from next-hop 10.1.1.1
    
  3. 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.

    content_copy zoom_out_map
    [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.

    content_copy zoom_out_map
    [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
    

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.

Beneficios de la acción DSCP BGP FlowSpec para reenviar paquetes

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)]:

content_copy zoom_out_map
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:

content_copy zoom_out_map
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.

Liberación
Descripción
20.3R1
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.
17.2R1
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.
17.1R1
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).
16.1R4
A partir de Junos OS versión 16.1R4, el intervalo de límite de velocidad es de [0 a 100000000000].
16.1
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.
16.1
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.
16.1
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.
15.1
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.
footer-navigation