server FTP non viene visto via browser

Ogni tanto attivo un server FTP per mettere a disposizione o farmi mandare dei file.

Ha funzionato varie volte, le persone si collegano tramite Internet explorer, vedono le cartelle e mi mandano o prendono file.

Adesso, con il file di configurazione sempre uguale, da linea di comando funziona, da browser no (e non è possibile spiegare agli utenti come installarsi e usare un client FTP dedicato…).

Firefox dà “errore 425 impossibile stabilire la comunicazione”. Ho trovato in giro che potrebbe essere un bug di Firefox.
Ma a parte quello il problema è anche con Internet Explorer, che prima funzionava e adesso dopo l’autenticazione non si legge la lista della directory ftp.

Il server è FedoraCore6 il servizio è vsftpd il tutto è aggioranto agli ultimi pacchetti.

Qualche idea per risolvere?

[Aggiunta]
Da remoto funziona solo a riga di comando DOS
In locale funziona anche via browser, sarà qualche porta del router, ma quale? (e soprattutto perché con le stesse impostazioni del router prima andava? Boh)

Sono sempre più confuso:
Ho provato a mettere il server in zona DMZ.
Ho provato a togliere il firewall dal rotuter.

Ma collegamenti da remoto via browser ancora niente.

Mi riguarderò vsftpd.conf e magari ne cerco uno pulito.

[intermezzo filosofico]

Ogni volta che penso di aver capito bene qualcosa, mi accorgo di quanto ancora c’è da capire.
Bisogna sempre dubitare delle proprie certezze…

Credo… o forse no…

[/intermezzo filosofico]

Bho, la butto li’: che c’entri la modalità attiva o passiva dell’ftp? Il protocollo ftp, oltre ad avere pecche di sicurezza, è anche una brutta bestia a livello di gestione porte… Quello che non capisco pero’ è il motivo per cui prima funzionava e ora no…
Magari ho detto una cavolata, ma verifica se il client ftp che funziona utilizza modalità attiva o passiva… Potrebbe magari dipendere da questo.

Cercherò di indagare.
Il fatto strano è che dallo stesso client windows remoto (entra via internet) il comando ftp del DOS funziona, il browser no.

Dalla rete interna se mi collego via browser funziona.

Se dalla rete interna rientro sul mio stesso router via Internet stessa cosa: riga di comando tutto OK. Via browser si autentica ma poi non si prende l’elenco delle directory e va in timeout.

Se risolvo vi avviso.

OK era la modalità passiva, come aveva suggerito mastro zod.

Il fatto che funzionasse da DOS era una mia svista, nel senso che credevo passasse dall’esterno, mentre invece di uscire e rientrare via internet sul mio stesso server, tutto avveniva in locale, dove iptables non agisce. Infatti ho provato a scaricare circa 100Mb e ci ha messo pochi secondi, impossibile che si passato via Internet.

Tornando alla pratica:
ho usato vsftp come servizio per l’FTP, ho risolto

  1. abilitando la modalità passiva di vsftp
  2. aprendo un intervallo di porte nel router e reindirizzandole verso il server col servizio FTP
  3. aprendo le stesse porte nella configurazione di iptables sul server

Ho usato l’intervallo di porte da 6000 a 7000, trovato con google, ma credo vada bene qualsiasi intervallo di porte non già usate da servizi noti.

Le righe da aggiungere alla configurazione di vsftpd (/etc/vsftpd/vsftpd.conf) sono le seguenti:

pasv_enable=YES
pasv_promiscuous=YES
pasv_min_port=6000
pasv_max_port=7000

Per far passare i pacchetti attraverso iptables ho aggiunto la seguente riga alla configurazione che di solito gli imposto con /etc/rc.d/rc.local

/sbin/iptables -A INPUT -p tcp -i eth0 -s 0/0 --dport 6000:7000 -j ACCEPT

Per chi sta cercando di configurare un server FTP e passa di qua, può essere utile dare un’occhiata anche a questa discussione
http://www.fedoraonline.it/modules/newbb/viewtopic.php?post_id=25828#forumpost25828

PS
se mandela mi da il permesso unisco i due post in una mini guida.