Políticas de enrutamiento para comunidades de BGP
Comprender las comunidades BGP, las comunidades extendidas y las comunidades grandes como condiciones de coincidencia de política de enrutamiento
Una comunidad de BGP es un grupo de destinos que comparten una propiedad común. La información de la comunidad se incluye como un atributo de ruta en los mensajes de actualización del BGP. Esta información identifica a los miembros de la comunidad y le permite realizar acciones en un grupo sin tener que explicar a cada miembro. Puede usar atributos de comunidad y comunidades extendidas para activar decisiones de enrutamiento, como la aceptación, el rechazo, las preferencias o la redistribución.
Puede asignar etiquetas de comunidad a rutas que no sean de BGP mediante configuración (para rutas estáticas, agregadas o generadas) o una política de enrutamiento de importación. Estas etiquetas pueden coincidir cuando el BGP exporta las rutas.
Un valor de comunidad es un campo de 32 bits que se divide en dos secciones principales. Los primeros 16 bits del valor codifican el número del AS de la red que originó la comunidad, mientras que los últimos 16 bits contienen un número único asignado por el AS. Este sistema intenta garantizar un conjunto globalmente único de valores de comunidad para cada AS en Internet. Junos OS usa una notación de as-number:community-value, donde cada valor es un número decimal. Los valores del AS de 0 y 65.535 están reservados, al igual que todos los valores de comunidad dentro de esos números de AS. A cada comunidad, o conjunto de comunidades, se le da un nombre dentro de la [edit policy-options] jerarquía de configuración. El nombre de la comunidad lo identifica de manera única en el dispositivo de enrutamiento y sirve como el método por el cual se categorizan las rutas. Por ejemplo, una ruta con un valor de comunidad de 64510:1111 podría pertenecer a la comunidad denominada AS64510-routes. El nombre de la comunidad también se utiliza en una política de enrutamiento como criterio de coincidencia o como acción. La sintaxis de comando para crear una comunidad es: opciones community name members [community-ids]de política . Son community-ids un valor de una sola comunidad o varios valores de comunidad. Cuando se asigna más de un valor a un nombre de comunidad, el dispositivo de enrutamiento lo interpreta como un Y lógico de los valores de comunidad. En otras palabras, una ruta debe tener todos los valores configurados antes de que se le asigne el nombre de la comunidad.
El atributo de comunidad regular es de cuatro octetos. Las mejoras de red, como las VPN, tienen requisitos de funcionalidad que pueden ser satisfechos por un atributo como una comunidad. Sin embargo, el valor de la comunidad de 4 octetos no ofrece suficiente expansión y flexibilidad para adaptarse a los requisitos de VPN. Esto conduce a la creación de comunidades extendidas. Una comunidad extendida es un valor de 8 octetos que también se divide en dos secciones principales. Los 2 primeros octetos de la comunidad codifican un campo de tipo, mientras que los últimos 6 octetos contienen un conjunto único de datos en un formato definido por el campo de tipo. Las comunidades extendidas ofrecen un rango más amplio para agrupar o categorizar comunidades.
El formato de atributo de comunidades extendidas del BGP tiene tres campos: type:administrator:assigned-number. El dispositivo de enrutamiento espera que use las palabras target o origin represente el campo de tipo. El campo de administrador usa un número decimal para el AS o una dirección IPv4, mientras que el campo de número asignado espera un número decimal no mayor que el tamaño del campo (65 535 para 2 octetos o 4294 967 295 para 4 octetos).
Cuando especifique los identificaciones de comunidad para atributos de comunidad estándar y extendidos, puede usar expresiones regulares de estilo UNIX. La única excepción es para las políticas de importación de VPN (vrf-import), que no admiten expresiones regulares para el atributo comunidades extendidas.
Los atributos de comunidades de BGP regulares son un atributo de longitud variable que consta de un conjunto de uno o más valores de 4 bytes que se dividió en valores de 16 bits. La palabra más significativa se interpreta como un número del AS y la palabra menos significativa es un valor definido localmente asignado por el operador del AS. Desde la adopción de ASN de 4 bytes, la comunidad regular de BGP de 4 bytes y la comunidad extendida de BGP de 6 bytes ya no pueden admitir atributos de comunidad de BGP. Los operadores a menudo codifican números de AS en la parte local de la comunidad BGP, lo que significa que, a veces, el formato de la comunidad es ASN:ASN. Con el ASN de 4 bytes, necesita 8 bytes para codificarlo. Aunque la comunidad extendida del BGP permite codificar un AS de 4 bytes como el campo de administrador global, el campo de administrador local solo tiene 2 bytes de espacio disponible. Por lo tanto, el atributo de comunidad extendida de 6 bytes tampoco es adecuado. Para superar esto, Junos OS le permite configurar un atributo de ruta transitiva opcional: una comunidad grande de BGP de 12 bytes que proporciona el valor de 4 bytes más significativo para codificar números de sistema autónomo como administrador global y los dos números asignados de 4 bytes restantes para codificar los valores locales como se definen en RFC 8092. Puede configurar una gran comunidad de BGP en los [edit policy-options community community-name members] niveles de jerarquía y [edit routing-options static route ip-address community] . El formato de atributos de comunidad grande del BGP tiene cuatro campos: large:global administrator:assigned number:assigned number.
La comunidad extendida específica de dirección de unidifusión IPv6 del BGP se codifica como un conjunto de valor de 20 bytes. El valor de 20 bytes se interpreta en el siguiente formato:
-
Los 2 bytes más significativos codifican el valor de tipo y subtipo (valor alto (byte más significativo) y valor bajo (segundo byte más significativo)).
-
Los siguientes 16 bytes codifican la dirección de unidifusión IPv6. Es el administrador global en la RFC de IETF.
-
Los últimos 2 bytes codifican los valores locales definidos por el operador. Es administrador local en el RFC de IETF.
Los atributos de la comunidad extendida del BGP específicos de la dirección de unidifusión IPv6 se representan con una palabra clave ipv6-target, ipv6-origino ipv6-extended seguidos por IPv6 y administrador local separados por <, > y :.
La longitud del valor de atributo de comunidades grandes del BGP debe ser un múltiplo no cero de 12.
Consulte también
Ejemplo: Configurar una política de enrutamiento para redistribuir rutas de BGP con una etiqueta de comunidad específica en IS-IS
En este ejemplo, se define una política que toma rutas de BGP de la comunidad y las Edu coloca en IS-IS con una métrica de 63.
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
Figura 1 muestra la topología utilizada en este ejemplo.

En este ejemplo, los dispositivos A, B, C y D están en el sistema autónomo (AS) 1 y ejecutan IS-IS. Todos los dispositivos del AS 1, excepto el dispositivo D, ejecutan BGP interno (IBGP).
El dispositivo E está en el AS 2 y tiene una sesión de emparejamiento externo del BGP (EBGP) con el dispositivo C. El dispositivo E tiene dos rutas estáticas, 10.2.0.0/16 y 10.3.0.0/16. Estas rutas están etiquetadas con el atributo de comunidad Edu 2:5 y se anuncian a través del EBGP al dispositivo C.
El dispositivo C acepta las rutas del BGP etiquetadas con el atributo de comunidad Edu 2:5, redistribuye las rutas en IS-IS y aplica una métrica IS-IS de 63 a estas rutas.
Configuración rápida de CLI muestra la configuración de todos los dispositivos en Figura 1. En la sección #d245e62__d245e383 se describen los pasos del dispositivo C y el dispositivo E.
Configuración
Procedimiento
Configuración rápida de CLI
Para configurar rápidamente este ejemplo, copie los siguientes comandos, péguelos en un archivo de texto, elimine los saltos de línea, cambie los detalles necesarios para que coincidan con su configuración de red y, luego, copie y pegue los comandos en la CLI en el [edit] nivel de jerarquía.
Dispositivo A
set interfaces fe-1/2/0 unit 0 family inet address 10.0.0.5/30 set interfaces fe-1/2/0 unit 0 family iso set interfaces lo0 unit 0 family inet address 192.168.0.1/32 set interfaces lo0 unit 0 family iso address 49.0002.0192.0168.0001.00 set protocols bgp group int type internal set protocols bgp group int local-address 192.168.0.1 set protocols bgp group int neighbor 192.168.0.2 set protocols bgp group int neighbor 192.168.0.3 set protocols isis interface fe-1/2/0.0 level 1 disable set protocols isis interface lo0.0 set routing-options router-id 192.168.0.1 set routing-options autonomous-system 1
Dispositivo B
set interfaces fe-1/2/0 unit 0 family inet address 10.0.0.6/30 set interfaces fe-1/2/0 unit 0 family iso set interfaces fe-1/2/1 unit 0 family inet address 10.0.0.9/30 set interfaces fe-1/2/1 unit 0 family iso set interfaces lo0 unit 0 family inet address 192.168.0.2/32 set interfaces lo0 unit 0 family iso address 49.0002.0192.0168.0002.00 set protocols bgp group int type internal set protocols bgp group int local-address 192.168.0.2 set protocols bgp group int neighbor 192.168.0.1 set protocols bgp group int neighbor 192.168.0.3 set protocols isis interface fe-1/2/0.0 level 1 disable set protocols isis interface fe-1/2/1.0 level 1 disable set protocols isis interface lo0.0 set routing-options router-id 192.168.0.2 set routing-options autonomous-system 1
Dispositivo C
set interfaces fe-1/2/0 unit 0 family inet address 10.0.0.10/30 set interfaces fe-1/2/0 unit 0 family iso set interfaces fe-1/2/1 unit 0 family inet address 10.0.0.13/30 set interfaces fe-1/2/1 unit 0 family iso set interfaces fe-1/2/2 unit 0 family inet address 10.0.0.25/30 set interfaces fe-1/2/2 unit 0 family iso set interfaces lo0 unit 0 family inet address 192.168.0.3/32 set interfaces lo0 unit 0 family iso address 49.0002.0192.0168.0003.00 set protocols bgp group int type internal set protocols bgp group int local-address 192.168.0.3 set protocols bgp group int neighbor 192.168.0.1 set protocols bgp group int neighbor 192.168.0.2 set protocols bgp group external-peers type external set protocols bgp group external-peers export send-isis-and-direct set protocols bgp group external-peers peer-as 2 set protocols bgp group external-peers neighbor 10.0.0.26 set protocols isis export Edu-to-isis set protocols isis interface fe-1/2/0.0 level 1 disable set protocols isis interface fe-1/2/1.0 level 1 disable set protocols isis interface fe-1/2/2.0 level 1 disable set protocols isis interface fe-1/2/2.0 level 2 passive set protocols isis interface lo0.0 set policy-options policy-statement Edu-to-isis term 1 from protocol bgp set policy-options policy-statement Edu-to-isis term 1 from community Edu set policy-options policy-statement Edu-to-isis term 1 then metric 63 set policy-options policy-statement Edu-to-isis term 1 then accept set policy-options policy-statement send-isis-and-direct term 1 from protocol isis set policy-options policy-statement send-isis-and-direct term 1 from protocol direct set policy-options policy-statement send-isis-and-direct term 1 from route-filter 10.0.0.0/16 orlonger set policy-options policy-statement send-isis-and-direct term 1 from route-filter 192.168.0.0/16 orlonger set policy-options policy-statement send-isis-and-direct term 1 then accept set policy-options community Edu members 2:5 set routing-options router-id 192.168.0.3 set routing-options autonomous-system 1
Dispositivo D
set interfaces fe-1/2/0 unit 0 family inet address 10.0.0.14/30 set interfaces fe-1/2/0 unit 0 family iso set interfaces lo0 unit 0 family inet address 192.168.0.4/32 set interfaces lo0 unit 0 family iso address 49.0002.0192.0168.0004.00 set protocols isis interface fe-1/2/0.0 level 1 disable set protocols isis interface lo0.0 set routing-options router-id 192.168.0.4 set routing-options autonomous-system 1
Dispositivo E
set interfaces fe-1/2/0 unit 0 family inet address 10.0.0.26/30 set interfaces lo0 unit 7 family inet address 192.168.0.5/32 primary set interfaces lo0 unit 7 family inet address 10.2.0.1/32 set interfaces lo0 unit 7 family inet address 10.3.0.1/32 set protocols bgp group external-peers type external set protocols bgp group external-peers export statics set protocols bgp group external-peers peer-as 1 set protocols bgp group external-peers neighbor 10.0.0.25 set policy-options policy-statement statics from protocol static set policy-options policy-statement statics then community add Edu set policy-options policy-statement statics then accept set policy-options community Edu members 2:5 set routing-options static route 10.2.0.0/16 reject set routing-options static route 10.2.0.0/16 install set routing-options static route 10.3.0.0/16 reject set routing-options static route 10.3.0.0/16 install set routing-options router-id 192.168.0.5 set routing-options autonomous-system 2
Procedimiento paso a paso
El siguiente ejemplo requiere que navegue por varios niveles en la jerarquía de configuración. Para obtener más información acerca de cómo navegar por la CLI, consulte Uso del editor de CLI en el modo de configuración en la Guía del usuario de CLI.
Para configurar el dispositivo E:
Configure las interfaces.
[edit interfaces] user@E# set fe-1/2/0 unit 0 family inet address 10.0.0.26/30 user@E# set lo0 unit 7 family inet address 192.168.0.5/32 primary user@E# set lo0 unit 7 family inet address 10.2.0.1/32 user@E# set lo0 unit 7 family inet address 10.3.0.1/32
Configure la
staticspolítica, que agrega elEduatributo community a las rutas estáticas.[edit policy-options] user@E# set policy-statement statics from protocol static user@E# set policy-statement statics then community add Edu user@E# set policy-statement statics then accept user@E# set community Edu members 2:5
Configure el EBGP y aplique la
staticspolítica.[edit protocols bgp group external-peers] user@E# set type external user@E# set export statics user@E# set peer-as 1 user@E# set protocols bgp group external-peers neighbor 10.0.0.25
Configure las rutas estáticas.
[edit routing-options static] user@E# set route 10.2.0.0/16 reject user@E# set route 10.2.0.0/16 install user@E# set route 10.3.0.0/16 reject user@E# set route 10.3.0.0/16 install
Configure el ID de enrutador y el número de AS.
[edit routing-options] user@E# set router-id 192.168.0.5 user@E# set autonomous-system 2
Procedimiento paso a paso
El siguiente ejemplo requiere que navegue por varios niveles en la jerarquía de configuración. Para obtener más información acerca de cómo navegar por la CLI, consulte Uso del editor de CLI en el modo de configuración en la Guía del usuario de CLI.
Para configurar el dispositivo C:
Configure las interfaces.
[edit interfaces] user@C# set fe-1/2/0 unit 0 family inet address 10.0.0.10/30 user@C# set fe-1/2/0 unit 0 family iso user@C# set fe-1/2/1 unit 0 family inet address 10.0.0.13/30 user@C# set fe-1/2/1 unit 0 family iso user@C# set fe-1/2/2 unit 0 family inet address 10.0.0.25/30 user@C# set fe-1/2/2 unit 0 family iso user@C# set lo0 unit 0 family inet address 192.168.0.3/32 user@C# set lo0 unit 0 family iso address 49.0002.0192.0168.0003.00
Configure IBGP.
[edit protocols bgp group int] user@C# set type internal user@C# set local-address 192.168.0.3 user@C# set neighbor 192.168.0.1 user@C# set neighbor 192.168.0.2
Configure la política Edu-to-isis, que redistribuye las rutas BGP con etiqueta Edu aprendidas del dispositivo E y aplica una métrica de 63.
[edit policy-options] user@C# set policy-statement Edu-to-isis term 1 from protocol bgp user@C# set policy-statement Edu-to-isis term 1 from community Edu user@C# set policy-statement Edu-to-isis term 1 then metric 63 user@C# set policy-statement Edu-to-isis term 1 then accept user@C# set community Edu members 2:5
Habilite IS-IS en las interfaces y aplique la política Edu-to-isis.
[edit protocols isis] user@C# set export Edu-to-isis user@C# set interface fe-1/2/0.0 level 1 disable user@C# set interface fe-1/2/1.0 level 1 disable user@C# set interface fe-1/2/2.0 level 1 disable user@C# set interface fe-1/2/2.0 level 2 passive user@C# set interface lo0.0
Configure la política send-isis-and-direct, que redistribuye las rutas al dispositivo E, a través del EBGP.
Sin esta política, el dispositivo E no tendría conectividad con las redes del AS 1.
[edit policy-options policy-statement send-isis-and-direct term 1] user@C# set from protocol isis user@C# set from protocol direct user@C# set from route-filter 10.0.0.0/16 orlonger user@C# set from route-filter 192.168.0.0/16 orlonger user@C# set then accept
Configure el EBGP y aplique la política send-isis-and-direct.
[edit protocols bgp group external-peers] user@C# set type external user@C# set export send-isis-and-direct user@C# set peer-as 2 user@C# set neighbor 10.0.0.26
Configure el ID de enrutador y el número de sistema autónomo (AS).
[edit routing-options] user@C# set router-id 192.168.0.3 user@C# set autonomous-system 1
Resultados
Desde el modo de configuración, ingrese los comandos , show protocols, show policy-optionsy show routing-options para confirmar la show interfacesconfiguración. Si el resultado no muestra la configuración deseada, repita las instrucciones en este ejemplo para corregir la configuración.
Dispositivo E
user@E# show interfaces
fe-1/2/0 {
unit 0 {
family inet {
address 10.0.0.26/30;
}
}
}
lo0 {
unit 0 {
family inet {
address 192.168.0.5/32 {
primary;
}
address 10.2.0.1/32;
address 10.3.0.1/32;
}
}
}
user@E# show protocols
bgp {
group external-peers {
type external;
export statics;
peer-as 1;
neighbor 10.0.0.25;
}
}
user@E# show policy-options
policy-statement statics {
from protocol static;
then {
community add Edu;
accept;
}
}
community Edu members 2:5;
user@E# show routing-options
static {
route 10.2.0.0/16 {
reject;
install;
}
route 10.3.0.0/16 {
reject;
install;
}
}
router-id 192.168.0.5;
autonomous-system 2;
Dispositivo C
user@C# show interfaces
fe-1/2/0 {
unit 0 {
family inet {
address 10.0.0.10/30;
}
family iso;
}
}
fe-1/2/1 {
unit 0 {
family inet {
address 10.0.0.13/30;
}
family iso;
}
}
fe-1/2/2 {
unit 0 {
family inet {
address 10.0.0.25/30;
}
family iso;
}
}
lo0 {
unit 0 {
family inet {
address 192.168.0.3/32;
}
family iso {
address 49.0002.0192.0168.0003.00;
}
}
}
user@C# show protocols
bgp {
group int {
type internal;
local-address 192.168.0.3;
neighbor 192.168.0.1;
neighbor 192.168.0.2;
}
group external-peers {
type external;
export send-isis-and-direct;
peer-as 2;
neighbor 10.0.0.26;
}
}
isis {
export Edu-to-isis;
interface fe-1/2/0.0 {
level 1 disable;
}
interface fe-1/2/1.0 {
level 1 disable;
}
interface fe-1/2/2.0 {
level 1 disable;
level 2 passive;
}
interface lo0.0;
}
user@C# show policy-options
policy-statement Edu-to-isis {
term 1 {
from {
protocol bgp;
community Edu;
}
then {
metric 63;
accept;
}
}
}
policy-statement send-isis-and-direct {
term 1 {
from {
protocol [ isis direct ];
route-filter 10.0.0.0/16 orlonger;
route-filter 192.168.0.0/16 orlonger;
}
then accept;
}
}
community Edu members 2:5;
user@C# show routing-options
router-id 192.168.0.3;
autonomous-system 1;
Si ha terminado de configurar el dispositivo, ingrese commit desde el modo de configuración.
Verificación
Confirme que la configuración funciona correctamente.
Verificar el vecino del IS-IS
Propósito
Compruebe que las rutas del BGP desde el dispositivo E se comunican en la red IS-IS del AS 1.
Acción
Desde el modo operativo, ingrese el show route protocol isis comando.
user@D> show route protocol isis
inet.0: 11 destinations, 11 routes (11 active, 0 holddown, 0 hidden)
+ = Active Route, - = Last Active, * = Both
10.0.0.4/30 *[IS-IS/18] 22:30:53, metric 30
> to 10.0.0.13 via fe-1/2/0.0
10.0.0.8/30 *[IS-IS/18] 22:30:53, metric 20
> to 10.0.0.13 via fe-1/2/0.0
10.0.0.24/30 *[IS-IS/18] 03:31:21, metric 20
> to 10.0.0.13 via fe-1/2/0.0
10.2.0.0/16 *[IS-IS/165] 02:36:31, metric 73
> to 10.0.0.13 via fe-1/2/0.0
10.3.0.0/16 *[IS-IS/165] 02:36:31, metric 73
> to 10.0.0.13 via fe-1/2/0.0
192.168.0.1/32 *[IS-IS/18] 03:40:28, metric 30
> to 10.0.0.13 via fe-1/2/0.0
192.168.0.2/32 *[IS-IS/18] 22:30:53, metric 20
> to 10.0.0.13 via fe-1/2/0.0
192.168.0.3/32 *[IS-IS/18] 22:30:53, metric 10
> to 10.0.0.13 via fe-1/2/0.0
iso.0: 1 destinations, 1 routes (1 active, 0 holddown, 0 hidden)Significado
Como se esperaba, las rutas 10.2.0.0/16 y 10.3.0.0/16 se encuentran en la tabla de enrutamiento del dispositivo D como rutas externas IS-IS con una métrica de 73. Si el dispositivo C no hubiera agregado 63 a la métrica, el dispositivo D tendría una métrica de 10 para estas rutas.
Ejemplo: Configurar una política de enrutamiento que elimina comunidades de BGP
En este ejemplo, se muestra cómo crear una política que acepte rutas de BGP, pero elimine comunidades de BGP de las rutas.
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
En este ejemplo, se muestran dos dispositivos de enrutamiento con una conexión BGP externa (EBGP) entre ellos. El dispositivo R2 usa la sesión del BGP para enviar dos rutas estáticas al dispositivo R1. En el dispositivo R1, una política de importación especifica que todas las comunidades del BGP se deben quitar de las rutas.
De forma predeterminada, cuando las comunidades se configuran en pares de EBGP, se envían y se aceptan. Para suprimir la aceptación de comunidades recibidas de un vecino, puede eliminar todas las comunidades o un conjunto específico de comunidades. Cuando el resultado de una política es un conjunto vacío de comunidades, el atributo de comunidad no se incluye. Para eliminar todas las comunidades, primero defina un conjunto de comunidades comodín (aquí, la comunidad se denomina):wild
[edit policy-options] community wild members "* : *";
A continuación, en la instrucción de política de enrutamiento, especifique la community delete acción:
[edit policy-options] policy-statement policy-name { term term-name { then community delete wild; } }
Para suprimir una comunidad determinada de cualquier sistema autónomo (AS), defina la comunidad como community wild members "*:community-value".
Configuración
Configuración rápida de CLI
Para configurar rápidamente este ejemplo, copie los siguientes comandos, péguelos en un archivo de texto, elimine los saltos de línea, cambie los detalles necesarios para que coincidan con su configuración de red y, luego, copie y pegue los comandos en la CLI en el [edit] nivel de jerarquía.
Dispositivo R1
set interfaces fe-1/1/0 unit 0 description to-R2 set interfaces fe-1/1/0 unit 0 family inet address 10.0.0.1/30 set interfaces lo0 unit 0 family inet address 192.168.0.1/32 set protocols bgp group external-peers type external set protocols bgp group external-peers peer-as 2 set protocols bgp group external-peers neighbor 10.0.0.2 import remove-communities set policy-options policy-statement remove-communities term 1 from protocol bgp set policy-options policy-statement remove-communities term 1 then community delete wild set policy-options policy-statement remove-communities term 1 then accept set policy-options policy-statement remove-communities term 2 then reject set policy-options community wild members *:* set routing-options router-id 192.168.0.1 set routing-options autonomous-system 1
Dispositivo R2
set interfaces fe-1/1/0 unit 0 description to-R1 set interfaces fe-1/1/0 unit 0 family inet address 10.0.0.2/30 set interfaces lo0 unit 0 family inet address 192.168.0.2/32 set protocols bgp group external-peers type external set protocols bgp group external-peers export statics set protocols bgp group external-peers peer-as 1 set protocols bgp group external-peers neighbor 10.0.0.1 set policy-options policy-statement statics from protocol static set policy-options policy-statement statics then community add 1 set policy-options policy-statement statics then accept set policy-options community 1 members 2:1 set policy-options community 1 members 2:2 set policy-options community 1 members 2:3 set policy-options community 1 members 2:4 set policy-options community 1 members 2:5 set policy-options community 1 members 2:6 set policy-options community 1 members 2:7 set policy-options community 1 members 2:8 set policy-options community 1 members 2:9 set policy-options community 1 members 2:10 set routing-options static route 10.2.0.0/16 reject set routing-options static route 10.2.0.0/16 install set routing-options static route 10.3.0.0/16 reject set routing-options static route 10.3.0.0/16 install set routing-options router-id 192.168.0.3 set routing-options autonomous-system 2
Procedimiento
Procedimiento paso a paso
El siguiente ejemplo requiere que navegue por varios niveles en la jerarquía de configuración. Para obtener más información acerca de cómo navegar por la CLI, consulte Uso del editor de CLI en el modo de configuración en la Guía del usuario de la CLI de Junos OS.
Para configurar el dispositivo R1:
Configure las interfaces.
[edit interfaces] user@R1# set fe-1/1/0 unit 0 description to-R2 user@R1# set fe-1/1/0 unit 0 family inet address 10.0.0.1/30 user@R1# set lo0 unit 0 family inet address 192.168.0.1/32
Configure BGP.
Aplique la política de importación a la sesión de emparejamiento del BGP con el dispositivo R2.
[edit protocols bgp group external-peers] user@R1# set type external user@R1# set peer-as 2 user@R1# set neighbor 10.0.0.2 import remove-communities
Configure la política de enrutamiento que elimina las comunidades.
[edit policy-options policy-statement remove-communities] user@R1# set term 1 from protocol bgp user@R1# set term 1 then community delete wild user@R1# set term 1 then accept user@R1# set term 2 then reject
Configure el número de sistema autónomo (AS) y el ID del enrutador.
[edit routing-options ] user@R1# set router-id 192.168.0.1 user@R1# set autonomous-system 1
Procedimiento paso a paso
El siguiente ejemplo requiere que navegue por varios niveles en la jerarquía de configuración. Para obtener más información acerca de cómo navegar por la CLI, consulte Uso del editor de CLI en el modo de configuración en la Guía del usuario de la CLI de Junos OS.
Para configurar el dispositivo R2:
Configure las interfaces.
[edit interfaces] user@R2# set fe-1/1/0 unit 0 description to-R1 user@R2# set fe-1/1/0 unit 0 family inet address 10.0.0.2/30 user@R2# set lo0 unit 0 family inet address 192.168.0.2/32
Configure el ID de enrutador y el número de sistema autónomo (AS).
[edit routing-options] user@R2# set router-id 192.168.0.3 user@R2# set autonomous-system 2
Configure BGP.
[edit protocols bgp group external-peers] user@R2# set type external user@R2# set peer-as 1 user@R2# set neighbor 10.0.0.1
Configure varias comunidades o configure una sola comunidad con varios miembros.
[edit policy-options community 1] user@R2# set members 2:1 user@R2# set members 2:2 user@R2# set members 2:3 user@R2# set members 2:4 user@R2# set members 2:5 user@R2# set members 2:6 user@R2# set members 2:7 user@R2# set members 2:8 user@R2# set members 2:9 user@R2# set members 2:10
Configure las rutas estáticas.
[edit routing-options static] user@R2# set route 10.2.0.0/16 reject user@R2# set route 10.2.0.0/16 install user@R2# set route 10.3.0.0/16 reject user@R2# set route 10.3.0.0/16 install
Configure una política de enrutamiento que anuncie rutas estáticas en el BGP y agregue la comunidad de BGP a las rutas.
[edit policy-options policy-statement statics] user@R2# set from protocol static user@R2# set then community add 1 user@R2# set then accept
Aplique la política de exportación.
[edit protocols bgp group external-peers] user@R2# set export statics
Resultados
Desde el modo de configuración, ingrese los comandos , show protocols, show policy-optionsy show routing-options para confirmar la show interfacesconfiguración. Si el resultado no muestra la configuración deseada, repita las instrucciones en este ejemplo para corregir la configuración.
Dispositivo R1
user@R1# show interfaces
fe-1/1/0 {
unit 0{
description to-R2;
family inet {
address 10.0.0.1/30;
}
}
}
lo0 {
unit 0 {
family inet {
address 192.168.0.1/32;
}
}
}
user@R1# show protocols
bgp {
group external-peers {
type external;
peer-as 2;
neighbor 10.0.0.2 {
import remove-communities;
}
}
}
user@R1# show policy-options
policy-statement remove-communities {
term 1 {
from protocol bgp;
then {
community delete wild;
accept;
}
}
term 2 {
then reject;
}
}
community wild members *:*;
user@R1# show routing-options router-id 192.168.0.1; autonomous-system 1;
Dispositivo R2
user@R2# show interfaces
fe-1/1/0 {
unit 0 {
description to-R1;
family inet {
address 10.0.0.2/30;
}
}
}
lo0 {
unit 0 {
family inet {
address 192.168.0.2/32;
}
}
}
user@R2# show protocols
bgp {
group external-peers {
type external;
export statics;
peer-as 1;
neighbor 10.0.0.1;
}
}
user@R2# show policy-options
policy-statement statics {
from protocol static;
then {
community add 1;
accept;
}
}
community 1 members [ 2:1 2:2 2:3 2:4 2:5 2:6 2:7 2:8 2:9 2:10 ];
user@R2# show routing-options
static {
route 10.2.0.0/16 {
reject;
install;
}
route 10.3.0.0/16 {
reject;
install;
}
}
router-id 192.168.0.3;
autonomous-system 2;
Si ha terminado de configurar los dispositivos, ingrese commit desde el modo de configuración.
Verificación
Confirme que la configuración funciona correctamente.
Verificar las rutas del BGP
Propósito
Asegúrese de que la tabla de enrutamiento del dispositivo R1 no contiene comunidades de BGP.
Acción
En el dispositivo R1, ejecute el
show route protocols bgp extensivecomando.user@R1> show route protocols bgp extensive inet.0: 5 destinations, 5 routes (5 active, 0 holddown, 0 hidden) 10.2.0.0/16 (1 entry, 1 announced) TSI: KRT in-kernel 10.2.0.0/16 -> {10.0.0.2} *BGP Preference: 170/-101 Next hop type: Router, Next hop index: 671 Address: 0x9458270 Next-hop reference count: 4 Source: 10.0.0.2 Next hop: 10.0.0.2 via lt-1/1/0.5, selected Session Id: 0x100001 State: <Active Ext> Local AS: 1 Peer AS: 2 Age: 20:39:01 Validation State: unverified Task: BGP_2.10.0.0.2+179 Announcement bits (1): 0-KRT AS path: 2 I Accepted Localpref: 100 Router ID: 192.168.0.3 10.3.0.0/16 (1 entry, 1 announced) TSI: KRT in-kernel 10.3.0.0/16 -> {10.0.0.2} *BGP Preference: 170/-101 Next hop type: Router, Next hop index: 671 Address: 0x9458270 Next-hop reference count: 4 Source: 10.0.0.2 Next hop: 10.0.0.2 via lt-1/1/0.5, selected Session Id: 0x100001 State: <Active Ext> Local AS: 1 Peer AS: 2 Age: 20:39:01 Validation State: unverified Task: BGP_2.10.0.0.2+179 Announcement bits (1): 0-KRT AS path: 2 I Accepted Localpref: 100 Router ID: 192.168.0.3En el dispositivo R1, desactive la
community removeconfiguración en la política de importación.[edit policy-options policy-statement remove-communities term 1] user@R1# deactivate then community delete wild user@R1# commit
En el dispositivo R1, ejecute el
show route protocols bgp extensivecomando para ver las comunidades anunciadas.user@R1> show route protocols bgp extensive inet.0: 5 destinations, 5 routes (5 active, 0 holddown, 0 hidden) 10.2.0.0/16 (1 entry, 1 announced) TSI: KRT in-kernel 10.2.0.0/16 -> {10.0.0.2} *BGP Preference: 170/-101 Next hop type: Router, Next hop index: 671 Address: 0x9458270 Next-hop reference count: 4 Source: 10.0.0.2 Next hop: 10.0.0.2 via lt-1/1/0.5, selected Session Id: 0x100001 State: <Active Ext> Local AS: 1 Peer AS: 2 Age: 20:40:53 Validation State: unverified Task: BGP_2.10.0.0.2+179 Announcement bits (1): 0-KRT AS path: 2 I Communities: 2:1 2:2 2:3 2:4 2:5 2:6 2:7 2:8 2:9 2:10 Accepted Localpref: 100 Router ID: 192.168.0.3 10.3.0.0/16 (1 entry, 1 announced) TSI: KRT in-kernel 10.3.0.0/16 -> {10.0.0.2} *BGP Preference: 170/-101 Next hop type: Router, Next hop index: 671 Address: 0x9458270 Next-hop reference count: 4 Source: 10.0.0.2 Next hop: 10.0.0.2 via lt-1/1/0.5, selected Session Id: 0x100001 State: <Active Ext> Local AS: 1 Peer AS: 2 Age: 20:40:53 Validation State: unverified Task: BGP_2.10.0.0.2+179 Announcement bits (1): 0-KRT AS path: 2 I Communities: 2:1 2:2 2:3 2:4 2:5 2:6 2:7 2:8 2:9 2:10 Accepted Localpref: 100 Router ID: 192.168.0.3
Significado
El resultado muestra que en la tabla de enrutamiento del dispositivo R1, las comunidades se suprimen en las rutas BGP enviadas desde el dispositivo R2. Cuando se desactiva la community remove configuración de la política de importación del dispositivo R1, las comunidades ya no se suprimen.
Ejemplo: Configuración de una política de enrutamiento basada en el número de comunidades de BGP
En este ejemplo, se muestra cómo crear una política que acepte rutas de BGP según el número de comunidades de BGP.
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
En este ejemplo, se muestran dos dispositivos de enrutamiento con una conexión BGP externa (EBGP) entre ellos. El dispositivo R2 usa la sesión del BGP para enviar dos rutas estáticas al dispositivo R1. En el dispositivo R1, una política de importación especifica que las rutas recibidas del BGP pueden contener hasta cinco comunidades que se considerarán coincidentes. Por ejemplo, si una ruta contiene tres comunidades, se considera una coincidencia y se acepta. Si una ruta contiene seis o más comunidades, se considera no igual y se rechaza.
Es importante recordar que la política predeterminada del EBGP es aceptar todas las rutas. Para asegurarse de que se rechazan las rutas sin conexión, debe incluir una then reject acción al final de la definición de política.
Topología
Figura 3 muestra la red de ejemplo.

