SNAT é um recurso utilizado para traduzir endereços, uma opção ao NAT, com a diferença que é possível mapear muitos hosts para um único endereço de tradução. Isso possbilita que todos os hosts de uma rede saiam por apenas um endereço público. Só aceita conexões com protocolo TCP e UDP, além de traduzir forçando uma porta de origem e saída, tornando-o mais seguro que o NAT
Imagem1: Único endereço público para todos hosts internos com uma porta especificada.
Este techtip irá mostrar como realizar essa configuração em um BIG-IP.
O SNAT consiste em modificar o endereço de origem dos hosts clientes antes dos pacotes serem enviados. O dispositivo que realiza o SNAT ficará responsável por armazenar os pacotes e reescrever assim que obter a resposta do host de destino, direcionando os pacotes ao destino correto.
Em uma configuração SNAT de entrada (inbound), a conexão chega a um VIP e o BIG-IP realiza a requisição com endereço interno, forçando o servidor responder ao endereço que requisitou, que se encarregará de traduzir a resposta ao cliente.
Em uma configuração SNAT de saída (outbound) os endereços dos hosts internos serão traduzidos para um único endereço de saída publico. Desta forma o endereço privados não serão expostos durante as respostas externas.
Imagem 2: Mecanismo SNAT de saída por IP único.
Tipos de implementações SNAT
- Mapear um ou mais IPs originais para um endereço de tradução;
- SNAT automap, que utilizará qualquer IP interno disponível no BIG-IP para chegar ao destino;
- Criar um pool de endereços de tradução, um endereço suportará até aproximadamente 65 mil conexões simultâneas, neste caso deve-se criar um pool de IPs de selfip SNAT;
O SNAT é considerado uma tradução de endereço mais segura, por possibilitar utilizar um objeto de endereço para realizar a tradução e também possibilita realizar tradução da porta além do IP.
Com os conceitos esclarecidos vamos verificar como aplicar essas configurações em um BIG-IP.
Para criar um SNAT vá em Local Traffic -> Address Translation -> SNAT List -> Create:
No formulário preencher os seguintes campos:
Translation:
- IP: Endereço que será utilizado na tradução;
- SNAT Pool: Um range de endereços que serão utilizados na tradução;
- Automap: Utiliza endereço do selfip da vlan do recurso acessado;
Oring: Especifica de qual rede de origem o SNAT deverá aplicar a tradução;
VLAN/Tunnel Traffic: Especifica em qual VLAN a regra SNAT será valida;
Auto Last Hop: Quando habilitado, retorna trafego pelo MAC Address que enviou a requisição, mesmo que exista outra rota padrão definida.
No exemplo acima, na rede 192.168.100.X, caso uma conexão seja iniciada por um host externo e que passe pela regra de SNAT, utilizará o endereço 192.168.100.22 para contatar algum host desta rede. Ao receber uma resposta do host realizará a tradução inversão do endereço de origem garantindo a comunicação fim a fim entre o host de origem e destino.
SNAT é uma forma de fazer tradução de endereços. Ao criar uma regra permite que através de um único endereço seja realizada a tradução para vários hosts em uma rede. Podendo ser feita de três formas no BIG-IP, por um endereço especifico, um pool de endereços ou Automap. É mais seguro que o NAT por permitir apenas conexões TCP e UDP e possibilitar determinar IP e porta de entrada e saída.