# [RISOLTO] server ftp

## misterwine

Ciao, ho emerso vsftpd per fare del mio pc anche un piccolo server ftp nella mia lan.

Io vorrei che fosse accessibile anche dall' esterno, tramite l'ip che mi assegna l' isp. Vi dico subito che sono dietro a un piccolo router, nel quale ho aperto due porte per utilizzare il client overnet. Dunque ho aperto anche le porte 20 e 21 e indirizzate all' ip (statico) del mio pc, dove è in esecuzione vsftpd.

Ma ho un problema, cioè dall'interno della lan riesco ad accedervi, ma dall' esterno no (mettendo l'ip assegnatomi dinamicamente dall' isp nel client ftp, non mi entra nel server, bensi sembra che teni di entrare nel router).

Per caso devo configurare gli ip o subnetmask in maniera diversa??

L'ip del mio pc è 192.168.1.200 (fuori dal range dhcp del router), quello del router è 192.168.1.254. Entrambi, pc e router hanno come subnet mask 225.225.225.0

Qualche idea a proposito?? grazie

----------

## masterbrian

E' un problema relativo al settaggio del tuo router, devi fare una regola di nat in modo da far girare la porta 20 e 21 del tuo server su internet.

Non posso essere piu' preciso, perche' la soluzione varia a seconda dei tool che ti mette a disposizione il router.

Ciao

----------

## misterwine

Io ho usato lo stesso procedimento che ho usato per aprire le porte 1755 e 1765 del router e le ho mappate sul mio pc (quello che ora vorrei usare anche come server ftp) anche per la porta 20 e 21... però non funzia. Non vorrei che dipendesse da qualcos' altro

----------

## drakkan

probabilmente il router ha già un server ftp su quella porta (utile per esempio per aggiornare il firmware o cose del genere) e non ti permette di fare in DNAT sulla 21, prova a cambiare la porta dove si mette in ascolto vsftpd dalla 21 a qualcosa tipo la 2121 e vedi se funziona

----------

## ProT-0-TypE

oltre a settare la porta 21, ricordati di abilitare il passive mode (pasv) e le relative porte, e fare la redirezione anche per quelle, altrimenti un client dietro firewall non riuscirebbe a connettersi

----------

## misterwine

 *Quote:*   

> probabilmente il router ha già un server ftp su quella porta

 

Probabilmente drakkan ha azzeccato... ora faccio qualche prova

----------

## misterwine

Ho aperto le porte 2121 e 2020 del router, mappandole sull'ip del mio pc,dove è in esecuzione vsftpd, in modo che non vi siano interferenze con le porte ftp del router (che utilizza per aggiornamenti del firmware ecc.).

Ho aperto (per pasv_mode) le porte 1025-1030 sul router mappandole sempre sul mio server... e allo stesso modo ho configurato vsftpd, in modo che per pasv_mode usi questo range di porte.

Forse sbaglio a testare il funzionamento utilizzando come client sempre il mio computer?? però testandolo con l'ip localhost 127.0.0.1 mi funziona!

----------

## ProT-0-TypE

domanda stupida, ma hai configurato vsftpd in modo che ascolti su quella porta e quando cerchi di collegarti usi quella porta? nel caso posta la tua config

----------

## misterwine

Questa è la mia configuazione di vsftpd:

```
background=YES

listen=YES

anonymous_enable=YES

local_enable=YES

write_enable=NO

anon_upload_enable=NO

anon_other_write_enable=NO

anon_mkdir_write_enable=NO

listen_port=2121

ftp_data_port=2020

pasv_enable=YES

pasv_min_port=1025

pasv_max_port=1030

pasv_address=xxx.yyy.zzz.ttt  #ip pubblico assegnatomi dall isp.
```

E sul router ho aperto le porte 2121,2020 e 1025.1030 mappandole verso il pc che fa da server ftp

----------

## ProT-0-TypE

commenta questa linea che non ti serve:

```
pasv_address=xxx.yyy.zzz.ttt  #ip pubblico assegnatomi dall isp.
```

sul client ftp che dai per connetterti? che errore ti restituisce esattamente?

EDIT: dimmi direttamente che ti restituisce questo comando:

```
ftp -p localhost 2121
```

----------

## misterwine

Ho commentato la riga

```
#pasv_address=xxx.yyy.zzz.ttt
```

Questo mi da ftpgrabber:

[16:37:44] *** Connecting to 'xxx.yyy.zzz.ttt:2121'...

[16:37:44] *** Connection failed (Connessione rifiutata).

[16:37:44] *** Unable to connect with server!

Questo mi da ftp:

~ $ ftp -p localhost 2121

Connected to localhost (127.0.0.1).

220 (vsFTPd 2.0.3)

Name (localhost:misterwine): anonymous

530 Please login with USER and PASS.

SSL not available

331 Please specify the password.

Password:

230 Login successful.

Remote system type is UNIX.

Using binary mode to transfer files.

ftp> ls

227 Entering Passive Mode (127,0,0,1,4,1)

150 Here comes the directory listing.

drwxr-xr-x    2 0        0              48 Apr 14 11:25 prova

226 Directory send OK.

ftp>

----------

## ProT-0-TypE

se cerchi di connetterti utilizzando l'ip esterno passando attraverso il tuo router è normale che non ce la faccia. fai provare a qualcuno dall'esterno

----------

## misterwine

ah, dipende da quello allora... mi era passato per la testa infatti...

ti disp provare ProT-0-TypE??

ti mando l'ip che ho adesso in un messaggio privato... tanto è dinamico, e non appena mi riconnetto cambia.

potresti farmi questo favore?

----------

## misterwine

Allora... ho risolto il problema. Diciamo che semplicemente porvavo ad entrare nel server ftp tramite lo stesso, e dunque non mi funzionava. Ho fatto provare ad un amico e il tutto ha funzionato.

-Se qualcuno volesse implementare un piccolo server ftp per una piccola lan (io a casa ho 3 pc, tra cui il mio che funge anche da server ftp) ecco come ho fatto io:

Motivo: scambiare file all' interno della lan tramite questo server ftp (accessibile da macchine unix, win32 ecc... indipendente dalla piattaforma utilizzata!) usando dei semplici programmi che fan da client ftp, oppure anche tramite browser.

1) Ho deciso di usare come server ftp il programma vsftpd (che de non sbaglio dipende dal pacchetto ftpbase) in quanto in giro per il www ho visto che era piccolo,sicuro e facile da configurare.

2) Per configurarlo all' inizio mi son basato su questa pagina web

http://www.linuxhelp.it/modules.php?name=Reviews&rop=showcontent&id=24

che spiega un attimo come configurare inizialmente vsftp su debian (ma alla fine non cambia tra una distro e l'altra).

NB: su gentoo il file di configurazione si trova in /etc/vsftpd/vsftpd.conf

Inoltre avete anche un bel /etc/vsftpd/vsftpd.conf.example da cui prendere spunto!

Comunque con un bel

```
man vsftpd.conf
```

avete un ottimo manuale se volete attivare delle funzionalità che vsftpd vi mette a disposizione.

3) Ho avuto qualche problema in quanto sono dietro a un piccolo router (4 porte ethernet), e quindi ho dovuto aprire delle porte sul router (2020 e 2121 precisamente e anche le porte da 60000 a 60100 per il passive mode), oltre che a configurare vsftpd perchè le usasse. Per questo vi metto la mia configurazione in quanto spero possa esservi utile!!

```
background=YES

listen=YES

anonymous_enable=YES

local_enable=YES

write_enable=NO

anon_upload_enable=NO

anon_other_write_enable=NO

anon_mkdir_write_enable=NO

listen_port=2121

ftp_data_port=2020

pasv_enable=YES

pasv_min_port=60000

pasv_max_port=60100

```

Grazie ancora per l'aiuto!

----------

## Luca89

 *misterwine wrote:*   

> Motivo: scambiare file all' interno della lan tramite questo server ftp (accessibile da macchine unix, win32 ecc... indipendente dalla piattaforma utilizzata!) usando dei semplici programmi che fan da client ftp, oppure anche tramite browser. 

 

Se devi scambiare file nella lan non è meglio samba?

----------

## misterwine

Mi sembrava un pò troppo complicato da configurare samba (magari mi sbaglio)...

----------

## lucapost

ho una difficoltà immensa a configurare un server ftp sul mio portatile

SONO GIORNI CHE CI PROVO, E PER QUESTIONE DI PRINCIPIO VORREI USARE VSFTPD!!!

sul notebook(192.168.0.92),dove voglio configurare il sever, ho le seguenti cartelle dalle quali permettere il download:

```
asus ~ # ls -l /home/ftp/

total 40

drwxrwsr-x 5 ftp portage 36864 Jun  3 18:57 distfiles/

drwxr-xr-x 4 ftp ftp      4096 May  8 17:24 packages/

```

sul desk(1921.68.0.1) vorrei configuare il make.conf in modo che come primo GENTOO_MIRRORS abbia le cartelle indicate sopra,

 e quindi mi funzioni l' autenticazione di default di emerge come utente anonymous.

La connessione tra i pc tramite cavo incrociato è ok.

Mi potete dare una mano con qualche esempio di vsftpd.conf?

Luca

----------

## lucapost

per ora ho risolto nel seguente modo:

sul server ho questo vsftpd.conf

```
dirmessage_enable=YES

chown_uploads=NO

xferlog_enable=YES

idle_session_timeout=600

data_connection_timeout=120

ascii_upload_enable=NO

ascii_download_enable=NO

chroot_list_enable=YES

listen=YES

ls_recurse_enable=NO

anonymous_enable=YES

anon_upload_enable=NO

anon_mkdir_write_enable=NO

local_enable=YES

```

e nel make.conf del client alla variabile GENTOO_MIRRORS ho aggiunto come prima opzione ftp://ftp:pwd_di_ftp@192.168.0.92/

ma come faccio ad accedere da utente anonimo senza inserire nulla e lasciando come mirror ftp://asus/?

----------

## devilheart

prova con questo http://gentoo-wiki.com/HOWTO_vsftpd#Introduction

altrimenti usa proftpd come faccio io

----------

