NESTA PÁGINA
Exemplo: configurar e aplicar um filtro de firewall para um classificador multicampo
Este exemplo mostra como configurar um filtro de firewall para classificar o tráfego usando um classificador multicampo. O classificador detecta pacotes de interesse para classe de serviço (CoS) quando eles chegam em uma interface. Classificadores multicampo são usados quando um classificador agregado de comportamento simples (BA) é insuficiente para classificar um pacote, quando os roteadores de peering não têm bits cos marcados, ou a marcação do roteador de peering não é confiável.
Requisitos
Para verificar esse procedimento, este exemplo usa um gerador de tráfego. O gerador de tráfego pode ser baseado em hardware ou pode ser um software em execução em uma máquina de servidor ou host.
A funcionalidade neste procedimento é amplamente suportada em dispositivos que executam o Junos OS. O exemplo aqui mostrado foi testado e verificado nos roteadores da Série MX que executam o Junos OS Release 10.4.
Visão geral
Um classificador é uma operação de software que inspeciona um pacote quando ele entra no roteador ou switch. O conteúdo do cabeçalho de pacotes é examinado, e este exame determina como o pacote é tratado quando a rede fica muito ocupada para lidar com todos os pacotes e você quer que seus dispositivos derrubem pacotes de maneira inteligente, em vez de soltar pacotes indiscriminadamente. Uma maneira comum de detectar pacotes de interesse é pelo número da porta de origem. Os números das portas TCP 80 e 12345 são usados neste exemplo, mas muitos outros critérios de correspondência para detecção de pacotes estão disponíveis para classificadores multicampo, usando condições de correspondência de filtro de firewall. A configuração neste exemplo especifica que os pacotes TCP com porta de origem 80 são classificados na classe de encaminhamento de dados BE e na fila número 0. Os pacotes TCP com porta de origem 12345 são classificados na classe de encaminhamento de dados Premium e na fila número 1.
Os classificadores multicampo normalmente são usados na borda da rede à medida que os pacotes entram em um sistema autônomo (AS).
Neste exemplo, você configura o classificador de mf de filtro de firewall e especifica algumas aulas de encaminhamento personalizadas no dispositivo R1. Ao especificar as aulas de encaminhamento personalizadas, você também associa cada classe a uma fila.
A operação de classificação é mostrada na Figura 1.
de origem TCP
Você aplica o filtro de firewall do classificador multicampo como um filtro de entrada em cada interface voltada para o cliente ou voltada para o host que precisa do filtro. A interface de entrada é ge-1/0/1 no dispositivo R1. A classificação e a atribuição da fila são verificadas na interface de saída. A interface de saída é a interface ge-1/0/9 do dispositivo R1.
Topologia
A Figura 2 mostra a rede amostral.
de classificação multicampo
A configuração rápida da CLI mostra a configuração para todos os dispositivos da Juniper Networks na Figura 2.
O procedimento passo a passo descreve as etapas do dispositivo R1.
Os classificadores são descritos com mais detalhes no vídeo do Juniper Networks Learning Byte a seguir.
Configuração
Procedimento
Configuração rápida de CLI
Para configurar este exemplo rapidamente, copie os seguintes comandos, cole-os em um arquivo de texto, remova quaisquer quebras de linha, altere todos os detalhes necessários para combinar com sua configuração de rede, copiar e colar os comandos no CLI no nível de [edit] hierarquia e, em seguida, entrar commit no modo de configuração.
Dispositivo R1
set interfaces ge-1/0/1 description to-host set interfaces ge-1/0/1 unit 0 family inet filter input mf-classifier set interfaces ge-1/0/1 unit 0 family inet address 172.16.50.2/30 set interfaces ge-1/0/9 description to-R2 set interfaces ge-1/0/9 unit 0 family inet address 10.30.0.1/30 set class-of-service forwarding-classes class BE-data queue-num 0 set class-of-service forwarding-classes class Premium-data queue-num 1 set class-of-service forwarding-classes class Voice queue-num 2 set class-of-service forwarding-classes class NC queue-num 3 set firewall family inet filter mf-classifier term BE-data from protocol tcp set firewall family inet filter mf-classifier term BE-data from port 80 set firewall family inet filter mf-classifier term BE-data then forwarding-class BE-data set firewall family inet filter mf-classifier term Premium-data from protocol tcp set firewall family inet filter mf-classifier term Premium-data from port 12345 set firewall family inet filter mf-classifier term Premium-data then forwarding-class Premium-data set firewall family inet filter mf-classifier term accept-all-else then accept
Dispositivo R2
set interfaces ge-1/0/9 description to-R1 set interfaces ge-1/0/9 unit 0 family inet address 10.30.0.2/30
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 pela CLI, consulte o uso do Editor de CLI no modo de configuração no Guia de usuário do Junos OS CLI.
Para configurar o dispositivo R1:
-
Configure as interfaces do dispositivo.
[edit interfaces] user@R1# set ge-1/0/1 description to-host user@R1# set ge-1/0/1 unit 0 family inet address 172.16.50.2/30 user@R1# set ge-1/0/9 description to-R2 user@R1# set ge-1/0/9 unit 0 family inet address 10.30.0.1/30
-
Configure as aulas de encaminhamento personalizadas e os números de fila associados.
[edit class-of-service forwarding-classes] user@R1# set BE-data queue-num 0 user@R1# set Premium-data queue-num 1 user@R1# set Voice queue-num 2 user@R1# set NC queue-num 3
-
Configure o termo de filtro de firewall que coloca o tráfego TCP com uma porta de origem de 80 (tráfego HTTP) na classe de encaminhamento de dados BE, associado à fila 0.
[edit firewall family inet filter mf-classifier] user@R1# set term BE-data from protocol tcp user@R1# set term BE-data from port 80 user@R1# set term BE-data then forwarding-class BE-data
-
Configure o termo de filtro de firewall que coloca o tráfego TCP com uma porta de origem de 12345 na classe de encaminhamento de dados Premium, associado à fila 1.
[edit firewall family inet filter mf-classifier] user@R1# set term Premium-data from protocol tcp user@R1# set term Premium-data from port 12345 user@R1# set term Premium-data then forwarding-class Premium-data
-
Ao final do seu filtro de firewall, configure um termo padrão que aceita todo o tráfego.
Caso contrário, todo o tráfego que chega na interface e não é explicitamente aceito pelo filtro de firewall é descartado.
[edit firewall family inet filter mf-classifier] user@R1# set term accept-all-else then accept
-
Aplique o filtro de firewall na interface ge-1/0/1 como um filtro de entrada.
[edit interfaces] user@R1# set ge-1/0/1 unit 0 family inet filter input mf-classifier
Resultados
A partir do modo de configuração, confirme sua configuração entrando nos show interfacescomandosshow class-of-serviceshow firewall. Se a saída não exibir a configuração pretendida, repita as instruções neste exemplo para corrigir a configuração.
user@R1# show interfaces
ge-1/0/1 {
description to-host;
unit 0 {
family inet {
filter {
input mf-classifier;
}
address 172.16.50.2/30;
}
}
}
ge-1/0/9 {
description to-R2;
unit 0 {
family inet {
address 10.30.0.1/30;
}
}
}
user@R1# show class-of-service
forwarding-classes {
class BE-data queue-num 0;
class Premium-data queue-num 1;
class Voice queue-num 2;
class NC queue-num 3;
}
user@R1# show firewall
family inet {
filter mf-classifier {
term BE-data {
from {
protocol tcp;
port 80;
}
then forwarding-class BE-data;
}
term Premium-data {
from {
protocol tcp;
port 12345;
}
then forwarding-class Premium-data;
}
term accept-all-else {
then accept;
}
}
}
Se terminar de configurar o dispositivo, entre no commit modo de configuração.
Verificação
Confirme se a configuração está funcionando corretamente.
- Verificando as configurações de CoS
- Enviar tráfego TCP para a rede e monitorar o posicionamento da fila
Verificando as configurações de CoS
Propósito
Confirme se as aulas de encaminhamento estão configuradas corretamente.
Ação
Do dispositivo R1, execute o show class-of-service forwardng-classes comando.
user@R1> show class-of-service forwarding-class Forwarding class ID Queue Restricted queue Fabric priority Policing priority SPU priority BE-data 0 0 0 low normal low Premium-data 1 1 1 low normal low Voice 2 2 2 low normal low NC 3 3 3 low normal low
Significado
A saída mostra as configurações configuradas do classificador personalizado.
Enviar tráfego TCP para a rede e monitorar o posicionamento da fila
Propósito
Certifique-se de que o tráfego de interesse seja enviado para fora da fila esperada.
Ação
Limpar as estatísticas de interface na interface de saída do dispositivo R1.
user@R1> clear interfaces statistics ge-1/0/9
Use um gerador de tráfego para enviar 50 pacotes de porta TCP 80 para o dispositivo R2 ou para algum outro dispositivo downstream.
No dispositivo R1, verifique os contadores de fila.
Observe que você verifica os contadores de fila na interface de saída downstream, não na interface de entrada.
user@R1> show interfaces extensive ge-1/0/9 | find "Queue counters" Queue counters: Queued packets Transmitted packets Dropped packets 0 50 50 0 1 0 57 0 2 0 0 0 3 0 0 0Use um gerador de tráfego para enviar 50 pacotes de porta TCP 12345 para o dispositivo R2 ou para algum outro dispositivo downstream.
[root@host]# hping 172.16.60.1 -c 50 -s 12345 -k
No dispositivo R1, verifique os contadores de fila.
user@R1> show interfaces extensive ge-1/0/9 | find "Queue counters" Queue counters: Queued packets Transmitted packets Dropped packets 0 50 50 0 1 50 57 0 2 0 0 0 3 0 0 0
Significado
A saída mostra que os pacotes são classificados corretamente. Quando a porta 80 é usada nos pacotes TCP, a fila 0 é incrementada. Quando a porta 12345 é usada, a fila 1 é incrementada.