Conexão direta pelo iptables [RESOLVIDO]

1. Conexão direta pelo iptables [RESOLVIDO]

Reinaldo Adriano
Bezerk

(usa Slackware)

Enviado em 08/01/2010 - 11:56h

Saudações galera!

É o seguinte; o sistema ERP do meu trabalho usa as portas 1274, 8081 e 5007 para acessar periodicamente um determinado endereço na internet e baixar arquivos por ftp para fazer suas atualizações e correções, mas isso não está acontecendo, o sistema consegue acessar o endereço mas não prossegue.

Tá aparecendo exatamente a seguinte mensagem;
----------------------------------------------------------------------------------------------------------------------------------------------
"Ocorreu um erro na transmissão de dados!
Não abrirei uma conexão para (ip interno do servidor ERP) somente para (ip de internet do firewall).

Transferência cancelada! "
-----------------------------------------------------------------------------------------------------------------------------------------------

Eu tentei um monte de liberações e redirecionamentos do servidor de atualizaçoes na internet para o servidor ERP.

iptables -t nat -A PREROUTING -i ppp0 -s 200.98.197.6 -d 192.168.254.3 -j ACCEPT
iptables -t filter -A FORWARD -d 192.168.254.3 -p tcp --dport 8081 -j ACCEPT
iptables -t nat -A PREROUTING -i ppp0 -s 0.0.0.0/0 -p tcp --dport 8081 -j DNAT --to 192.168.254.3:8081
iptables -t filter -A FORWARD -d 192.168.254.3 -p tcp --dport 1274 -j ACCEPT
iptables -t nat -A PREROUTING -i ppp0 -s 200.98.197.6 -p tcp --dport 1274 -j DNAT --to-destination 192.168.254.3:1274
iptables -t filter -A FORWARD -d 192.168.254.3 -p tcp --dport 5007 -j ACCEPT
iptables -t nat -A PREROUTING -i ppp0 -s 200.98.197.6 -p tcp --dport 5007 -j DNAT --to-destination 192.168.254.3:5007
iptables -t nat -A PREROUTING -i ppp0 -s 200.98.197.6 -p tcp --dport 21 -j DNAT --to-destination 192.168.254.3:21
iptables -t filter -A FORWARD -d 201.22.86.135 -p tcp --dport 1274 -j ACCEPT
iptables -t nat -A PREROUTING -i ppp0 -s 201.22.86.135 -p tcp --dport 1274 -j DNAT --to-destination 192.168.254.3:1274
iptables -t filter -A FORWARD -d 201.22.86.135 -p tcp --dport 5007 -j ACCEPT
iptables -t nat -A PREROUTING -i ppp0 -s 201.22.86.135 -p tcp --dport 5007 -j DNAT --to-destination 192.168.254.3:5007


Não sei se é por causa de alguma configuração no firewall, tambem já cogitei de as portas usadas estarem bloqueadas
no modem ou na Velox, mas acho muito pouco provável.
Acho que o sistema não aceita um redirecionamento, só uma conexão direta
do servidor da empresa pro servidor de atualizações.

Sendo assim eu queria saber se tem como o servidor interno do sistema pensar que está em uma conexão direta com o servidor de atualizações.

Desde já agradeço a ajuda dos que enviarem respostas!





  


2. MELHOR RESPOSTA

Jefferson Diego
Diede

(usa Debian)

Enviado em 11/01/2010 - 11:55h

Assim:
modprobe nf_nat_ftp
modprobe nf_conntrack_ftp
iptables -t nat -I POSTROUTING -s 192.168.254.3 -j MASQUERADE.
Já seria uma conexão direta...

3. Re: Conexão direta pelo iptables [RESOLVIDO]

irado furioso com tudo
irado

(usa XUbuntu)

Enviado em 08/01/2010 - 12:08h

putzgrillo.. o protocolo ftp já é uma perfeita droga (um êrro, na verdade) normal, imagino como fica em portas exóticas.

seguinte: use um sniffer (tcpdump + wireshark) para analisar QUAL a porta que faz o retorno, porque vc solicita (por ex) pela porta 5007 e a "devolução" pode ser por uma porta aleatória qualquer; com isso, o firewall (que NÃO SABE DISSO) bloqueia qualquer dado que venha por essa porta "estranha".

não dá para usar (por ex) vpn ou um tunel ssh ou ainda o sftp?


4. Re: Conexão direta pelo iptables [RESOLVIDO]

Jefferson Diego
Diede

(usa Debian)

Enviado em 08/01/2010 - 20:06h

Pera aí!
Quem é quem aí nesses IP's?
O 200.98.197.6 é seu IP externo, ou o IP do servidor que seu sistema tenta acessar? e 201.22.86.135?
Outra coisa, alguém consegue acessar FTP em sua rede? (Abrir os endereços, logar, navegar, criar pastas?)
Caso não:
modprobe nf_nat_ftp
modprobe nf_conntrack_ftp

Quanto as suas regras, se o que o programinha precisa é baixar algo de um site externo, você não deve redirecionar as portas para a máquina onde ele está.
É diferente.
Esqueça então estas regras aqui:
iptables -t nat -A PREROUTING -i ppp0 -s 200.98.197.6 -p tcp --dport 1274 -j DNAT --to-destination 192.168.254.3:1274
iptables -t nat -A PREROUTING -i ppp0 -s 201.22.86.135 -p tcp --dport 5007 -j DNAT --to-destination 192.168.254.3:5007
iptables -t nat -A PREROUTING -i ppp0 -s 201.22.86.135 -p tcp --dport 1274 -j DNAT --to-destination 192.168.254.3:1274
iptables -t nat -A PREROUTING -i ppp0 -s 200.98.197.6 -p tcp --dport 5007 -j DNAT --to-destination 192.168.254.3:5007
iptables -t nat -A PREROUTING -i ppp0 -s 200.98.197.6 -p tcp --dport 21 -j DNAT --to-destination 192.168.254.3:21

Tente carregar os módulos acima (nf_nat_ftp e nf_conntrack_ftp). Se não resolver, adicione uma regra de masquerade:
iptables -t nat -I POSTROUTING -s 192.168.254.3 -j MASQUERADE.
Isso é: estou presumindo que 192.168.254.3 é o IP do host onde está o sisteminha... correto?

Caso não resolva, poste seu firewall completo aqui, para que possamos reescrevê-lo...


5. Re: Conexão direta pelo iptables [RESOLVIDO]

Mário sales
mario.sales

(usa Debian)

Enviado em 09/01/2010 - 07:43h

Cara,
Você falou que o software faz os downloads via ftp?
se sim tem de liberar as portas que já liberou ( especificas do software ) + as portas FTP ( 20 e 21 ).

Abraços.



6. Re: Conexão direta pelo iptables [RESOLVIDO]

Reinaldo Adriano
Bezerk

(usa Slackware)

Enviado em 11/01/2010 - 09:20h

Acho que o problema nem é a liberação de portas mais. To achando que o sistema -sabe-se lá porque- não aceita uma conexão via NAT.
Então eu precisaria de uma forma de fazer uma "conexão direta" entre o Servidor ERP e o site de atualizações via Iptables.


7. Deu certo!

Reinaldo Adriano
Bezerk

(usa Slackware)

Enviado em 15/01/2010 - 09:34h

Valeu Diede, sua dica funcionou pra mim. Muito obrigado.

Ser noob é phoda! hehehe!






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts