A depuração é uma tarefa comum para os administradores de sistemas trabalhando com redes. Equipamentos de rede profissionais normalmente têm funcionalidades para monitoramento e depuração, como o espelhamento de porta. O espelhamento de porta pode também ser útil para o分析o de tráfego de rede em ambientes virtuais, incluindo redes virtuais em hospedadores Microsoft Hyper-V e comunicações de rede entre VMs. Este post do blog explica como configurar o espelhamento de porta do Microsoft Hyper-V para o分析o de comunicações de rede em um ambiente virtual.
Conceitos Chave de Espelhamento de Porta
Antes de explicar como configurar o espelhamento de porta, vamos explorar os conceitos chave, o princípio de funcionamento e as funcionalidades de configuração existentes no Hyper-V.
O que é espelhamento de porta?
O espelhamento de porta é a funcionalidade que permite duplicar o tráfego de rede de uma porta de rede de origem de um host para uma porta (adaptador) de rede de um host secundário para o分析o deste tráfego. Um host pode ser uma máquina física, virtual, equipamento de rede com um adaptador de rede, etc. Um host de origem é o host cujo tráfego de rede está sendo monitorado neste contexto. A porta de origem também se chama porta espelhada e a porta de destino também se chama porta observada. O espelhamento de porta também se refere como Switched Port Analyzer (SPAN).
Tipos e benefícios
O espelhamento de portas pode ser local e remoto, dependendo do modo de conexão entre as portas. Para o espelhamento de portas local, as portas de rede de origem e destino estão conectadas à mesma switch. O espelhamento de portas remoto é usado quando as portas de origem e destino estão conectadas a diferentes switches. A etiquetagem de VLAN e a encapsulação GRE podem ser usadas para o espelhamento de portas remoto para transferir o tráfego de rede para a porta monitorada e o dispositivo.
O benefício do espelhamento de portas é a capacidade de analisar e depurar comunicações de rede sem afetar o processamento dos dispositivos de rede funcionais. Administradores podem analisar o tráfego para identificar possíveis ataques em rede, detectar a fonte de ataque e melhorar a segurança da rede. Não há necessidade de capturar o tráfego de rede diretamente em um sistema operacional de visitante the working machine (que pode ser um VM de produção, por exemplo) quando usando o espelhamento de portas.
Observe que o espelhamento de portas consome mais banda de rede para transferir o tráfego espelhado e você pode precisar habilitar essa funcionalidade demanda quando precisar realizar análises de rede.
Espelhamento de portas vs. encaminhamento de portas
O espelhamento de portas difere do encaminhamento de portas porque o tráfego de rede, como pacotes TCP ou datagramas UDP, não pode ser redirecionado no espelhamento de portas. O tráfego pode ser espelhado (duplicado), mas a origem e o destino para a direção original do tráfego não são alterados. Uma cópia do tráfego original é enviada para o local de destino para análise.
Em encaminhamento de porta, o destino do tráfego (como pacotes TCP ou datagramas UDP) pode ser alterado, e pacotes específicos (ou outros unidades de dados de protocolo) podem alcançar outra porta de IP e endereço em redes IP. O encaminhamento de porta é usado com a tradução de endereços de rede (NAT) para comunicação entre redes. Não é criada nenhuma cópia do tráfego original.
Port mirroring no Hyper-V
Você pode usar a funcionalidade de port mirroring no Hyper-V para analisar o tráfego nas redes virtuais às quais as VM estão conectadas por meio de interruptores virtuais. Você precisa definir uma VM de destino e instalar software de captura de tráfego, como Wireshark, para análise de tráfego. Você pode usar outros sistemas de detecção de intrusão (IDS) disponíveis para esse propósito.
A funcionalidade de port mirroring do Hyper-V é semelhante ao port mirroring de hardware, mas é implementada no nível do interruptor virtual do Hyper-V. Capacidades de extensão de interruptor e ACLs de porta (listas de acesso) são usadas em um interruptor virtual do Hyper-V para definir regras de encaminhamento e sniffing de tráfego.
O port mirroring funciona apenas dentro dos limites de um único hospedeiro Hyper-V. Se as máquinas virtuais estiverem localizadas em diferentes hospedeiros Hyper-V (por exemplo, em um cluster de failover, depois da migração da VM de um host para outro), então o port mirroring do Hyper-V não pode ser usado. Neste caso, você precisa configurar uma VM de destino adicional para análise de rede no segundo hospedeiro Hyper-V para o qual a VM de origem foi migrada.
Preparando para Configuração de Port Mirroring
Você deve se familiarizar com os requisitos para configurar o port mirroring do Hyper-V.
Pré-requisitos e condições de configuração
Aqui estão os requisitos para configurar o espelhamento de portas em um ambiente Hyper-V:
- Windows Server 2012 R2 (ou mais recente) com Hyper-V e acesso administrativo. O Windows 10 ou superior pode ser usado como SO de cliente.
- Uma virtual switch no host Hyper-V.
- Pelo menos duas máquinas virtuais para espelhar (duplicar) tráfego da VM de origem para a VM de destino.
Lista de hardware e software
É necessário instalar um sniffer de tráfego (analyzador de tráfego) ou um sistema de detecção de intrusão na VM de destino. Exemplos de ferramentas desse tipo são Wireshark, Microsoft Network Monitor, Ettercap e SmartSniff.
Passos de Configuração
Temos duas VM do Windows em um host Hyper-V:
- Wind0ws-VM – a VM de origem (192.168.101.215)
- Win-VM-Dest – a VM de destino (192.168.101.212)
Um host Hyper-V está configurado no Windows Server 2019. A configuração para outras versões do Windows suportadas é idêntica.
Configurando uma virtual switch
Pode usar uma virtual switch existente ou criar uma nova. Se não houver virtual switch no host Hyper-V, crie uma nova virtual switch. Para criar uma virtual switch, faça o seguinte:
- Abrir Gerenciador Hyper-V, clicar com o botão direito no host Hyper-V e selecionar Gerenciador de Trem Virtual no menu de contexto.
- Selecionar um tipo de trem virtual e clicar em Criar Trem Virtual. Para este fim, usaremos vSwitch0, um trem externo (rede acoplada). Clicar em OK para salvar as configurações e fechar a janela.
Configurando a máquina virtual de origem
Uma vez que o trem virtual estiver pronto, você pode configurar a máquina virtual de origem cujo tráfego você deseja monitorar.
- Para abrir as configurações da máquina virtual de origem no Gerenciador Hyper-V, clicar com o botão direito no nome da máquina virtual e selecionar Configurações no menu de contexto.
- Na janela de configurações da máquina virtual, navegar até Adaptador de Rede > Funções Avançadas.
- Na seção de Mirror de Porta, selecione Origem como o modo de espelhamento no menu suspenso. Esta ação habilita o espelhamento de porta do Hyper-V para a porta do switch virtual à qual a porta atual do VM está conectada. Aperte OK para salvar as configurações.
- Lembre-se do nome do switch virtual à qual está conectada a adaptação de rede virtual da máquina virtual de origem. A vantagem é que você pode configurar mais de uma máquina virtual de origem para analisar o tráfego de todas as VM no VM de destino.
A próxima etapa é configurar a máquina virtual de destino à qual o tráfego de rede será espelhado (duplicado).
Configurando a VM de destino
A prática recomendada é criar uma adaptação de rede adicional na VM de destino e desabilitar todos os serviços de rede para esta adaptação de rede para uma análise mais precisa. Essa abordagem permite obter o pacote completo do tráfego de rede após desabilitar serviços e protocolos desnecessários.
- Desligue a VM de destino se a VM estiver em execução.
- Para abrir as configurações da VM de destino, clique com o botão direito do mouse no nome da VM no Gerenciador Hyper-V e selecione Configurações.
- Clique em Adicionar hardware no painel esquerdo da janela de configurações da VM, selecione Adaptador de rede, e clique em Adicionar.
- Selecione o virtual switch ao qual o segundo adaptador de rede virtual será conectado. Este deve ser o mesmo virtual switch ao qual a primeira VM (fonte) está conectada. No nosso caso, é o vSwitch0. Clique em OK para salvar as configurações e fechar a janela.
- Abra as configurações da VM da VM de destino novamente.
- Selecione o segundo adaptador de rede virtual criado para o monitoramento de porta e diagnóstico de tráfego (na lista de hardware de VM no painel esquerdo) e vá para Adaptador de rede > Funcionalidades avançadas.
- Na seção Monitoramento de porta, selecione Destino como o modo de monitoramento para receber o tráfego de rede duplicado. Clique em OK.
- Ligue as VMs.
- Conectar-se à VM de destino criada para receber e analisar tráfego (com Hyper-V VMConnect ou RDP).
- Abrir Centro de rede e partilha na VM de destino Windows. Clique em Alterar configurações de adaptador.
- Selecionar o segundo adaptador de rede criado para análise de tráfego (pode renomear este adaptador para LAN2-SPAN para maior conveniência).
- Clique com o botão direito no adaptador de rede e escolha Propriedades.
Agora, você pode instalar e configurar software de análise de tráfego de rede, como WireShark, na VM de destino.
Instalar um analizador de tráfego
- Baixe e instale Wireshark na VM de destino. O processo de instalação é fácil no assistente GUI – você pode usar as configurações padrão.
- Executar Wireshark na VM de destino.
- Clique duplo no adaptador de rede criado especialmente para monitoramento de porta e análise de tráfego de rede (LAN2-SPAN) na janela do Wireshark.
- Agora, você pode ver a atividade de rede da VM de origem (o endereço IP da VM de origem é 192.168.101.215). Vamos fazer um ping em google.com na VM de origem.
- Nós podemos ver as solicitações ICMP e as respostas de/para 142.251.208.110, que é o endereço IP do hospedeiro google.com neste momento.
- Para maior facilidade, você pode habilitar um filtro, por exemplo, selecione ICMP.
Este é um exemplo básico. Você pode monitorar e analisar outras atividades de rede usando outros protocolos.
PowerShell
O sistema operacional Windows Server também permite que você configure e gerencie o monitoramento de porta do Hyper-V por meio do PowerShell.
Para habilitar o monitoramento de porta na VM de origem e no destino, execute os comandos correspondentes:
Set-VMNetworkAdapter -VMName Wind0ws-VM -PortMirroring Source
Defina-VMNetworkAdapter -VMName Win-VM-Dest -PortMirroring Destination
Para desabilitar o port mirroring para uma VM:
Defina-VMNetworkAdapter -VMName Wind0ws-VM -PortMirroring None
Para ver as configurações de port mirroring para VMs:
(Get-VMNetworkAdapter -VMName Wind0ws-VM).PortMirroringMode
(Get-VMNetworkAdapter -VMName Win-VM-Dest).PortMirroringMode
Você pode usar os seguintes comandos para exibir informações de ajuda:
Get-Help Defina-VMNetworkAdapter
Get-Help Defina-VMNetworkAdapter -full
Get-Help Defina-VMNetworkAdapter -detailed
Get-Help Defina-VMNetworkAdapter -examples
Os seguintes comandos podem ser úteis para configurar o port mirroring:
Add-VMNetworkAdapter
– adicionar um novo adaptador de rede virtual para uma VM
Get-NetAdapter
– exibir uma lista de adaptadores de rede para uma VM
Rename-Netadapter
– alterar o nome de um adaptador de rede virtual de uma VM
Conclusão
A configuração de mirroring de porta no Hyper-V pode ser feita convenientemente na interface gráfica do Hyper-V Manager ou no PowerShell. Siga com os requisitos e lembre-se das limitações, como a localização das fontes das VMs de destino no mesmo host Hyper-V. Pode ser necessário configurar VMs de destino adicionais com um工具 de análise de tráfego em hosts Hyper-V em um cluster de failover. Wireshark é uma ferramenta conveniente e popular para análise de tráfego, mas você pode usar outras ferramentas se necessário.