sexta-feira, 19 de abril de 2013

Configuração de Espelhamento de Portas em Switch

Olá Pessoal.

Um recurso muito útil para fins de monitoramento na linha Catalyst de Switches da Cisco® é denominado SPAN, acrônimo de Switched Port Analyzer. Esse recurso também é chamado de port-mirroring (espelhamento de porta) ou port-monitoring (monitoramento de porta).

Logo nas primeiras aulas de redes de computadores os alunos estudam conceitualmente os principais dispositivos de interconexão onde são apresentadas as principais diferenças entre dois dispositivos concentradores: (i) HUB e (ii) Switch.

Nessa ocasião os alunos aprendem que mesmo ambos os dispositivos sendo elementos centrais (concentradores) que criam uma topologia física de estrela, o modo de operação entre eles é distinto implicando em diferentes topologias lógicas, conforme pode ser observado na figura abaixo.


O HUB cria uma topologia lógica de barramento porque eletronicamente todas as suas portas estão ligadas em um mesmo barramento físico, o que implica na existência de um único dominío de colisão compartilhado entre todas as portas. Ele é um simples dispositivo repetidor que (i) recebe sinal em uma porta de entrada, (ii) amplifica esse sinal e (iii) despacha esse sinal para todas as demais portas de saída. Como ele é um dispositivo de camada física, não possui inteligência para analisar os cabeçalhos dos quadros.

Uma vez que a topologia lógica do HUB é de barramento, o sinal recebido em uma porta é retransmitido para TODAS as demais portas, o que é ruim do ponto de vista de desempenho e segurança. Por causa disso é muito simples interceptar o tráfego/conteúdo dessa rede através de algum software sniffer, já que todo sinal entre quaisquer máquinas é propagado para todas as portas. O Wireshark é um exemplo de software gratuito de interceptação de pacotes (analisador de protocolos) e pode ser baixado no link http://www.wireshark.org/.

Por outro lado o Switch cria uma topologia lógica de estrela porque eletronicamente possui uma matriz (denominada matriz crossbar) que permite o chaveamento de circuitos ponto-a-ponto entre duas portas específicas, o que implica em um domínio de colisão para cada porta. Para estabelecer esses circuitos entre duas portas os switches são dispositivos da camada de enlace e possuem inteligência para analisar os cabeçalhos dos quadros, motivo pelo qual eles utilizam o endereço físíco das interfaces (MAC) no processo de encaminhamento.

É comum o uso de softwares de interceptação de quadros/pacotes em redes de computadores para fins de monitoramento e análise da "saúde" da rede. O problema de utilizar esses softwares nas redes que possuem switch (diga-se de passagem quase todas atualmente), é que ao conectar o computador monitorador em uma porta qualquer do switch ele não será capaz de "escutar" nenhum tráfego entre os circuitos fechados nas demais portas. Por exemplo, uma comunicação entre dois computadores ligados nas portas f0/1 e f0/02 de um switch não será transmitida na porta f0/3 (nem em qualquer outra).

É para resolver esse problema que existem as tecnologias de port-mirroring. Essa tecnologia de espelhamento consiste em configurar uma determinada porta do switch para espelhar todo o tráfego entre os circuitos das demais portas, daí no nome espelhamento. Ou seja, essa porta irá se tornar o "dedo-duro" da rede replicando todo o tráfego como se fosse um HUB. Naturalmente essa porta será aquela em que o computador monitorador estará executando o software de interceptação (sniffer).

Vamos considerar o cenário ilustrado na figura abaixo para exemplificar o processo de configuração do SPAN nos seguintes modelos de Switch Catalyst da Cisco: 2940, 2950, 2955, 2960, 2970, 3550, 3560, 3560-E, 3750 e 3750-E. Em outros modelos de switches os comandos para configuração do SPAN podem ser diferentes! 



