Configuração de amostragem de tráfego em roteadores MX, M e Série T
A amostragem de tráfego permite que você copie o tráfego para uma placa de interface física (PIC) que executa a contabilidade de fluxo enquanto o roteador encaminha o pacote para o destino original. Você pode configurar o roteador para realizar amostragem em um dos três locais a seguir:
No mecanismo de roteamento, usando o processo amostrado. Para selecionar este método, use um filtro (entrada ou saída) com um termo de correspondência que contenha a
then sample
declaração.Nos serviços de monitoramento, serviços adaptativos ou PIC multisserviços.
Em um caminho de dados em linha sem a necessidade de um concentrador de portas densa (DPC). Para fazer essa amostragem ativa em linha, você define uma instância de amostragem com propriedades específicas. Um concentrador PIC flexível (FPC) pode suportar apenas uma instância; para cada instância, tanto a amostragem baseada em PIC quanto a amostragem em linha são suportadas por família. A amostragem em linha oferece suporte aos modelos de coleta de fluxos versão 9 e IPFIX.
A amostragem baseada em mecanismos de roteamento não é suportada em instâncias de roteamento e encaminhamento de VPN (VRF).
Configuração de filtro de firewall para amostragem de tráfego
Para configurar o filtro de firewall para amostragem de tráfego, você deve realizar as seguintes tarefas:
Crie um filtro de firewall para aplicar às interfaces lógicas que estão sendo amostradas, incluindo a
filter
declaração no nível da[edit firewall family family-name]
hierarquia. Na declaração do filtrothen
, você deve especificar o modificadorsample
de ação e a açãoaccept
.filter filter-name { term term-name { then { sample; accept; } } }
Para obter mais informações sobre ações de filtro de firewall e modificadores de ação, consulte as políticas de roteamento, filtros de firewall e guia de usuário dos policiais de tráfego.
Aplique o filtro nas interfaces nas quais você deseja amostrar o tráfego, incluindo as declarações e
filter
declaraçõesaddress
no nível de[edit interfaces interface-name unit logical-unit-number family family-name]
hierarquia:address address { } filter { input filter-name; }
Os seguintes pré-requisitos se aplicam aos roteadores M, MX e T Series quando você configura amostragem de tráfego em interfaces e em filtros de firewall:
Se você configurar uma ação amostral em um filtro de firewall para uma família inet ou inet6 em uma interface sem configurar as configurações de opções de encaminhamento, problemas operacionais podem ocorrer se você também configurar o espelhamento de portas ou as funcionalidades de flow-tap. Nesse cenário, todos os pacotes compatíveis com o filtro de firewall são enviados incorretamente para o pic de serviço.
Se você incluir a
then sample
declaração no nível da[edit firewall family inet filter filter-name term term-name]
hierarquia para especificar uma ação amostra em um filtro de firewall para pacotes IPv4, você também deve incluir afamily inet
declaração no nível de[edit forwarding-options sampling]
hierarquia ou ainstance instance-name family inet
declaração no nível de[edit forwarding-options sampling]
hierarquia. Da mesma forma, se você incluir a declaraçãosample
em[edit firewall family inet6 filter filter-name term term-name]
nível de hierarquia para especificar uma ação amostra em um filtro de firewall para pacotes IPv6, você também deve incluirfamily inet6
a declaração no nível de[edit forwarding-options sampling]
hierarquia ou ainstance instance-name family inet6
declaração no nível de[edit forwarding-options sampling]
hierarquia. Caso contrário, ocorre um erro de comprometimento quando você tenta comprometer a configuração.Além disso, se você configurar a amostragem de tráfego em uma interface lógica, incluindo as declarações de entrada de amostragem ou saída de amostragem no nível de
[edit interface interface-name unit logical-unit-number]
hierarquia, você também deve incluir afamily inet | inet6
declaração no nível de[edit forwarding-options sampling]
hierarquia ou ainstance instance-name family inet | inet6
declaração no nível de[edit forwarding-options sampling]
hierarquia.
Configuração de amostragem de tráfego em uma interface lógica
Para configurar a amostragem de tráfego em qualquer interface lógica, habilite a amostragem e especifique uma taxa de amostragem não zero, incluindo a declaração de amostra no nível de [edit forwarding-options]
hierarquia:
sampling { input { rate number; run-length number; max-packets-per-second number; maximum-packet-length bytes; }
Quando você usa amostragem baseada em mecanismo de roteamento, especifique o valor de tráfego limiar, incluindo a max-packets-per-second
declaração. O valor é o número máximo de pacotes a serem amostrados, além dos quais o mecanismo de amostragem começa a derrubar pacotes. A faixa é de 0 a 65.535. Um valor de 0 instrui o Mecanismo de Encaminhamento de Pacotes a não amostrar nenhum pacote. O valor padrão é de 1000.
Quando você configura o output
monitoramento ativo e especifica um PIC de serviços de monitoramento, serviços adaptativos ou multisserviços na declaração, ou quando você configura a amostragem em linha, o max-packets-per-second
valor é ignorado.
Especifique a taxa de amostragem definindo os valores para rate
e run-length
(consulte a Figura 1).
Não configure a amostragem de ingresso em ms-
interfaces lógicas nas quais o monitoramento de fluxo baseado em PIC é habilitado, o que causa comportamento de monitoramento de fluxo indesejado e pode resultar em amostragem repetida de um único pacote. A partir do Junos OS Release 15.1, ocorre um erro de confirmação quando você tenta configurar uma amostra de tráfego de entrada nessa interface. No Junos OS Release 14.2 e anterior, o erro de confirmação não ocorre, mas você não deve configurar uma amostra de tráfego de entrada nessa interface.
Se o monitoramento de fluxo baseado em PIC for habilitado em uma interface msfpc/pic/port.logical-unit , um erro de verificação de confirmação ocorre quando você tenta configurar uma amostra de tráfego de entrada nessa interface. Esse erro ocorre porque uma combinação de amostras de ingresso e operações de monitoramento de fluxo baseadas em PIC em uma ms-
interface lógica causa comportamento de monitoramento de fluxo indesejado e pode resultar em amostragem repetida de um único pacote. Você não deve configurar uma amostra de ingresso em ms-
interfaces lógicas nas quais o monitoramento de fluxo baseado em PIC é habilitado.
A rate
declaração especifica a proporção de pacotes a serem amostrados. Por exemplo, se você configurar uma taxa de 10, x o número de pacotes de cada 10 é amostrado, onde x=executar comprimento + 1. Por padrão, a taxa é 0, o que significa que nenhum tráfego é amostrado.
A run-length
declaração especifica o número de pacotes correspondentes para amostrar após o evento inicial do gatilho de um pacote. Por padrão, o comprimento de execução é 0, o que significa que não há mais tráfego amostrado após o evento do gatilho. A faixa é de 0 a 20. Configurar um comprimento de execução superior a 0 permite que você experimente pacotes após aqueles que já estão sendo amostrados.
As run-length
declarações e maximum-packet-length
configuração não são suportadas em roteadores MX80.
Se você não incluir a declaração, a input
amostra é desabilitada.
Para coletar os pacotes amostrados em um arquivo, inclua a file
declaração no nível de [edit forwarding-options sampling output]
hierarquia. Os formatos de arquivo de saída são discutidos mais tarde no capítulo.
Desativação da amostra de tráfego
Para desabilitar explicitamente a amostra de tráfego no roteador, inclua a disable
declaração no nível de [edit forwarding-options sampling]
hierarquia:
disable;
Amostragem uma vez
Para amostrar explicitamente um pacote para monitoramento ativo apenas uma vez, inclua a sample-once
declaração no nível de [edit forwarding-options sampling]
hierarquia:
sample-once;
Definir essa opção evita a duplicação de pacotes nos casos em que a amostragem é habilitada nas interfaces de entrada e saída e simplifica a análise do tráfego amostrado.
Preservando o valor do toS pré-subscrito para pacotes de saída amostrados ou espelhados
A partir do Junos OS Release 14.1, você pode preservar o valor do tipo de serviço (ToS) prenormalizado em pacotes de saída amostrados ou espelhados. Inclua a pre-rewrite-tos
declaração no nível da [edit forwarding-options sampling]
hierarquia.
Em interfaces baseadas em MPC, você pode configurar a reescrita do ToS usando a configuração de classe de serviço (CoS), incluindo a rewrite-rules dscp rule_name
declaração no nível da hierarquia ou usando a [edit class-of-service interfaces interface-name unit logical-unit-number]
configuração do filtro de firewall, incluindo a dscp
declaração no nível de [edit firewall family family-name filter filter-name term term-name then]
hierarquia. Se o ToS reescrever for configurado, as cópias espelhadas ou amostradas da saída contêm os valores do ToS pós-reescrito por padrão. Com a pre-rewrite-tos
configuração, você pode reter o valor de ToS pré-subscrito nos pacotes amostrados ou espelhados.
Se o ToS reescrever for configurado na interface de saída usando a configuração de filtro de CoS e firewall, e se a
pre-rewrite-tos
declaração também estiver configurada, os pacotes amostrados de saída contêm o conjunto de valor DSCP usando a configuração do filtro de firewall. No entanto, se apre-rewrite-tos
declaração não estiver configurada, os pacotes amostrados de saída contêm o valor DSCP definido pela configuração de CoS.Com a
pre-rewrite-tos
declaração, você pode configurar a retenção de valores tos de pré-normalização apenas para amostragem feita em baixofamily inet
efamily inet6
.Esse recurso não pode ser configurado no nível de
[edit logical-systems]
hierarquia. Ele só pode ser configurado em nível global sob aforwarding-option
configuração.Quando a reescrita do ToS é configurada usando um filtro de firewall em interfaces de entrada e saída, os pacotes amostrados de saída contêm o valor de DSCP definido pela configuração de reescrita de entrada ToS se a
pre-rewrite-tos
declaração for configurada. No entanto, se apre-rewrite-tos
declaração não estiver configurada, os pacotes amostrados de saída contêm o valor DSCP definido pela configuração de reescrita do ToS para o filtro de firewall de saída.Se a
pre-rewrite-tos
declaração estiver configurada e uma operação de desativação ou exclusão for executada no nível de hierarquia,pre-rewrite-tos
a[edit forwarding-options]
configuração ainda permanecerá ativa. Para desativar apre-rewrite-tos
configuração para esse caso, você deve desativar ou excluir explicitamente apre-rewrite-tos
declaração no nível da[edit forwarding-options sampling]
hierarquia antes de realizar uma operação desativada ou deletar no nível de[edit forwarding-options]
hierarquia.
Configuração da saída de amostragem de tráfego
Para configurar a saída de amostragem de tráfego, inclua as seguintes declarações no nível de [edit forwarding-options sampling family (inet | inet6 | mpls) output]
hierarquia:
aggregate-export-interval seconds; flow-active-timeout seconds; flow-inactive-timeout seconds; extension-service service-name; flow-server hostname { aggregation { autonomous-system; destination-prefix; protocol-port; source-destination-prefix { caida-compliant; } source-prefix; } autonomous-system-type (origin | peer); (local-dump | no-local-dump); port port-number; source-address address; version format; version9 { template template-name; } } interface interface-name { engine-id number; engine-type number; source-address address; } file { disable; filename filename; files number; size bytes; (stamp | no-stamp); (world-readable | no-world-readable); }
Para configurar o monitoramento de fluxo em linha nos roteadores da Série MX, inclua a inline-jflow
declaração no nível de [edit forwarding-options sampling instance instance-name family (inet | inet6 | mpls) output]
hierarquia. A amostragem em linha oferece suporte exclusivo a um novo formato chamado IP_FIX que usa o UDP como protocolo de transporte. Quando você configura a amostragem em linha, você deve incluir a version-ipfix
declaração no nível de [edit forwarding-options sampling instance instance-name family (inet | inet6 | mpls) output flow-server address]
hierarquia e também no nível de [edit services flow-monitoring]
hierarquia. Para obter mais informações sobre a configuração do monitoramento de fluxo em linha, consulte Configuração do monitoramento de fluxo ativo em linha usando roteadores, switches ou NFX250.
Para direcionar o tráfego amostrado para uma interface de monitoramento de fluxo, inclua a interface
declaração. Os engine-id
e engine-type
as declarações especificam os números de identidade e tipo da interface; eles são gerados dinamicamente com base no Concentrador PIC Flexível (FPC), PIC, números de slot e do tipo chassi. A source-address
declaração especifica a fonte de tráfego.
A partir do Junos OS Release 19.3R1, para configurar o monitoramento de fluxo em linha no Juniper Sky Advanced Threat Prevention (ATP), inclua a flow-server
declaração em [edit forwarding-options sampling instance instance-name family (inet | inet6 | mpls) output]
nível hierárquico. A amostragem em linha oferece suporte exclusivo a um novo formato chamado IP_FIX que usa o UDP como protocolo de transporte. Quando você configura a amostragem em linha, você deve incluir a version-ipfix
declaração no nível de [edit forwarding-options sampling instance instance-name family (inet | inet6 | mpls) output flow-server address]
hierarquia e também no nível de [edit services flow-monitoring]
hierarquia.
Para configurar a saída de amostragem de fluxo versão 9, você precisa incluir a template
declaração no nível de [edit forwarding-options sampling output version9]
hierarquia. Para obter informações sobre o cflowd, consulte Habilitar a agregação de fluxo.
A aggregate-export-interval
declaração é descrita na configuração da contabilidade de descarte, e o flow-active-timeout
e flow-inactive-timeout
as declarações são descritos na configuração do monitoramento de fluxo.
Os resultados de amostragem de tráfego são salvos automaticamente em um arquivo no diretório var/tmp . Para coletar os pacotes amostrados em um arquivo, inclua a file
declaração no nível de [edit forwarding-options sampling family inet output]
hierarquia:
file { disable; filename filename; files number; size bytes; (stamp | no-stamp); (world-readable | no-world-readable); }
Formato de saída de amostragem de tráfego
A saída de amostragem de tráfego é salva em um arquivo de texto ASCII. A seguir, um exemplo da saída de amostragem de tráfego que é salva em um arquivo no diretório var/tmp . Cada linha do arquivo de saída contém informações para um pacote amostrado. Você pode exibir opcionalmente um tempotamp para cada linha.
Os cabeçalhos da coluna são repetidos após cada grupo de 1000 pacotes.
# Apr 7 15:48:50 Time Dest Src Dest Src Proto TOS Pkt Intf IP TCP addr addr port port len num frag flags Apr 7 15:48:54 192.168.9.194 192.168.9.195 0 0 1 0x0 84 8 0x0 0x0 Apr 7 15:48:55 192.168.9.194 192.168.9.195 0 0 1 0x0 84 8 0x0 0x0 Apr 7 15:48:56 192.168.9.194 192.168.9.195 0 0 1 0x0 84 8 0x0 0x0 Apr 7 15:48:57 192.168.9.194 192.168.9.195 0 0 1 0x0 84 8 0x0 0x0 Apr 7 15:48:58 192.168.9.194 192.168.9.195 0 0 1 0x0 84 8 0x0 0x0
Para definir a opção de tempotamp para o arquivo my-sample
, digite o seguinte:
[edit forwarding-options sampling output file] user@host# set filename my-sample files 5 size 2m world-readable stamp;
Sempre que você alterna a opção de tempotamp, um novo cabeçalho é incluído no arquivo. Se você definir a opção stamp
, o Time
campo será exibido.
# Apr 7 15:48:50 # Time Dest Src Dest Src Proto TOS Pkt Intf IP TCP # addr addr port port len num frag flags # Feb 1 20:31:21 # Dest Src Dest Src Proto TOS Pkt Intf IP TCP # addr addr port port len num frag flags
Operações de amostragem de tráfego de rastreamento
As operações de rastreamento acompanham todas as operações de amostragem de tráfego e as registram em um arquivo de log no diretório do var/log . Por padrão, este arquivo é nomeado /var/log/sampled. O tamanho padrão do arquivo é de 128K, e 10 arquivos são criados antes que o primeiro seja sobreescrito.
Para rastrear as operações de amostragem de tráfego, inclua a traceoptions
declaração no nível de [edit forwarding-options sampling]
hierarquia:
traceoptions { no-remote-trace; file filename <files number> <size bytes> <match expression> <world-readable | no-world-readable>; }
Exemplos de amostragem de tráfego
- Exemplo: amostrando uma única interface SONET/SDH
- Exemplo: amostrando todo o tráfego de um único endereço IP
- Exemplo: amostragem de todo o tráfego FTP
Exemplo: amostrando uma única interface SONET/SDH
A configuração a seguir coleta informações estatísticas de amostragem de uma pequena porcentagem de todo o tráfego em uma única interface SONET/SDH e a coleta em um arquivo chamado sonet-samples.txt
.
Crie o filtro:
[edit firewall family inet] filter { input sample-sonet { then { sample; accept; } } }
Aplique o filtro na interface SONET/SDH:
[edit interfaces] so-0/0/1 { unit 0 { family inet { filter { input sample-sonet; } address 10.127.68.254/32 { destination 172.16.74.7; } } } }
Por fim, configure a amostra de tráfego:
[edit forwarding-options] sampling { input { family inet { rate 100; run-length 2; } } family inet { output { file { filename sonet-samples.txt; files 40; size 5m; } } } }
Exemplo: amostrando todo o tráfego de um único endereço IP
A configuração a seguir coleta informações estatísticas sobre cada pacote que entra no roteador em uma porta Ethernet Gigabit específica originária de um único endereço IP de 172.16.92.31
origem e a coleta em um arquivo chamado samples-172-16-92-31.txt
.
Crie o filtro:
[edit firewall family inet] filter one-ip { term get-ip { from { source-address 172.16.92.31; } then { sample; accept; } } }
Aplique o filtro na interface Ethernet Gigabit:
[edit interfaces] ge-4/1/1 { unit 0 { family inet { filter { input one-ip; } address 10.45.92.254; } } }
Por fim, reúna estatísticas sobre todas as amostras de candidatos; neste caso, reúna todas as estatísticas:
[edit forwarding-options] sampling { input { family inet { rate 1; } } family inet { output { file { filename samples-172-16-92-31.txt; files 100; size 100k; } } } }
Exemplo: amostragem de todo o tráfego FTP
A configuração a seguir coleta informações estatísticas sobre uma porcentagem moderada de pacotes usando o protocolo de transferência de dados FTP no caminho de saída de uma interface T3 específica, e coleta as informações em um arquivo chamado t3-ftp-traffic.txt
.
Crie um filtro:
[edit firewall family inet] filter ftp-stats { term ftp-usage { from { destination-port [ftp ftp-data]; } then { sample; accept; } } }
Aplique o filtro na interface T3:
[edit interfaces] t3-7/0/2 { unit 0 { family inet { filter { input ftp-stats; } address 10.35.78.254/32 { destination 10.35.78.4; } } } }
Por fim, reúna estatísticas sobre 10% das amostras dos candidatos:
[edit forwarding-options] sampling { input { family inet { rate 10; } } family inet { output { file { filename t3-ftp-traffic.txt; files 50; size 1m; } } } }
pre-rewrite-tos
declaração no nível da
[edit forwarding-options sampling]
hierarquia.