EN ESTA PÁGINA
Ejemplo: Configuración del reenvío basado en filtros en la dirección de origen
En este ejemplo se muestra cómo configurar el reenvío basado en filtros (FBF), que a veces también se denomina enrutamiento basado en directivas (PBR). El filtro clasifica los paquetes para determinar su ruta de reenvío dentro del dispositivo de enrutamiento de entrada.
El reenvío basado en filtros es compatible con IP versión 4 (IPv4) e IP versión 6 (IPv6).
Requisitos
Para este ejemplo, no se requiere ninguna configuración especial más allá de la inicialización del dispositivo.
Descripción general
En este ejemplo, usamos FBF para la selección de proveedores de servicios cuando los clientes tienen conectividad a Internet proporcionada por diferentes ISP pero comparten una capa de acceso común. Cuando se utiliza un medio compartido (como un módem por cable), un mecanismo en la capa de acceso común examina las direcciones de capa 2 o capa 3 y distingue entre clientes. Puede utilizar el reenvío basado en filtros cuando la capa de acceso común se implementa mediante una combinación de conmutadores de capa 2 y un solo enrutador.
Con FBF, se consideran todos los paquetes recibidos en una interfaz. Cada paquete pasa a través de un filtro que tiene condiciones coincidentes. Si se cumplen las condiciones de coincidencia para un filtro y ha creado una instancia de enrutamiento, FBF se aplica al paquete. El paquete se reenvía en función del siguiente salto especificado en la instancia de enrutamiento. Para rutas estáticas, el siguiente salto puede ser un LSP específico.
La coincidencia de filtros de uso de clase de origen y las comprobaciones de reenvío de ruta inversa de unidifusión no se admiten en una interfaz configurada para FBF.
Para configurar FBF, realice las siguientes tareas:
Cree un filtro de coincidencia en el dispositivo de entrada. Para especificar un filtro de coincidencia, incluya la instrucción en el nivel de jerarquía.
filter filter-name
[edit firewall]
Un paquete que pasa a través del filtro se compara con un conjunto de reglas para clasificarlo y determinar su pertenencia a un conjunto. Una vez clasificado, el paquete se reenvía a una tabla de enrutamiento especificada en la acción aceptar en el lenguaje de descripción de filtros. A continuación, la tabla de enrutamiento reenvía el paquete al siguiente salto que corresponde a la entrada de dirección de destino de la tabla.Cree instancias de enrutamiento que especifiquen las tablas de enrutamiento a las que se reenvía un paquete y el destino al que se reenvía el paquete en el nivel jerárquico .
[edit routing-instances]
Por ejemplo:[edit] routing-instances { routing-table-name1 { instance-type forwarding; routing-options { static { route 0.0.0.0/0 next-hop 172.16.0.14; } } } routing-table-name2 { instance-type forwarding; routing-options { static { route 0.0.0.0/0 next-hop 172.16.0.18; } } } }
Cree un grupo RIB para compartir rutas de interfaz con las instancias de enrutamiento de reenvío usadas en el reenvío basado en filtros (FBF). Esta parte de la configuración resuelve las rutas instaladas en las instancias de enrutamiento para conectar directamente los próximos saltos en esa interfaz. Cree el grupo de tablas de enrutamiento en el nivel jerárquico .
[edit routing-options]
[edit] routing-options { interface-routes { rib-group; inet { int-routes; } } } } routing-options { rib-groups { int-routes { import-rib { inet.0; webtraffic.inet.0; } } } }
En este ejemplo se muestra un filtro de paquetes que dirige el tráfico del cliente a un enrutador del próximo salto en los dominios, SP1 o SP2, según la dirección de origen del paquete.
Si el paquete tiene una dirección de origen asignada a un cliente de SP1, el reenvío basado en destino se produce mediante la tabla de enrutamiento sp1-route-table.inet.0. Si el paquete tiene una dirección de origen asignada a un cliente de SP2, el reenvío basado en destino se produce mediante la tabla de enrutamiento sp2-route-table.inet.0. Si un paquete no cumple ninguna de estas condiciones, el filtro acepta el paquete y el reenvío basado en destino se produce mediante la tabla de enrutamiento inet.0 estándar.
Topología
Figura 1muestra la topología utilizada en este ejemplo.
En el dispositivo P1, un filtro de entrada clasifica los paquetes recibidos del dispositivo PE3 y del dispositivo PE4. Los paquetes se enrutan en función de las direcciones de origen. Los paquetes con direcciones de origen en las redes 10.1.1.0/24 y 10.1.2.0/24 se enrutan al dispositivo PE1. Los paquetes con direcciones de origen en las redes 10.2.1.0/24 y 10.2.2.0/24 se enrutan al dispositivo PE2.
Para establecer la conectividad, OSPF se configura en todas las interfaces. Para fines de demostración, las direcciones de interfaz de circuito cerrado se configuran en los dispositivos de enrutamiento para representar redes en las nubes.
En la sección se muestra la configuración completa de todos los dispositivos de la topología.Configuración rápida de CLI En la sección se muestra la configuración paso a paso del dispositivo de enrutamiento de entrada, dispositivo P1.Configuración del reenvío basado en filtros en el dispositivo P1
Configuración
- Configuración rápida de CLI
- Configuración del filtro de firewall en P1
- Configuración del reenvío basado en filtros en el dispositivo P1
- Resultados
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 jerarquía.[edit]
Dispositivo P1
set firewall filter classify-customers term sp1-customers from source-address 10.1.1.0/24 set firewall filter classify-customers term sp1-customers from source-address 10.1.2.0/24 set firewall filter classify-customers term sp1-customers then log set firewall filter classify-customers term sp1-customers then routing-instance sp1-route-table set firewall filter classify-customers term sp2-customers from source-address 10.2.1.0/24 set firewall filter classify-customers term sp2-customers from source-address 10.2.2.0/24 set firewall filter classify-customers term sp2-customers then log set firewall filter classify-customers term sp2-customers then routing-instance sp2-route-table set firewall filter classify-customers term default then accept set interfaces fe-1/2/0 unit 0 family inet filter input classify-customers set interfaces fe-1/2/0 unit 0 family inet address 172.16.0.10/30 set interfaces fe-1/2/1 unit 0 family inet address 172.16.0.13/30 set interfaces fe-1/2/2 unit 0 family inet address 172.16.0.17/30 set protocols ospf rib-group fbf-group set protocols ospf area 0.0.0.0 interface all set protocols ospf area 0.0.0.0 interface fxp0.0 disable set routing-instances sp1-route-table instance-type forwarding set routing-instances sp1-route-table routing-options static route 0.0.0.0/0 next-hop 172.16.0.14 set routing-instances sp2-route-table instance-type forwarding set routing-instances sp2-route-table routing-options static route 0.0.0.0/0 next-hop 172.16.0.18 set routing-options interface-routes rib-group fbf-group set routing-options rib-groups fbf-group import-rib inet.0 set routing-options rib-groups fbf-group import-rib sp1-route-table.inet.0 set routing-options rib-groups fbf-group import-rib sp2-route-table.inet.0
Dispositivo P2
set interfaces fe-1/2/0 unit 0 family inet address 172.16.0.2/30 set interfaces fe-1/2/1 unit 0 family inet address 172.16.0.6/30 set interfaces fe-1/2/2 unit 0 family inet address 172.16.0.9/30 set protocols ospf area 0.0.0.0 interface all set protocols ospf area 0.0.0.0 interface fxp0.0 disable
Dispositivo PE1
set interfaces fe-1/2/0 unit 0 family inet address 172.16.0.14/30 set interfaces lo0 unit 0 family inet address 172.16.1.1/32 set protocols ospf area 0.0.0.0 interface all set protocols ospf area 0.0.0.0 interface fxp0.0 disable
Dispositivo PE2
set interfaces fe-1/2/0 unit 0 family inet address 172.16.0.18/30 set interfaces lo0 unit 0 family inet address 172.16.2.2/32 set protocols ospf area 0.0.0.0 interface all set protocols ospf area 0.0.0.0 interface fxp0.0 disable
Dispositivo PE3
set interfaces fe-1/2/0 unit 0 family inet address 172.16.0.1/30 set interfaces lo0 unit 0 family inet address 10.1.1.1/32 set interfaces lo0 unit 0 family inet address 10.1.2.1/32 set protocols ospf area 0.0.0.0 interface all set protocols ospf area 0.0.0.0 interface fxp0.0 disable
Dispositivo PE4
set interfaces fe-1/2/0 unit 0 family inet address 172.16.0.5/30 set interfaces lo0 unit 0 family inet address 10.2.1.1/32 set interfaces lo0 unit 0 family inet address 10.2.2.1/32 set protocols ospf area 0.0.0.0 interface all set protocols ospf area 0.0.0.0 interface fxp0.0 disable
Configuración del filtro de firewall en P1
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.Usar el editor de CLI en el modo de configuraciónhttps://www.juniper.net/documentation/en_US/junos/information-products/pathway-pages/junos-cli/junos-cli.html
Para configurar el filtro de firewall en el enrutador o conmutador principal:
Configure las direcciones de origen para los clientes de SP1.
[edit firewall filter classify-customers term sp1-customers] user@host# set from source-address 10.1.1.0/24 user@host# set from source-address 10.1.2.0/24
Configurar las acciones que se llevan a cabo cuando se reciben paquetes con las direcciones de origen especificadas; Se registran y se pasan a la instancia de enrutamiento de SP1-route-table para su enrutamiento a través de la tabla de enrutamiento SP1-route-table.inet.0.
[edit firewall filter classify-customers term sp1-customers] user@host# set then log user@host# set then routing-instance sp1-route-table
Configure las direcciones de origen para los clientes de SP2.
[edit firewall filter classify-customers term sp2-customers] user@host# set from source-address 10.2.1.0/24 user@host# set from source-address 10.2.2.0/24
Configurar las acciones que se llevan a cabo cuando se reciben paquetes con las direcciones de origen especificadas; Se registran y se pasan a la instancia de enrutamiento de SP2-route-table para su enrutamiento a través de la tabla de enrutamiento sp2-route-table.inet.0.
[edit firewall filter classify-customers term sp2-customers] user@host# set then log user@host# set then routing-instance sp2-route-table
Configure la acción a realizar cuando se reciben paquetes desde cualquier otra dirección de origen; se aceptan y enrutan mediante la tabla de enrutamiento de unidifusión IPv4 predeterminada, inet.0.
[edit firewall filter classify-customers term default] user@host# set then accept
Configuración del reenvío basado en filtros en el dispositivo P1
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.Usar el editor de CLI en el modo de configuraciónhttps://www.juniper.net/documentation/en_US/junos/information-products/pathway-pages/junos-cli/junos-cli.html
Para configurar las instancias de enrutamiento:
Configure las interfaces.
[edit interfaces fe-1/2/0] user@host# set unit 0 family inet address 172.16.0.10/30 [edit interfaces fe-1/2/1] user@host# set unit 0 family inet address 172.16.0.13/30 [edit interfaces fe-1/2/2] user@host# set unit 0 family inet address 172.16.0.17/30
Asigne el filtro de firewall a la interfaz del enrutador fe-1/2/0.0 como filtro de paquetes de entrada.
classify-customers
[edit interfaces fe-1/2/0] user@host# set unit 0 family inet filter input classify-customers
Configure la conectividad mediante un protocolo de enrutamiento o enrutamiento estático.
Como práctica recomendada, deshabilite el enrutamiento en la interfaz de administración.
[edit protocols ospf area 0.0.0.0] user@host# set interface all user@host# set interface fxp0.0 disable
Cree las instancias de enrutamiento a las que se hace referencia en el filtro de firewall.
classify-customers
El tipo de instancia de reenvío proporciona compatibilidad con el reenvío basado en filtros, donde las interfaces no están asociadas a instancias.[edit routing-instances] user@host# set sp1-route-table instance-type forwarding user@host# set sp2-route-table instance-type forwarding
Para cada instancia de enrutamiento, defina una ruta predeterminada para reenviar el tráfico al siguiente salto especificado (PE1 y PE2 en este ejemplo).
[edit routing-instances ] user@host# set sp1-route-table routing-options static route 0.0.0.0/0 next-hop 172.16.0.14 user@host# set sp2-route-table routing-options static route 0.0.0.0/0 next-hop 172.16.0.18
Asocie las tablas de enrutamiento para formar un grupo de tablas de enrutamiento. La primera tabla de enrutamiento, inet.0, es la tabla de enrutamiento principal y las otras son tablas de enrutamiento secundarias. La tabla de enrutamiento principal determina la familia de direcciones del grupo de tablas de enrutamiento, en este caso IPv4.
[edit routing-options] user@host# set rib-groups fbf-group import-rib inet.0 user@host# set rib-groups fbf-group import-rib sp1-route-table.inet.0 user@host# set rib-groups fbf-group import-rib sp2-route-table.inet.0
Especifique el grupo de tablas de enrutamiento fbf group dentro de la configuración de OSPF para instalar rutas OSPF en las tres tablas de enrutamiento.
[edit protocols ospf] user@host# set rib-group fbf-group
Confirme la configuración cuando haya terminado.
[edit] user@host# commit
Resultados
Confirme la configuración emitiendo los comandos , , , y .show interfaces
show firewall
show protocols
show routing-instances
show routing-options
user@host# show interfaces fe-1/2/0 { unit 0 { family inet { filter { input classify-customers; } address 172.16.0.10/30; } } } fe-1/2/1 { unit 0 { family inet { address 172.16.0.13/30; } } } fe-1/2/2 { unit 0 { family inet { address 172.16.0.17/30; } } }
user@host# show firewall filter classify-customers { term sp1-customers { from { source-address { 10.1.1.0/24; 10.1.2.0/24; } } then { log; routing-instance sp1-route-table; } } term sp2-customers { from { source-address { 10.2.1.0/24; 10.2.2.0/24; } } then { log; routing-instance sp2-route-table; } } term default { then accept; } }
user@host# show protocols ospf { rib-group fbf-group; area 0.0.0.0 { interface all; interface fxp0.0 { disable; } } }
user@host# show routing-instances sp1-route-table { instance-type forwarding; routing-options { static { route 0.0.0.0/0 next-hop 172.16.0.14; } } } sp2-route-table { instance-type forwarding; routing-options { static { route 0.0.0.0/0 next-hop 172.16.0.18; } } }
user@host# show routing-options rib-groups { fbf-group { import-rib [ inet.0 sp1-route-table.inet.0 sp2-route-table.inet.0 ]; } }
Verificación
Confirme que la configuración funcione correctamente.
Hacer ping con direcciones de origen especificadas
Propósito
Envíe algunos paquetes ICMP a través de la red para probar el filtro de firewall.
Acción
Ejecute el comando, haciendo ping a la interfaz lo0.0 en el dispositivo PE1.
ping
La dirección configurada en esta interfaz es 172.16.1.1.
Especifique la dirección de origen 10.1.2.1, que es la dirección configurada en la interfaz lo0.0 del dispositivo PE3.
user@PE3> ping 172.16.1.1 source 10.1.2.1 PING 172.16.1.1 (172.16.1.1): 56 data bytes 64 bytes from 172.16.1.1: icmp_seq=0 ttl=62 time=1.444 ms 64 bytes from 172.16.1.1: icmp_seq=1 ttl=62 time=2.094 ms ^C --- 172.16.1.1 ping statistics --- 2 packets transmitted, 2 packets received, 0% packet loss round-trip min/avg/max/stddev = 1.444/1.769/2.094/0.325 ms
Ejecute el comando haciendo ping a la interfaz lo0.0 en el dispositivo PE2.
ping
La dirección configurada en esta interfaz es 172.16.2.2.
Especifique la dirección de origen 10.2.1.1, que es la dirección configurada en la interfaz lo0.0 del dispositivo PE4.
user@PE4> ping 172.16.2.2 source 10.2.1.1 PING 172.16.2.2 (172.16.2.2): 56 data bytes 64 bytes from 172.16.2.2: icmp_seq=0 ttl=62 time=1.473 ms 64 bytes from 172.16.2.2: icmp_seq=1 ttl=62 time=1.407 ms ^C --- 172.16.2.2 ping statistics --- 2 packets transmitted, 2 packets received, 0% packet loss round-trip min/avg/max/stddev = 1.407/1.440/1.473/0.033 ms
Significado
El envío de estos pings activa las acciones de filtro del firewall.
Comprobación del filtro de firewall
Propósito
Asegúrese de que las acciones de filtro del firewall surtan efecto.
Acción
Ejecute el comando en el dispositivo P1.
show firewall log
user@P1> show firewall log Log : Time Filter Action Interface Protocol Src Addr Dest Addr 13:52:20 pfe A fe-1/2/0.0 ICMP 10.2.1.1 172.16.2.2 13:52:19 pfe A fe-1/2/0.0 ICMP 10.2.1.1 172.16.2.2 13:51:53 pfe A fe-1/2/0.0 ICMP 10.1.2.1 172.16.1.1 13:51:52 pfe A fe-1/2/0.0 ICMP 10.1.2.1 172.16.1.1