Solucionar problemas de rede com o VTAP para OCI e Wireshark

O VTAP (Virtual Test Access Point) para o Oracle Cloud Infrastructure (OCI) fornece informações detalhadas sobre o tráfego da rede e captura os dados necessários para uma análise detalhada da rede. O VTAP para OCI permite a captura e inspeção de pacotes da OCI Network fora da banda para facilitar a solução de problemas, a análise de segurança e o monitoramento de dados sem afetar o desempenho.

A funcionalidade VTAP também é conhecida como espelhamento de tráfego. Um VTAP permite que o tráfego de rede seja espelhado de várias origens na rede OCI e entregue a um dispositivo de monitoramento de destino. O VTAP suporta espelhamento de tráfego IPv4 e IPv6. O VTAP pode espelhar o tráfego das seguintes origens:
  • Uma única instância de computação
  • Um LBaaS (Balanceador de Carga de Aplicativos como Serviço) (camada 7, balanceador de carga de proxy)
  • Um Banco de Dados como Serviço (DBaaS)
  • Um Cluster de VMs do Exadata
  • Uma instância do Autonomous Data Warehouse usando um ponto final privado

O destino é o recurso que recebe tráfego espelhado de um VTAP. Os destinos de VTAP podem ser:

  • Um Balanceador de Carga da Rede (camada 4, balanceador de carga não proxy)

Arquitetura

Esta arquitetura de referência mostra como o VTAP para OCI e o Wireshark podem ser usados para monitorar o tráfego de rede em vários pontos da infraestrutura do OCI e implementar uma solução econômica para solucionar problemas relacionados à rede em sua tenancy do OCI.

O diagrama a seguir ilustra essa arquitetura de referência.



oci-vtap-network-wireshark-arch-oracle.zip

Nesta arquitetura de referência, os VTAPs são criados para capturar o tráfego das seguintes origens:
  • LBaaS (camada 7, balanceador de carga de proxy) em uma sub-rede pública
  • VNICs de servidores de aplicativos para os quais o balanceador de carga está direcionando o tráfego
  • Clusters do Exadata em uma sub-rede privada
  • Sistemas DBaaS em uma sub-rede privada
  • Bancos de dados autônomos acessados por meio de ponto final privado (PE)
O tráfego capturado de cada VTAP é direcionado para um Balanceador de Carga de Rede (camada 4, balanceador de carga não proxy) com hosts de backend em uma sub-rede privada separada. Os hosts têm o software Wireshark analisador de pacotes instalado. Um Serviço Bastion permite o acesso aos hosts de backend. Para iniciar uma captura de pacote, você pode acessar o host Wireshark com o Serviço Bastion e criar uma captura usando a linha de comando Wireshark.

Em seguida, navegue da console do OCI para o VTAP com a origem da qual você deseja capturar detalhes de tráfego e aplicar um filtro de captura. O filtro de captura permite capturar somente o tráfego necessário com base nos seguintes fatores:

Incluir/Excluir:
  • Direção do tráfego
    • Entrada
    • Saída
  • Prefixo IPv4 CIDR ou IPv6
    • Origem
    • Destino
  • Protocolo IP
    • Todo o tráfego
    • ICMP: tipo ICMP, código ICMP
    • TCP: Intervalo de portas de origem, Intervalo de portas de destino
  • UDP
    • Intervalo de portas de origem
    • Intervalo de portas de destino
  • ICMPv6
    • Tipo ICMPv6
    • Código ICMPv6
Em seguida, você pode optar por iniciar a captura. As capturas de rede podem ser exibidas diretamente do host Wireshark usando a linha de comando ou gravadas em um arquivo ou baixadas em um sistema com a UI Wireshark para análise posterior.

A arquitetura tem os seguintes componentes:

  • VTAP (Virtual Test Access Point)

    Um VTAP (Virtual Test Access Point) fornece uma maneira de espelhar o tráfego de uma origem designada para um destino selecionado a fim de facilitar a solução de problemas, a análise de segurança e o monitoramento de dados. O VTAP usa um filtro de captura, que contém um conjunto de regras que controlam qual tráfego um VTAP espelha.

  • Host do Wireshark

    Wireshark é um analisador de pacotes de código aberto e gratuito que permite capturar e analisar o tráfego. Nesta arquitetura de referência, o host Wireshark captura o tráfego de rede e pode apresentar os dados do pacote capturados o mais detalhadamente possível. O tráfego pode ser analisado a partir da linha de comando ou baixado para um sistema com a IU de Wireshark para análise gráfica.

  • Balanceador de Carga como Serviço (LBaaS) (camada 7, balanceador de carga de proxy)

    Um serviço Oracle Cloud Infrastructure Load Balancing (camada 7, balanceador de carga de proxy) fornece distribuição automatizada de tráfego de um único ponto de entrada para vários servidores no back-end.

  • Balanceador de Carga da Rede (camada 4, balanceador de carga não proxy)

    Um Balanceador de Carga de Rede (camada 4, balanceador de carga não proxy) fornece distribuição automatizada de tráfego de um ponto de entrada para vários servidores de backend em suas redes virtuais na nuvem. Ele opera no nível da conexão e balanceia a carga das conexões de cliente de entrada para servidores de backend íntegros com base nos dados do Layer3/Layer4 (protocolo IP).

  • Serviço Bastion

    O serviço Bastion do Oracle Cloud Infrastructure fornece acesso seguro restrito e limitado por tempo a recursos que não têm pontos finais públicos e que exigem controles rigorosos de acesso a recursos, como bare metal e máquinas virtuais. Nesta arquitetura de referência, o serviço Bastion permite acesso seguro aos hosts Wireshark de backend mesmo quando os hosts Wireshark não têm pontos finais públicos.

  • Região

    Uma região do Oracle Cloud Infrastructure é uma área geográfica localizada que contém um ou mais data centers, denominados domínios de disponibilidade. As regiões são independentes das outras regiões, e grandes distâncias podem se separar (em países ou até mesmo continentes).

  • Domínios de disponibilidade

    Os domínios de disponibilidade são data centers independentes e independentes dentro de uma região. Os recursos físicos de cada domínio de disponibilidade são isolados dos recursos de outros domínios de disponibilidade, que oferecem tolerância a falhas. Os domínios de disponibilidade não compartilham infraestrutura como energia ou resfriamento ou rede interna. Portanto, é pouco provável que uma falha em um domínio de disponibilidade afete os outros domínios

  • Domínios de falha

    Domínio de falha é um agrupamento de hardware e infraestrutura dentro de um domínio de disponibilidade. Cada domínio de disponibilidade tem três domínios de falha com energia e hardware independentes. Quando você distribui recursos entre diversos domínios de falha, seus aplicativos podem tolerar falha física do servidor, manutenção do sistema e falhas de alimentação dentro de um domínio de falha.

  • Rede virtual na nuvem (VCN) e sub-redes

    Uma VCN é uma rede personalizável definida por software que você configura em uma região do Oracle Cloud Infrastructure. Como as redes de data center tradicionais, as VCNs dão a você total controle sobre seu ambiente de rede. Uma VCN pode ter vários blocos CIDR não sobrepostos que você pode alterar após criar a VCN. Você pode segmentar uma VCN em sub-redes, que podem ter escopo em uma região ou em um domínio de disponibilidade. Cada sub-rede consiste em um intervalo contínuo de endereços que não se sobrepõem com as outras sub-redes da VCN. Você pode alterar o tamanho de uma sub-rede após a criação. Uma sub-rede pode ser pública ou privada.

  • Banco de dados autônomo

    Os bancos de dados autônomos do Oracle Cloud Infrastructure são ambientes de banco de dados totalmente gerenciados e pré-configurados que você pode usar para cargas de trabalho de processamento de transações e data warehousing. Não é necessário configurar ou gerenciar nenhum hardware ou instalar qualquer software. O Oracle Cloud Infrastructure controla a criação do banco de dados, bem como o backup, a aplicação de patches, o upgrade e o ajuste do banco de dados.

  • Sistema de BD Exadata

    O Exadata Cloud Service permite que você aproveite o poder do Exadata na nuvem. Você pode provisionar sistemas X8M flexíveis que permitem adicionar servidores de computação de banco de dados e servidores de armazenamento ao seu sistema à medida que suas necessidades aumentam. Os sistemas X8M oferecem a rede RoCE (RDMA sobre Ethernet Convergida) para módulos de largura de banda alta e baixa latência, memória persistente (PMEM) e software Exadata inteligente. Você pode provisionar sistemas X8M usando uma forma equivalente a um sistema X8 de rastreamento trimestral e, em seguida, adicionar servidores de banco de dados e armazenamento a qualquer momento após o provisionamento.

  • Servidor do Aplicativo

    Os servidores de aplicativos usam um par secundário que, como o banco de dados, assumirá o controle do processamento em caso de desastre. Os servidores de aplicativos usam configuração e metadados que são armazenados no banco de dados e no sistema de arquivos. O clustering de servidor de aplicativos oferece proteção no escopo de uma única região, mas as modificações contínuas e novas implantações precisam ser replicadas no local secundário continuamente para uma recuperação consistente de desastres.

  • Tabela de roteamento

    As tabelas de roteamento virtual contêm regras para rotear o tráfego de sub-redes para destinos fora de uma VCN, geralmente por meio de gateways.

  • Lista de segurança

    Para cada sub-rede, você pode criar regras de segurança que especifiquem a origem, o destino e o tipo de tráfego que deve ser permitido dentro e fora da sub-rede.

Recomendações

Use as recomendações a seguir como ponto de partida. Seus requisitos podem ser diferentes da arquitetura descrita aqui.
  • VCN

    Ao criar uma VCN, determine o número de blocos CIDR necessários e o tamanho de cada bloco com base no número de recursos que você planeja anexar às sub-redes na VCN. Use blocos CIDR que estão dentro do espaço de endereço IP privado padrão.

    Selecione os blocos CIDR que não se sobrepõem a nenhuma outra rede (no Oracle Cloud Infrastructure, em seu data center local ou em outro provedor de nuvem) para a qual você pretende configurar conexões privadas.

    Depois de criar uma VCN, você poderá alterar, adicionar e remover seus blocos CIDR.

    Ao projetar as sub-redes, considere seu fluxo de tráfego e os requisitos de segurança. Anexe todos os recursos dentro de uma camada ou atribuição específica à mesma sub-rede, que pode servir como limite de segurança.

  • Largura de banda de LBaaS (camada 7, balanceador de carga de proxy)

    Ao criar o balanceador de carga, você pode selecionar uma forma predefinida que forneça uma largura de banda fixa ou especificar uma forma personalizada (flexível) na qual você define uma faixa de largura de banda e permite que o serviço dimensione a largura de banda automaticamente com base nos padrões de tráfego. Com qualquer uma das abordagens, você pode alterar a configuração a qualquer momento após criar o balanceador de carga.

  • Balanceador de Carga da Rede (camada 4, balanceador de carga não proxy)

    Especifique se você deseja um Balanceador de Carga de Rede privado ou público e, em seguida, crie o listener e os conjuntos de backend. É recomendável definir o listener da porta UDP 4789, que é a porta para VXLAN (o tráfego espelhado VTAP é encapsulado em VXLAN). Isso garantirá que o Balanceador de Carga de Rede ouça e balanceie a carga de todo o tráfego espelhado.

Considerações

Considere as seguintes opções ao implantar essa arquitetura de referência.

  • Custo

    Não haverá custo para a criação de VTAP se você tiver uma assinatura do OCI. O Balanceador de Carga de Rede usado como destino de VTAP faz parte da camada gratuita. A VM hospedada para Wireshark também pode estar na camada gratuita.

Confirmações

  • Autor: Chiping Hwang
  • Colaborador: Anupama Pundpal