Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Tradução de endereços de rede de origem (SNAT)

Visão geral

A tradução de endereços de rede de origem (source-nat ou SNAT) permite que o tráfego de uma rede privada vá para a internet. As máquinas virtuais lançadas em uma rede privada podem chegar à internet através de um gateway capaz de realizar o SNAT. O gateway tem um braço na rede pública e, como parte do SNAT, substitui o IP de origem do pacote de origem por seu próprio IP de lado público. Como parte do SNAT, a porta de origem também é atualizada para que vários VMs possam chegar à rede pública por meio de um único IP público de gateway.

O diagrama a seguir mostra uma rede virtual com a sub-rede privada de 10.1.1.0/24. A rota padrão para a rede virtual aponta para o gateway SNAT. O gateway substitui o ip de origem a partir de 10.1.1.0/24 e usa seu endereço público 172.21.1.1 para pacotes de saída. Para manter sessões de NAT exclusivas, a porta de origem do tráfego também precisa ser substituída.

Figura 1: Rede virtual com uma sub-rede Virtual Network With a Private Subnet privada

SNAT em roteadores da Série MX atuando como gateways de data center

Começando pelo Contrail Networking Release 2011.L1, você pode habilitar o SNAT em roteadores da Série MX usando placas de linha MS-MPC quando o roteador da Série MX estiver funcionando na função de DC-Gateway malha. Veja as plataformas de hardware suportadas pelo Contrail Networking e perfis associados de funções e nós para uma lista de roteadores da Série MX que oferecem suporte a qualquer outra função de DC-Gateway malha.

Quando o SNAT é habilitado no roteador da Série MX, ele pode ser usado para traduzir endereços IP de origem a partir de interfaces físicas em servidores bare metal e de interfaces virtuais em máquinas virtuais. O SNAT só pode traduzir os endereços IP do tráfego de origem deixando a malha; não pode ser usado para traduzir endereços IP para o tráfego que entra na malha.

Para obter mais informações sobre o SNAT nos roteadores da Série MX, veja a visão geral da tradução de endereços de rede.

Como habilitar o SNAT em um roteador da Série MX usando o Contrail Command

Para habilitar o SNAT em um roteador da Série MX do Contrail Command:

  1. Certifique-se de que uma malha usando um roteador da Série MX com uma ou mais placas de linha MS-MPC esteja configurada na função da DC-Gateway malha em sua malha.

    Veja em foco: como integrar uma malha e criar uma sobreposição para configurar uma malha.

    Veja atribuir uma função a um dispositivo para alterar a função de roteamento de um dispositivo em uma malha.

  2. Clique Infrastructure em > Fabrics > fabric-name para navegar até os dispositivos em sua malha. Mouse sobre o mx-router-name roteador configurado como um gateway DC em sua malha que executará o SNAT. Clique no botão de elipse (...) — localizado como a última opção na extrema direita para o roteador — e selecione Edit.

    A Fabric Device página é aberta.

  3. A partir da Fabric Device página, aberto Netconf Settings.

    Junos Service Interface Em campo, adicione o nome da interface de serviços, por exemplo, ms-1/0/0do roteador da Série MX.

  4. (Interfaces BMS que exigem apenas SNAT) Crie um Virtual Port Group (VPG) que mapeia VLANs para interfaces físicas em servidores bare metal (BMSs). Veja configuração de grupos de portas virtuais.

    O VPG será usado mais tarde no processo para identificar o tráfego que requer tradução de endereço IP usando SNAT.

    Essa etapa é necessária para identificar endereços IP de origem apenas em hosts BMS. Você pode pular essa etapa quando estiver usando o SNAT para traduzir endereços IP de origem a partir de interfaces de máquina virtuais.

  5. Crie um roteador lógico público para o SNAT. Veja criar roteadores lógicos.

    O roteador lógico está configurado no Overlay menu > > Logical Routers Edit Logical Router . Neste menu, inclua os seguintes parâmetros de configuração:

    • connected networks campo: adicione as redes virtuais que foram criadas para transportar tráfego.

      O tráfego nessas redes virtuais será traduzido usando SNAT.

    • Public Logical Router caixa de seleção: Selecione a caixa de verificação.

      O SNAT POOL menu suspenso aparece. Selecione snat_pool.

    • Extend to Physical Router campo: adicione o roteador da Série MX na malha onde a tradução de endereço IP baseada na origem é realizada.

  6. Para monitorar o SNAT após a conclusão da configuração, entre no roteador da Série MX e insira os seguintes comandos JUNOS:
    • show configuration para verificar a configuração de NAT no JUNOS.

    • show services nat pool para verificar a tradução.

    • Monitore as mensagens do sistema.

    Para obter mais informações sobre o uso e monitoramento do NAT no Junos, consulte o Guia de usuário de tradução de endereços de rede.

APIs de nêutrons para roteadores

O OpenStack oferece suporte à implementação de gateway SNAT por meio de suas APIs Neutron para roteadores. A bandeira SNAT pode ser habilitada ou desativada no gateway externo do roteador. O padrão é verdadeiro (habilitado).

O plug-in de malha de tungstênio oferece suporte às APIs Neutron para roteadores e cria o modelo de serviço relevante e objetos de instância de serviço no servidor de API. O agendador de serviços da Tungsten Fabric instancia o gateway em um roteador virtual selecionado aleatoriamente. A Tungsten Fabric usa o namespace da rede para dar suporte a esse recurso.

Configuração de exemplo: SNAT para Contrail

O recurso SNAT é habilitado na malha de Tungstênio por meio de chamadas de API neutron.

O exemplo de configuração a seguir mostra como criar uma rede de teste e uma rede pública, permitindo que a rede de teste chegue ao domínio público por meio do gateway SNAT.

  1. Crie a rede pública e defina a bandeira externa do roteador.

    neutron net-create public

    neutron subnet-create public 172.21.1.0/24

    neutron net-update public -- --router:external=True

  2. Crie a rede de teste.

    neutron net-create test

    neutron subnet-create --name test-subnet test 10.1.1.0/24

  3. Crie o roteador com uma interface em teste.

    neutron router-create r1

    neutron router-interface-add r1 test-subnet

  4. Defina o gateway externo para o roteador.

    neutron router-gateway-set r1 public

Namespace de rede

Definir o gateway externo é o gatilho para a Malha de Tungstênio configurar o namespace de rede Linux para SNAT.

O namespace da rede pode ser liberado emitindo o seguinte comando Neutron:

neutron router-gateway-clear r1

Grupos de segurança e SNAT

Quando um roteador lógico é habilitado para oferecer suporte ao SNAT, o grupo de segurança padrão é aplicado automaticamente à interface SNAT esquerda. Essa aplicação automática do grupo de segurança padrão permite que a máquina virtual envie e receba tráfego sem configuração adicional do usuário quando o grupo de segurança padrão é usado por máquinas virtuais interconectadas. No entanto, é necessária uma configuração adicional para enviar e receber tráfego quando sua máquina virtual estiver conectada a máquinas virtuais que não estejam usando o grupo de segurança padrão.

Se você estiver conectando sua máquina virtual a uma máquina virtual que não está usando o grupo de segurança padrão, você deve fazer uma das seguintes atualizações de configuração para permitir que sua máquina virtual passe tráfego:

  • atualizar o grupo de segurança padrão para adicionar regras que permitem o tráfego VM.

  • atualize as regras para o grupo de segurança VM para permitir o tráfego do grupo de segurança padrão.

  • aplicar o mesmo grupo de segurança à interface esquerda VM e SNAT.

Para obter informações sobre a configuração de grupos de segurança em ambientes que usam o Contrail Networking, veja Usando grupos de segurança com instâncias de máquinas virtuais.

Usando a UI da Web para configurar roteadores com SNAT

Você pode usar a interface de usuário do Contrail para configurar roteadores para SNAT e verificar o status do SNAT dos roteadores.

Para habilitar o SNAT para um roteador, vá configurar > roteadores > de rede. Na lista de roteadores, selecione o roteador para o qual o SNAT deve ser habilitado. Clique na engrenagem de edição para revelar a janela Editar roteadores . Clique na caixa de verificação do SNAT para habilitar o SNAT no roteador.

O seguinte mostra um roteador para o qual o SNAT foi habilitado.

Figura 2: Edite a janela do roteador para habilitar o SNAT Edit Router Window to Enable SNAT

Quando um roteador foi habilitado para o SNAT, a configuração pode ser vista selecionando configurações > redes > roteadores. Na lista de roteadores, clique em abrir o roteador de interesse. Na lista de recursos para esse roteador, o status do SNAT está listado. O seguinte mostra um roteador que foi aberto na lista. O status do roteador mostra que o SNAT está habilitado.

Figura 3: Status do roteador para SNAT Router Status for SNAT

Você pode visualizar o status em tempo real de um roteador com SNAT visualizando o console de instância, como no seguinte.

Figura 4: Janela de detalhes da instância Instance Details Window

Usando a UI da Web para configurar o SNAT distribuído

O recurso SNAT distribuído permite que as máquinas virtuais se comuniquem com a rede de malha IP usando a infraestrutura de encaminhamento existente para conectividade de nós de computação. Essa funcionalidade é alcançada por meio da tradução de endereços de porta do tráfego de máquina virtual usando o endereço IP do nó de computação como endereço público.

O caso de uso de SNAT distribuído a seguir é suportado:

  • Redes virtuais com SNAT distribuído habilitado podem se comunicar com a rede de malha IP. A sessão deve ser iniciada a partir de uma máquina virtual. As sessões iniciadas a partir da rede externa não são suportadas.

O SNAT distribuído é suportado apenas para TCP e UDP, e você pode configurar faixas de porta discretas para ambos os protocolos.

Um pool de portas é usado para SNAT distribuído. Para criar um pool de portas, vá configurar > Infraestrutura > Configuração Global Config. O seguinte mostra um exemplo de uma gama de portas usada para a tradução de endereços de porta.

Figura 5: Edite a janela Edit Forwarding Options Window de opções de encaminhamento

Para usar o SNAT distribuído, você deve habilitar o SNAT na rede virtual. Para habilitar o SNAT na rede virtual, vá configurar > redes > Networks. O seguinte mostra uma rede virtual para a qual o SNAT foi habilitado sob opções avançadas.

Figura 6: Criar janela Create Window