Nesta página
Exemplo: Configuração do encaminhamento baseado em filtro no endereço de origem
Este exemplo mostra como configurar o encaminhamento baseado em filtro (FBF), que às vezes também é chamado de roteamento baseado em políticas (PBR). O filtro classifica os pacotes para determinar seu caminho de encaminhamento dentro do dispositivo de roteamento de entrada.
O encaminhamento baseado em filtros é suportado para IP versão 4 (IPv4) e versão IP 6 (IPv6).
QFX5110, QFX5120, QFX5130, QFX5200, QFX5210, QFX5220, QFX5230, QFX5240 e QFX5700 não instance-type forwarding
suportam; só instance-type virtual-router
é suportado.
Requisitos
Para este exemplo, não é necessária uma configuração especial além da inicialização do dispositivo.
Visão geral
Neste exemplo, usamos a FBF para a seleção de provedores de serviços quando os clientes têm conectividade à Internet fornecida por diferentes ISPs e ainda compartilham uma camada de acesso comum. Quando um meio compartilhado (como um modem de cabo) é usado, um mecanismo na camada de acesso comum analisa endereços de Camada 2 ou Camada 3 e distingue entre os clientes. Você pode usar o encaminhamento baseado em filtros quando a camada de acesso comum é implementada usando uma combinação de switches de Camada 2 e um único roteador.
Com a FBF, todos os pacotes recebidos em uma interface são considerados. Cada pacote passa por um filtro que tem condições de correspondência. Se as condições de correspondência forem atendidas para um filtro e você tiver criado uma instância de roteamento, a FBF será aplicada ao pacote. O pacote é encaminhado com base no próximo salto especificado na instância de roteamento. Para rotas estáticas, o próximo salto pode ser um LSP específico.
A correspondência do filtro de uso da classe fonte e as verificações de encaminhamento de caminho reverso unicast não são suportadas em uma interface configurada para FBF.
Para configurar a FBF, execute as seguintes tarefas:
Crie um filtro de correspondência no dispositivo de entrada. Para especificar um filtro de correspondência, inclua a
filter filter-name
declaração no nível de[edit firewall]
hierarquia. Um pacote que passa pelo filtro é comparado com um conjunto de regras para classificá-lo e determinar sua associação em um conjunto. Uma vez classificado, o pacote é encaminhado para uma tabela de roteamento especificada na ação de aceitação na linguagem de descrição do filtro. A tabela de roteamento encaminha o pacote para o próximo salto que corresponde à entrada do endereço de destino na tabela.Crie instâncias de roteamento que especifiquem a(s) tabela(s) de roteamento à qual um pacote é encaminhado e o destino para o qual o pacote é encaminhado no
[edit routing-instances]
nível hierárquico. Por exemplo:[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; } } } }
Crie um grupo RIB para compartilhar rotas de interface com as instâncias de roteamento de encaminhamento usadas no encaminhamento baseado em filtro (FBF). Essa parte da configuração resolve as rotas instaladas nas instâncias de roteamento para conectar diretamente próximos saltos nessa interface. Crie o grupo de tabela de roteamento no nível hierárquicos
[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; } } } }
Este exemplo mostra um filtro de pacote que direciona o tráfego do cliente para um roteador de próximo salto nos domínios, SP1 ou SP2, com base no endereço fonte do pacote.
Se o pacote tiver um endereço fonte atribuído a um cliente SP1, o encaminhamento baseado em destino ocorre usando a tabela de roteamento sp1-route.inet.0. Se o pacote tiver um endereço fonte atribuído a um cliente SP2, o encaminhamento baseado em destino ocorre usando a tabela de roteamento sp2-route-table.inet.0. Se um pacote não corresponder a nenhuma dessas condições, o filtro aceita o pacote e o encaminhamento baseado em destino ocorre usando a tabela de roteamento padrão inet.0.
Topologia
Figura 1 mostra a topologia usada neste exemplo.
No dispositivo P1, um filtro de entrada classifica os pacotes recebidos do Dispositivo PE3 e do Dispositivo PE4. Os pacotes são roteados com base nos endereços de origem. Os pacotes com endereços de origem nas redes 10.1.1.0/24 e 10.1.2.0/24 são roteados para o Dispositivo PE1. Os pacotes com endereços de origem nas redes 10.2.1.0/24 e 10.2.2.0/24 são roteados para o Dispositivo PE2.
Para estabelecer conectividade, o OSPF está configurado em todas as interfaces. Para fins de demonstração, os endereços da interface de loopback estão configurados nos dispositivos de roteamento para representar redes nas nuvens.
A Configuração rápida da CLI seção mostra toda a configuração para todos os dispositivos da topologia. A Configuração do encaminhamento baseado em filtro no dispositivo P1 seção mostra a configuração passo a passo do dispositivo de roteamento de entrada, Dispositivo P1.
Configuração
- Configuração rápida da CLI
- Configurando o filtro de firewall em P1
- Configuração do encaminhamento baseado em filtro no dispositivo P1
- Resultados
Configuração rápida da CLI
Para configurar este exemplo rapidamente, copie os seguintes comandos, cole-os em um arquivo de texto, remova qualquer quebra de linha, altere os detalhes necessários para combinar com a configuração da sua rede e, em seguida, copie e cole os comandos no CLI no nível de [edit]
hierarquia.
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
Pe1 do dispositivo
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
PE2 do dispositivo
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
Pe3 do dispositivo
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
Configurando o filtro de firewall em P1
Procedimento passo a passo
O exemplo a seguir exige que você navegue por vários níveis na hierarquia de configuração. Para obter informações sobre como navegar na CLI, consulte Usando o Editor de CLI no modo de configuração no Guia de usuário do Junos OS CLI.
Para configurar o filtro de firewall no roteador ou switch principal:
Configure os endereços de origem para clientes 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
Configure as ações que são tomadas quando os pacotes são recebidos com os endereços de origem especificados; eles estão conectados e são passados para a instância de roteamento de tabela de roteamento sp1-route-table para roteamento pela tabela de roteamento 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 os endereços de origem para clientes 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
Configure as ações que são tomadas quando os pacotes são recebidos com os endereços de origem especificados; eles estão conectados e são passados para a instância de roteamento de tabela de rotas sp2 para roteamento pela tabela de roteamento 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 a ação a ser tomada quando os pacotes forem recebidos de qualquer outro endereço de origem; eles são aceitos e roteados usando a tabela de roteamento unicast IPv4 padrão, inet.0.
[edit firewall filter classify-customers term default] user@host# set then accept
Configuração do encaminhamento baseado em filtro no dispositivo P1
Procedimento passo a passo
O exemplo a seguir exige que você navegue por vários níveis na hierarquia de configuração. Para obter informações sobre como navegar na CLI, consulte Usando o Editor de CLI no modo de configuração no Guia de usuário do Junos OS CLI.
Para configurar as instâncias de roteamento:
Configure as 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
Atribua o
classify-customers
filtro de firewall à interface do roteador fe-1/2/0.0 como um filtro de pacote de entrada.[edit interfaces fe-1/2/0] user@host# set unit 0 family inet filter input classify-customers
Configure a conectividade, usando um protocolo de roteamento ou roteamento estático.
Como uma prática recomendada, desabilitar o roteamento na interface de gerenciamento.
[edit protocols ospf area 0.0.0.0] user@host# set interface all user@host# set interface fxp0.0 disable
Crie as instâncias de roteamento que são mencionadas no filtro de
classify-customers
firewall. O tipo de instância de encaminhamento oferece suporte para o encaminhamento baseado em filtros, onde as interfaces não estão associadas a instâncias.[edit routing-instances] user@host# set sp1-route-table instance-type forwarding user@host# set sp2-route-table instance-type forwarding
Para cada instância de roteamento, defina uma rota padrão para encaminhar o tráfego para o próximo salto especificado (PE1 e PE2 neste exemplo).
[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
Associem as tabelas de roteamento para formar um grupo de tabela de roteamento. A primeira tabela de roteamento, inet.0, é a tabela de roteamento principal, e as outras são tabelas de roteamento secundárias. A tabela de roteamento principal determina a família de endereços do grupo de tabela de roteamento, neste caso o 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 o grupo de tabela de roteamento de grupo fbf dentro da configuração OSPF para instalar rotas OSPF nas três tabelas de roteamento.
[edit protocols ospf] user@host# set rib-group fbf-group
Confirme a configuração quando terminar.
[edit] user@host# commit
Resultados
Confirme sua configuração emitindo os show interfaces
comandos show routing-instances
show firewall
show protocols
e show routing-options
os comandos.
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 ]; } }
Verificação
Confirme se a configuração está funcionando corretamente.
Pinging com endereços de origem especificados
Propósito
Envie alguns pacotes de ICMP pela rede para testar o filtro de firewall.
Ação
Execute o
ping
comando, pingando a interface lo0.0 no Dispositivo PE1.O endereço configurado nesta interface é 172.16.1.1.
Especifique o endereço fonte 10.1.2.1, que é o endereço configurado na interface lo0.0 no 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
Execute o
ping
comando, pingando a interface lo0.0 no dispositivo PE2.O endereço configurado nesta interface é 172.16.2.2.
Especifique o endereço fonte 10.2.1.1, que é o endereço configurado na interface lo0.0 no 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
O envio desses pings ativa as ações do filtro de firewall.
Verificando o filtro de firewall
Propósito
Certifique-se de que as ações do filtro de firewall surtiram efeito.
Ação
Execute o
show firewall log
comando no dispositivo P1.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