NAT (network address translation) é um protocolo que, faz a tradução dos endereços Ip e portas TCP da rede local para a Internet.
Ou seja, o pacote a ser enviado ou recebido de sua estação de trabalho na sua rede local, vai até o servidor onde seu ip é trocado pelo ip do servidor a substituição do ip da rede local valida o envio do pacote na internet, no retorno do pacote acontece a mesma coisa porém ao contrário o que garante que o pacote chegue ao seu destino.
Um exemplo:
A estação com IP 192.168.1.8 faz uma requisição para um endereço externo. O pacote sai da estação com o IP da estação e vai ate o gateway que é o intermediador entre ambiente interno e o externo. O gateway, através do protocolo NAT mascara o IP da estação com seu IP (200.158.112.130 – que é válido na internet) desta forma faz com que o pacote seja entregue no destino solicitado pela estação. No retorno do pacote, ele parte do endereço externo (200.158.112.130), chega a nossa rede no servidor NAT com o ip externo e então volta ater o IP da estação chegando à estação (192.168.1.8).
Entao entende-se que a aplicação prática do NAT em uma rede local é para distribuição do acesso à internet. Sendo assim NAT é um proxy?
Não, o proxy tem função de armazenamento em cachê. Ele armazena os sites no servidor e distribui para a rede, quando o site requisitado não é encontrado no servidor, este vai a busca do site e o armazena no servidor para que as estações possam acessa-lo.
O proxy não depende de DNS instalado no servidor porém o NAT depende.
Fonte:https://ensinar.wordpress.com/2008/12/10/entendendo-o-que-e-nat/