Empurre o tráfego local “fora” do nat

0

Eu tenho um servidor funcionando como meu nat que hospeda alguns serviços. Quando eu conecto localmente via UDP a este servidor, meu cliente usa o ip público, mas o servidor responde com seu ip local.

Então a pergunta é: como eu posso forçar todo o tráfego que é direcionado para o ip público a ser roteado através do NAT também?

Ou existe algum método ainda mais simples para conseguir que a conversa ocorra no ip público (sem permitir que o tráfego "vaze" para o público)

    
por Nobody 07.04.2012 / 22:51

1 resposta

2

Você precisa adicionar uma regra MASQUERADE para esse tráfego na caixa nat. Isso faz com que o tráfego para qualquer um dos serviços DNAT pareça vir da caixa nat. Dessa forma, quando o serviço DNAT responde, o tráfego volta para a caixa nat para que possa ser enviado de volta ao cliente (com o endereço IP de origem correto).

Por exemplo, se sua rede privada for 192.168.0.0/24 e a caixa nat tiver essa rede em eth1 :

iptables -t nat -A POSTROUTING -o eth1 -s 192.168.0.0/24 -d 192.168.0.0/24 -j MASQUERADE

(Você poderia usar SNAT em vez de MASQUERADE, ou funciona)

    
por 07.04.2012 / 23:30

Tags