Configuración
Configuración rápida de CLI
Para configurar rápidamente este ejemplo, copie los siguientes comandos, péguelos en un archivo de texto, elimine los saltos de línea, cambie los detalles necesarios para que coincidan con su configuración de red y, luego, copie y pegue los comandos en la CLI en el [edit] nivel de jerarquía.
Dispositivo R1
set interfaces fe-1/1/0 unit 0 description to-R2 set interfaces fe-1/1/0 unit 0 family inet address 10.0.0.1/30 set interfaces lo0 unit 0 family inet address 192.168.0.1/32 set protocols bgp group external-peers type external set protocols bgp group external-peers peer-as 2 set protocols bgp group external-peers neighbor 10.0.0.2 import import-communities set policy-options policy-statement import-communities term 1 from protocol bgp set policy-options policy-statement import-communities term 1 from community-count 5 orlower set policy-options policy-statement import-communities term 1 then accept set policy-options policy-statement import-communities term 2 then reject set routing-options router-id 192.168.0.1 set routing-options autonomous-system 1
Dispositivo R2
set interfaces fe-1/1/0 unit 0 description to-R1 set interfaces fe-1/1/0 unit 0 family inet address 10.0.0.2/30 set interfaces lo0 unit 0 family inet address 192.168.0.2/32 set protocols bgp group external-peers type external set protocols bgp group external-peers export statics set protocols bgp group external-peers peer-as 1 set protocols bgp group external-peers neighbor 10.0.0.1 set policy-options policy-statement statics from protocol static set policy-options policy-statement statics then community add 1 set policy-options policy-statement statics then accept set policy-options community 1 members 2:1 set policy-options community 1 members 2:2 set policy-options community 1 members 2:3 set policy-options community 1 members 2:4 set policy-options community 1 members 2:5 set policy-options community 1 members 2:6 set policy-options community 1 members 2:7 set policy-options community 1 members 2:8 set policy-options community 1 members 2:9 set policy-options community 1 members 2:10 set routing-options static route 10.2.0.0/16 reject set routing-options static route 10.2.0.0/16 install set routing-options static route 10.3.0.0/16 reject set routing-options static route 10.3.0.0/16 install set routing-options router-id 192.168.0.3 set routing-options autonomous-system 2
Procedimiento
Procedimiento paso a paso
El siguiente ejemplo requiere que navegue por varios niveles en la jerarquía de configuración. Para obtener más información acerca de cómo navegar por la CLI, consulte Uso del editor de CLI en el modo de configuración en la Guía del usuario de la CLI de Junos OS.
Para configurar el dispositivo R1:
Configure las interfaces.
[edit interfaces] user@R1# set fe-1/1/0 unit 0 description to-R2 user@R1# set fe-1/1/0 unit 0 family inet address 10.0.0.1/30 user@R1# set lo0 unit 0 family inet address 192.168.0.1/32
Configure BGP.
Aplique la política de importación a la sesión de emparejamiento del BGP con el dispositivo R2.
[edit protocols bgp group external-peers] user@R1# set type external user@R1# set peer-as 2 user@R1# set neighbor 10.0.0.2 import import-communities
Configure la política de enrutamiento que envía rutas directas.
[edit policy-options policy-statement import-communities] user@R1# set term 1 from protocol bgp user@R1# set term 1 from community-count 5 orlower user@R1# set term 1 then accept user@R1# set term 2 then reject
Configure el número de sistema autónomo (AS) y el ID del enrutador.
[edit routing-options ] user@R1# set router-id 192.168.0.1 user@R1# set autonomous-system 1
Procedimiento paso a paso
El siguiente ejemplo requiere que navegue por varios niveles en la jerarquía de configuración. Para obtener más información acerca de cómo navegar por la CLI, consulte Uso del editor de CLI en el modo de configuración en la Guía del usuario de la CLI de Junos OS.
Para configurar el dispositivo R2:
Configure las interfaces.
[edit interfaces] user@R2# set fe-1/1/0 unit 0 description to-R1 user@R2# set fe-1/1/0 unit 0 family inet address 10.0.0.2/30 user@R2# set lo0 unit 0 family inet address 192.168.0.2/32
Configure el ID de enrutador y el número de sistema autónomo (AS).
[edit routing-options] user@R2# set router-id 192.168.0.3 user@R2# set autonomous-system 2
Configure BGP.
[edit protocols bgp group external-peers] user@R2# set type external user@R2# set peer-as 1 user@R2# set neighbor 10.0.0.1
Configure varias comunidades o configure una sola comunidad con varios miembros.
[edit policy-options community 1] user@R2# set members 2:1 user@R2# set members 2:2 user@R2# set members 2:3 user@R2# set members 2:4 user@R2# set members 2:5 user@R2# set members 2:6 user@R2# set members 2:7 user@R2# set members 2:8 user@R2# set members 2:9 user@R2# set members 2:10
Configure las rutas estáticas.
[edit routing-options static] user@R2# set route 10.2.0.0/16 reject user@R2# set route 10.2.0.0/16 install user@R2# set route 10.3.0.0/16 reject user@R2# set route 10.3.0.0/16 install
Configure una política de enrutamiento que anuncie rutas estáticas en el BGP y agregue la comunidad de BGP a las rutas.
[edit policy-options policy-statement statics] user@R2# set from protocol static user@R2# set then community add 1 user@R2# set then accept
Aplique la política de exportación.
[edit protocols bgp group external-peers] user@R2# set export statics
Resultados
Desde el modo de configuración, ingrese los comandos , show protocols, show policy-optionsy show routing-options para confirmar la show interfacesconfiguración. Si el resultado no muestra la configuración deseada, repita las instrucciones en este ejemplo para corregir la configuración.
Dispositivo R1
user@R1# show interfaces
fe-1/1/0 {
unit 0{
description to-R2;
family inet {
address 10.0.0.1/30;
}
}
}
lo0 {
unit 0 {
family inet {
address 192.168.0.1/32;
}
}
}
}
user@R1# show protocols
bgp {
group external-peers {
type external;
peer-as 2;
neighbor 10.0.0.2 {
import import-communities;
}
}
}
user@R1# show policy-options
policy-statement import-communities {
term 1 {
from {
protocol bgp;
community-count 5 orlower;
}
then accept;
}
term 2 {
then reject;
}
}
user@R1# show routing-options router-id 192.168.0.1; autonomous-system 1;
Dispositivo R2
user@R2# show interfaces
fe-1/1/0 {
unit 0 {
description to-R1;
family inet {
address 10.0.0.2/30;
}
}
}
lo0 {
unit 0 {
family inet {
address 192.168.0.2/32;
}
}
}
user@R2# show protocols
bgp {
group external-peers {
type external;
export statics;
peer-as 1;
neighbor 10.0.0.1;
}
}
user@R2# show policy-options
policy-statement statics {
from protocol static;
then {
community add 1;
accept;
}
}
community 1 members [ 2:1 2:2 2:3 2:4 2:5 2:6 2:7 2:8 2:9 2:10 ];
user@R2# show routing-options
static {
route 10.2.0.0/16 {
reject;
install;
}
route 10.3.0.0/16 {
reject;
install;
}
}
router-id 192.168.0.3;
autonomous-system 2;
Si ha terminado de configurar los dispositivos, ingrese commit desde el modo de configuración.
Verificación
Confirme que la configuración funciona correctamente.
Verificar las rutas del BGP
Propósito
Asegúrese de que la tabla de enrutamiento del dispositivo R1 contiene las rutas de BGP esperadas.
Acción
En el dispositivo R1, ejecute el
show route protocols bgpcomando.user@R1> show route protocols bgp inet.0: 5 destinations, 5 routes (3 active, 0 holddown, 2 hidden)
En el dispositivo R1, cambie la
community-countconfiguración en la política de importación.[edit policy-options policy-statement import-communities term 1] user@R1# set from community-count 5 orhigher user@R1# commit
En el dispositivo R1, ejecute el
show route protocols bgpcomando.user@R1> show route protocols bgp inet.0: 5 destinations, 5 routes (5 active, 0 holddown, 0 hidden) + = Active Route, - = Last Active, * = Both 10.2.0.0/16 *[BGP/170] 18:29:53, localpref 100 AS path: 2 I, validation-state: unverified > to 10.0.0.2 via fe-1/1/0.0 10.3.0.0/16 *[BGP/170] 18:29:53, localpref 100 AS path: 2 I, validation-state: unverified > to 10.0.0.2 via fe-1/1/0.0En el dispositivo R1, ejecute el
show route protocols bgp extensivecomando para ver las comunidades anunciadas.user@R1> show route protocols bgp extensive inet.0: 5 destinations, 5 routes (5 active, 0 holddown, 0 hidden) 10.2.0.0/16 (1 entry, 1 announced) TSI: KRT in-kernel 10.2.0.0/16 -> {10.0.0.2} *BGP Preference: 170/-101 Next hop type: Router, Next hop index: 671 Address: 0x9458270 Next-hop reference count: 4 Source: 10.0.0.2 Next hop: 10.0.0.2 via fe-1/1/0.0, selected Session Id: 0x100001 State: <Active Ext> Local AS: 1 Peer AS: 2 Age: 18:56:10 Validation State: unverified Task: BGP_2.10.0.0.2+179 Announcement bits (1): 0-KRT AS path: 2 I Communities: 2:1 2:2 2:3 2:4 2:5 2:6 2:7 2:8 2:9 2:10 Accepted Localpref: 100 Router ID: 192.168.0.3 10.3.0.0/16 (1 entry, 1 announced) TSI: KRT in-kernel 10.3.0.0/16 -> {10.0.0.2} *BGP Preference: 170/-101 Next hop type: Router, Next hop index: 671 Address: 0x9458270 Next-hop reference count: 4 Source: 10.0.0.2 Next hop: 10.0.0.2 via fe-1/1/0.0, selected Session Id: 0x100001 State: <Active Ext> Local AS: 1 Peer AS: 2 Age: 18:56:10 Validation State: unverified Task: BGP_2.10.0.0.2+179 Announcement bits (1): 0-KRT AS path: 2 I Communities: 2:1 2:2 2:3 2:4 2:5 2:6 2:7 2:8 2:9 2:10 Accepted Localpref: 100 Router ID: 192.168.0.3
Significado
El resultado muestra que en la tabla de enrutamiento del dispositivo R1, las rutas del BGP enviadas desde el dispositivo R2 se ocultan. Cuando se modifica la configuración de la community-count política de importación del dispositivo R1, las rutas del BGP ya no se ocultan.