Reparem que temos uma rede local em que existe um notebook conectado na interface f0/7 do switch e que estará executando um software de interceptação, como por exemplo o Wireshark. Ao fazê-lo a interface de rede do notebook é colocada em modo promíscuo, ou seja, ela passará a capturar todo tráfego escutado por ela, seja ele direcionado a ela ou não. Caberá ao switch a função de replicar (espelhar) todos os quadros das demais portas para a interface f0/7. 

No exemplo seguinte vamos configurar a interface f0/7 como a porta de destino do monitorador e optaremos pelo espelhamento do tráfego apenas das interfaces f0/1 e f0/2 (origem). Para esse cenário a configuração do switch seria a seguinte:

Switch# configure terminal
Switch(config)# monitor session 1 source interface f0/1
Switch(config)# monitor session 1 source interface f0/2
Switch(config)# monitor session 1 destination interface f0/7 
Switch(config)# exit
Switch# show monitor session


Ao invés de informar as interfaces de origem manualmente, também é possível monitorar toda uma VLAN previamente configurada no switch. Nesse caso seria informada apenas a VLAN como origem e todas as interfaces associadas à respectiva VLAN teriam  seu tráfego automaticamente espelhado para a porta de destino SPAN. À medida que portas são removidas ou associadas com a VLAN, então seu tráfego já será espelhado. Não é possível combinar o espelhamento de interfaces e VLANs! Vamos supor que as interfaces f0/1 e f0/2 do exemplo anterior estivessem associadas com a VLAN-13, a configuração seria:

Switch(config)# monitor session 1 source vlan 13
Switch(config)# monitor session 1 destination interface f0/7

Existe ainda a possibilidade de ampliar o monitoramento em redes maiores criando sessões de monitoramento com o destino do tráfego espelhado em algum outro switch remoto através do recurso RSPAN (Remote Switched Port Analyzer). Se vocês tiverem interesse nessa tecnologia, me avisem que escreverei outro artigo para exemplificar sua configuração.

Abraço.

Samuel.

20 comentários:

  1. Samuel, boa tarde.

    Muito bom este artigo, assunto muito interessante, pois, existem muitos momentos em que é preciso de uma solução como essa para ser aplicada no cotidiano, sendo assim, verificando a saúde da network.

    Como você mensionou no final do artigo, falando para solicitar um outro artigo referente ao assunto RSPAN (Remote Switched Port Analyzer), sendo assim, solicito a criação de um artigo referente ao assunto comentado anteriormente.

    Atenciosamente,

    Fagner Vieira.

    ResponderExcluir
    Respostas
    1. Olá Fagner.

      Agradeço pelo feedback positivo. Em breve, assim que eu tiver um tempo, escreverei um novo artigo sobre o RSPAN. Acredito que sua manifestação de interesse no assunto deve ser compartilhada inclusive por outros leitores do blog.

      Abraço.

      Excluir
  2. Muito bom mesmo seu post, Samuel. Agradeço por compartilhar seu conhecimento. Quando tiver tempo faça sim, por favor, o post sobre RSPAN.

    Muito obrigado.

    ResponderExcluir
    Respostas
    1. Olá André.

      Agradeço pelo feedback positivo. Quanto ao artigo sobre o RSPAN, já foi escrito e você pode acompanhá-lo através do link abaixo:

      http://labcisco.blogspot.com.br/2013/04/espelhamento-de-portas-em-switches.html

      Abraço.

      Excluir
  3. Fala Samuel, bom dia!

    Meu caro, se poder escrever sobre o RSPAN (Remote Switched Port Analyzer) seria muito interessante, estou com algumas dúvidas.

    Obrigado e sucesso!

    ResponderExcluir
  4. Ola Samuel..

    Embora seu post ja foi publicado o ano passado, mas eu acabo de me deparar com este post entao gostaria de parabenizalo primeiro, e depois lhe desejar um bom ano de 2014 para si e sua familia.. Saude e Paz

    Caro Samuel, relativamente ao Post, eu tenho algumas duvidas (perguntas)

    1º olhando para a topologia apresentada, que aplicaçao (nome da aplicação) deve estar instaladas no PC Monitorador (Sniffer) ligado na int fa 0/7 da mesma Switch?

    2º Como faço em caso de eu ter que monitorar todas as portas da mesma Switch? com o comanda que atribua a Range?

    3º Como faço para monitorar outras portas das restantes Switches?? Imagine que eu tenha 20 ou 30 Switch?

    Saudaçoes

    Wagner

    Monitorador de Sniffer

    ResponderExcluir
    Respostas
    1. Olá Wagner.

      Então vamos direto às respostas:

      1) Há vários softwares de monitoramento que você pode utilizar para esse fim, mas os mais tradicionais são o Wireshark (multi-plataforma) e o "tcpdump" no Linux;

      2) Você pode informar toda uma VLAN (com suas respectivas interfaces) ou mesmo múltiplas interfaces no comando da origem do monitoramento, por ex.: "monitor session 1 source interface fa1/0/20 - 21";

      3) Para monitorar outros switches você tem que usar uma tecnologia chamada RSPAN. Você encontra um artigo que escrevi sobre esse assunto no link abaixo:

      http://labcisco.blogspot.com.br/2013/04/espelhamento-de-portas-em-switches.html

      Abraço.

      Excluir
  5. OI Samuel!!

    O meu muito e super obrigado pela sua resposta em funçao da minha pergunta.
    Podes ter a noção de que isto me vai de facto ajudar bastante e fico muitissimo gratis com isso.

    Vou dar uma olhada afundo no link que colocou nesta sua resposta para melhor entender a respeito da minha pergunta Nº3


    M Obrigado mesmo.

    Wagner

    ResponderExcluir
  6. Ola Samuel,

    Muito Bom o post. Estou iniciando os estudos em configurações Cisco, estou com um problema.
    no switch 2950 tendo espelha a porta f0/24 para receber o trafego, porem não estou conseguido pois esta dando invalid input detected.

    Quando dou o comando

    Switch(config)# ?

    não tem o comando monitor

    se Poder me ajudar eu agradeço...

    Obs Packet Tracer 6.0.1

    ResponderExcluir
    Respostas
    1. Nenhuma versão do Packet Tracer tem suporte ao recurso de espelhamento...

      Abraço.

      Excluir
  7. Parabéns pelos artigos e pela iniciativa de disseminar conhecimento, Samuel.

    Já estou lendo o do RSPAN também.

    Obrigado,
    Elias

    ResponderExcluir
  8. Muito bom Samuel, gostei muito do seu post. A respeito do RSPAN (Remote Switched Port Analyzer) você chegou a publicar algo?

    ResponderExcluir
  9. Boa noite amigo!!! Sou estudante de Redes e pretendo monitorar uma rede que está tendo perdas de pacotes vc tem um passo a passo como eu posso fazer isso usando o wireshark??? Desde já eu lhe agradeço.

    ResponderExcluir
  10. Prezado Samuel,
    tentei espelhar um PC que esá no mesmo switch que o meu PC.
    O meu Switch é Hp, mas fiz as configurações ( criei um grupo de espelhamento local 1, coloquei a porta que está conectado meu Pc no switch como a porta que iria escutar , coloque i a porta do outro PC como a origem - coloquei esta porta com both) e abri o wireshark, mas não aparecia uma segunda opção de interface para captura. Tentei adicionar uma outra interface e para isso introduzi o ip do PC que eu queria copiar como a nova interface de captura, mas o wireshark informou que o pessoa copiado não autorizava a cópia. Como resolver isto?

    ResponderExcluir
    Respostas
    1. Se a configuração de espelhamento foi feita corretamente, então o tráfego da outra máquina já deveria ser replicado de imediato. Não irá aparecer uma segunda interface no Wireshark... Todo o tráfego da sua porta e das demais portas espelhadas será escutado pelo sniffer.

      Excluir