+ Responder ao Tópico



  1. #1

    Padrão Ftp via navegador não lista o contéudo

    Olá !!!

    Recentemente a Universidade bloqueou todas as portas e aos poucos ela foi abrindo conforme a necessidade, já foram liberadas as portas 20 e 21, mas mesmo assim o problema continua.
    Galera, estou com problemas no ftp, toda vez que eu entro em algum site (com o firefox ou I.E.) e tento baixar algum arquivo via ftp, ele entra no site mas não lista seu contéudo. :toim:
    Os módulos:
    ip_nat_ftp
    ip_conntrack_ftp, já estavam habilitados
    tá assim quando dei um # lsmod
    Module Size Used by
    ip_nat_ftp 7489 0
    iptable_nat 26229 1 ip_nat_ftp
    ip_tables 25409 1 iptable_nat
    ip_conntrack_ftp 76753 1 ip_nat_ftp
    ip_conntrack 46889 3 ip_nat_ftp,iptable_nat,ip_conntrack_ftp

    Dei uma garimpada na net e li sobre colocar o navegador em modo passivo, mas salve engano por padrão eles já ficam assim.
    http://www.guiadohardware.net/faq/co...-firewall.html

    Eu acho que o cliente (navegador), está fazendo uma requisição usando uma porta alta e com o bloqueio da Universidade, o ftp não está funcionando, pois quando eu uso o lynx , eu consigo entrar no site, listar e baixar o arquivo.

    Estamos usando fedora 3 e 4, firewall SmoothWall (quando cheguei ele já estava aqui)...
    Algúem tem alguma idéia? :?

    Flw.... :good:

  2. #2

    Padrão Ftp via navegador não lista o contéudo

    humm... desculpem-me a insistência ops: , alguém tem alguma idéia....?

  3. #3
    slackz
    Visitante

    Padrão Ftp via navegador não lista o contéudo

    bem aqui no meu ftp pessoal eu tive esse problema, resolvi da seguinte forma:
    Editei o proftpd.conf e coloquei:
    MasqueradeAddress ftp.meuftp.com.br
    PassivePorts 60000 65535

    e agora tudo funciona numa boa, tente ai e posta o resultado!

    valeu

  4. #4
    Avenger
    Visitante

    Padrão Ftp via navegador não lista o contéudo

    Acho que no caso do moço ele tá tentando ser um cliente ftp, e não pode contar com que todos os fornecedores de FTP tenham o proftpd e façam esse manuseio que você fez.

    Então o que eu diria é o seguinte:
    Se você quer usar ftp no windows 98 e internet explorer 5 ou 6: Desista!.. (o 7 eu nao testei ainda). Se você está com o windows XP, vai nas configurações da internet, guia avançado, e procure por algo como 'Passive FTP' ou 'FTP em modo Passivo', algo com 'passivo/passive'. Marca isso, fecha e abre o IE, e tenta abrir seus sites FTP.

    Se você está é no Win9X, o único jeito é abrir site FTP com um cliente FTP que aceite conexões em modo passivo. Ou talvez usar o firefox ou outro navegador -- desde que tal navegador tenha suporte ao tal ftp passivo.

    Se mesmo ativando esse FTP passivo não funcionar, você vai ter que entender um pouco sobre como o FTP funciona:
    Em modo normal, quando você pede para baixar um arquivo ou a lista de arquivos de um diretório, após conectado, seu PC faz isso:
    Abre uma porta aleatória, partindo de 1024 -- no seu windows! -- e então manda pro servidor FTP o seu IP (se você usa IP falso, você manda seu IP falso!) e sua porta. Daí o servidor FTP abre uma conexão nessa porta que você 'abriu' e manda o conteúdo do arquivo ou diretório. Daí explica porque suas regras todas foram em vão: você abriu as portas 'para fora' 20 e 21, quando você vai precisar alguma aleatória entre 1024 e 2048 (comumente -- esse número pode aumentar de acordo com o tráfego que seu windowszinho faz) -- além do que, se você mandar o servidor FTP conectar em 192.168.0.222:1034 -- ele não vai conseguir por razões óbvias!..

    Agora vamos pro FTP passivo:
    Ao conectar, o cliente ftp (seu windows) manda o comando 'pasv'; se o servidor (o cara lá fora) entender esse comando (hoje em dia a maioria entende), ao invés de -você- abrir uma porta e -ele- conectar no seu PC para mandar arquivos, ele vai fazer diferente. Sem certeza absoluta, de duas uma: ele abre uma porta entre 1024 e 65535 para -você- conectar e puxar a listagem de arquivos
    ou
    ele abre um soquete na porta 20 mesmo, você conecta por ali (seu cliente FTP, de forma transparente claro) e puxa o arquivo -- dessa forma é possível o FTP funcionar sob conexões mascaradas (nat).

    Espero que isso ajude/esclareça o que deva ser feito no firewall de vocês para solucionar o problema!..

  5. #5

    Padrão Ftp via navegador não lista o contéudo

    Citação Postado originalmente por Avenger
    Acho que no caso do moço ele tá tentando ser um cliente ftp, e não pode contar com que todos os fornecedores de FTP tenham o proftpd e façam esse manuseio que você fez.
    É justamente isso.

    Citação Postado originalmente por Avenger
    Agora vamos pro FTP passivo:
    Ao conectar, o cliente ftp (seu windows) manda o comando 'pasv'; se o servidor (o cara lá fora) entender esse comando (hoje em dia a maioria entende), ao invés de -você- abrir uma porta e -ele- conectar no seu PC para mandar arquivos, ele vai fazer diferente. Sem certeza absoluta, de duas uma: ele abre uma porta entre 1024 e 65535 para -você- conectar e puxar a listagem de arquivos
    ou
    ele abre um soquete na porta 20 mesmo, você conecta por ali (seu cliente FTP, de forma transparente claro) e puxa o arquivo -- dessa forma é possível o FTP funcionar sob conexões mascaradas (nat).
    Mas os navegadores por padrão funcionam no modo passivo.
    Assumindo que a NAT esteja funcioando: existe alguma maneira de fazer com que em vez do ftp abrir uma porta alta ele abra todas as conexões na porta 20 ou 21. ?!!! ou estou falando besteira? :?
    Já que está que a universidade bloqueou tudo acima de 1024.....:toim:

    A única maneira que encontramos, é entra no site via lynx... pois por ele baixa direitinho.....

    Vlws pessoal pela ajuda de vcs !

  6. #6
    Avenger
    Visitante

    Padrão Ftp via navegador não lista o contéudo

    Olha... Ter jeito até deve ter... Mas daí seria o caso de você fazer isso em tooodos os servidores FTP que vc quiser acessar.

    Eu fiz dois testes práticos aqui com um servidorzinho FTP que rodo em casa.

    Também li os rfcs de FTP. Olha só o que acontece:

    Se você está com o ip 192.168.0.2, e conecta no servidor ftp 200.215.198.22, sem usar modo passivo, você conecta direitinho, e não tem porque dar errado. Afinal seu computador pode abrir qualquer conexão a partir de qualquer porta para a porta 21. O problema é que o servidor FTP te vê, por exemplo, como 201.22.192.184.
    Daí seu cliente FTP como não é adivinho, ao 'pedir' uma conexão para transmissão de dados (bem como a listagem de arquivos), 'abre' uma porta 1099, e fala pro servidor 200.215 lá:
    'Fineza efetuar conexão pelo meu IP 192.168.0.2, porta 1099'
    E o servidor, que não é nenhum babaca:
    'Caríssimo. Você está conectado a mim pelo IP 201.22.192.184, como quer que eu mande dados para esse IP 192.168.0.2?'

    E então você tem o famoso 'illegal port command'. O helper do linux (ip_conntrack_ftp) justamente captura os pacotes que mandam 'Fineza blahblah', e trocam o 192.168.0.2 pelo IP real da regra masquerade. Porém existem algumas configurações do iptables que não permitem que esse helper funcione.

    O que muda quando você usa o modo passivo é que ao invés de -você- alocar a porta (sempre >1024), o servidor é quem o faz. Daí não tem como haver aquele problema de você informar o IP que na verdade não é.
    O modo passivo podia funcionar melhor né.. Por exemplo, fazer com que o mesmo canal de transferencia de dados seja o canal que já tá aberto na conexão, como funciona com o http. Daí funcionaria mais ou menos como akeles modems antigamente, que a gente baixava por xmodem/kermit... Eles paravam a interação com o terminal (bbs entre outros) e tomava conta uma transferência frenética de dados.

    Você me falou que por padrão seus navegadores usam modo passivo. Então certamente você não utiliza o Internet Explorer do Windows. Pois mesmo no windows XP é necessário que você 'manualmente' mande que ele use o modo passivo. No windows 98, a opção de ftp passivo simplesmente é ausente (parece um bug no IE6 para win9x -- eu editei o registro do Windows para colocar a opção como a do windowsXP, com os atalhos dos registros e tudo, e tudo que ganhei foi um GPF do IE6 no meu win9x).

    O que deve estar acontecendo pro lynx funcionar normalmente é que de repente você está rodando ele por uma máquina cujo IP que os servidores remotos vêm nela é o IP que está configurado nela na eth0, por exemplo (assim evitando ela falar que é 192.168.0.1 quando é 200.x.x.x).

    Daí que eu vi que a solução das nossas mágoas possa ser essa budeguinha desse helper!.. Desativa o modo passivo no seu cliente, vai no servidor linux, e:

    modprobe ip_conntrack_ftp
    modprobe ip_nat_ftp

    E tum! deve funcionar o FTP em moto -ativo-.

    Eu -acho- que esse ip_nat_ftp não vai te ajudar muito caso você utilize regras SNAT <ip> no lugar de MASQUERADE.

    Minto! Funcionou usando SNAT IP! Acho que isso deve resolver seu problema -- mas daí vai ser requerido que você utilize FTP -ativo- ao invés do passivo.

    Olha só, testei aquo no meu windows 98:
    Código :
    230 User avenger logged in.
    ftp> quote port 10,3,172,198,254,232
    200 PORT command successful
    ftp>

    Note que 10.3.172.198 é um IP falso, nesse momento meu IP era 201.19.algo.algo. Eu daqui de casa falei '10.3', o firewall interceptou, e falou lá '201,19' hehe Interessante como esse lance funciona

    (precisa dizer que aprendi isso enquanto elaborava a resposta prá você!?)

  7. #7

    Padrão Ftp via navegador não lista o contéudo

    Caramba !!!

    Valeu pela aula, hehehe .

    Vou dar uma mexida aqui e posto o resulatdo.

    Vlw :good: