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.

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:
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.
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.

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.

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

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.

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.
