[MASOCH-L] DNAT para rede local não funciona (Debian)
Rafael Santos
listas at rafaelsantos.com
Wed Nov 17 22:44:20 -03 2010
Prezados,
Estou enfrentando um problema deveras bizarro aqui e gostaria de um help
dos senhores(as):
Tenho a seguinte topologia:
Eth0 = 192.168.1.0/24 (LAN)
Eth1 = 200.200.200.200 (WAN 1)
Eth2 = 201.201.201.201 (WAN 2)
Existe uma regra de DNAT para que todos os pacotes que chegam para
determinadas portas com destino = IP WAN 1 sejam encaminhados (DNAT) para
o servidor 192.168.1.45.
Até aí beleza, de qualquer lugar do planeta e talvez do universo (a latência
talvez
incomode em distâncias maiores) a conexão funciona que é uma maravilha.
O problema ocorre quando tento acessar o servidor através do IP WAN 1 a
partir
da própria LAN.
Vocês me dirão: Claro, filhote de apedeuta, você não vê que a requisição
está
sendo feita para o IP da WAN 1, porém por estarem na mesma rede a resposta
sai direto do servidor 192.168.1.45 para a máquina que fez a requisição?
Respondo: Sim! Por isso mesmo que eu fiz uma regra de SNAT, que diz que
todos os pacotes que forem encaminhados para o servidor devem ir com o
endereço de origem igual à WAN 1!
Tentei várias variações, mas as regras atuais são as seguintes:
DNAT tcp -- * * !192.168.1.45 200.200.200.200
tcp multiport dports 80,443,5252,7531,7532 to:192.168.1.45
SNAT all -- * eth0 192.168.1.0/24 192.168.1.45
to:200.200.200.200
Os pacotes estão saindo da estação (192.168.1.50) passam pelo GTW, são
encaminhadas corretamente para o 192.168.1.45 com endereço de
origem = 200.200.200.200, o servidor 192.168.1.45 responde para o
200.200.200.200, porém os pacotes não são retornados para a estação.
Não deveria existir um connection tracking para fazer este encaminhamento
do retorno? Alguém saberia me dizer porque esta $#@%@ não está funcionando?
Agradeço qualquer ajuda.
Att.
Rafael Santos
More information about the masoch-l
mailing list