Encaminhamento de portas [RESOLVIDO]

1. Encaminhamento de portas [RESOLVIDO]

felipe gallois
gallois

(usa Debian)

Enviado em 25/02/2009 - 09:57h

Tenho o seguinte cenário, preciso encaminhar uma conexão que chega na porta 1500 de um computador, vinda de um IP qualquer para a porta 1521 de outro computador (um computador em específico). Estou usando apenas uma interface de rede no computador que vai fazer o encaminhamento!!! (Não sei se isso pode dar problemas)

Tentei várias combinações de regras, mas as que tenho usado ultimamente, sem sucesso, são.

iptables -t nat -A PREROUTING -p tcp --dport 1500 -j DNAT --to 192.168.18.130:1521
iptables -A FORWARD -p tcp --dport 1521 -d 192.168.18.130 -j ACCEPT

O endereço está correto e consigo acessar a máquina diretamente, sem o encaminhamento de portas (192.168.18.130)

Estou já há algum tempo tentando resolver isso, fiz alguns testes com ssh para ver se estou encaminhando corretamente e percebi que se eu fizer um encaminhamento das portas para dentro do próprio PC (encaminhar a porta 15000 para a 22) eu consigo acessar de uma outra máquina, mas se tentar fazer o encaminhamento para outro computador, não consigo (porta 15000 de uma máquina para a 22 de outra). O acesso direto ssh funciona corretamente em todas as máquinas, apenas no caso de encaminhar portas tive problemas.

para o ssh usei regras do tipo
iptables -A PREROUTING -t nat -p tcp -d 192.168.18.107 --dport 15000 -j DNAT --to 192.168.18.158:22
iptables -A FORWARD -p tcp --dport 22 -d 192.168.18.158 -j ACCEPT

usando apenas iptables para tudo.

Alguma dica?

Valeu, abracos


  


2. MELHOR RESPOSTA

Richard Andrade
richardandrade

(usa Debian)

Enviado em 05/03/2009 - 08:34h

o acesso que vc está tentando fazer é internamente ou externamente? se for internamente não vai funcionar... pois NAT interno não funciona vou tentar explicar...
temos 3 máquinas:

máquina A : 10.0.0.1
máquina B : 10.0.0.2
máquina C : 10.0.0.3

a máquina A envia um pacote A1 com destino a máquina B:
pacote A1= origem : 10.0.0.1
destino: 10.0.0.2
porta origem: -
porta destino: 2000

que por sua vez a máquina B roteia o pacote A1 transformando-o em A2
pacote A2= origem : 10.0.0.1
destino: 10.0.0.3
porta origem: -
porta destino: 2000

o pacote A2 chega na máquina C e ela por estar em uma rede interna responde direto para máquina A gerando um pacote B1
pacote b1= origem : 10.0.0.3
destino: 10.0.0.1
porta origem: 2000
porta destino: -

só que a máquina A nunca fez contato com a máquina de IP 10.0.0.3 na porta 2000, ela fez com o 10.0.0.1, logo ela joga fora a resposta e continua aguardando a resposta vinda da máquina A(10.0.0.1)

poderia ser feito um duplo nat trocando também a origem do pacote... mas pra mim é marretada.

Aprendi isso no post que o Elgio respondeu uma vez, Crédito dele.

valeu e abraço

3. Re: Encaminhamento de portas [RESOLVIDO]

felipe gallois
gallois

(usa Debian)

Enviado em 05/03/2009 - 08:58h

hmmm
entendi. pode ser realmente esse o problema. eu usei o redir para poder pelo menos colocar pra funcionar, mas esperava resolver isso direto com o iptables.

Vou testar no ambiente de produção, acabei deixando pra la porque os testes nao funcionaram!

valeu pela resposta!!

abraços


4. Re: Encaminhamento de portas [RESOLVIDO]

Elgio Schlemer
elgio

(usa OpenSuSE)

Enviado em 16/01/2010 - 11:07h

richardandrade MELHOR RESPOSTA: Legal! Reproduziste o meu exemplo citado em 2007 - http://www.vivaolinux.com.br/topico/netfilter-iptables/Redirecionamento-de-portas-2/ - e ainda ganhou a melhor resposta.

Muito bom. Obrigado por ter lido. Podias, ao menos, ter me citado na resposta, não? Geralmente é assim que funciona ;-)

Forte abraço






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts