- Home
- Categorie
- Gaming, Hardware e Software
- Software (Windows - Linux - Apple) & Applicazioni
- Problema connessione su client FTP con VSFTPD
-
Problema connessione su client FTP con VSFTPD
Salve a tutti,
Ho un problema urgentissimo da risolvere.
Ho installato VSFTPD server su debian che utilizza utenti virtuali da un database MySQL, l'ho configurato ed ho fatto un test di accesso creando un utente con:ftp localhost
Connected to localhost.
220 (vsFTPd 2.0.7)
Name (localhost:root): <nome_utente>
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>E fin qui tutto Ok mi funziona tutto.
Il problema sorge quando vado a configurare il client FTP (ho utilizzato FileZilla e WinSCP), non riesce a collegarsi al server:
Stato: Connessione a xx.xxx.xxx.xx:21...
Errore: Tempo scaduto per la connessione
Errore: Impossibile collegarsi al serverQuesti sono i passaggi che ho effettuato:
- Ho installato tutti i pacchetti necessari:
apt-get install vsftpd libpam-mysql mysql-server mysql-client phpmyadmin
- Ho creato il database MySQL per vsftpd, con i privilegi dell'utente e la tabella che memorizza gli utenti per l'accesso FTP:
CREATE DATABASE vsftpd;
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP ON vsftpd. TO 'vsftpd'@'localhost' IDENTIFIED BY '<password>';
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP ON vsftpd. TO 'vsftpd'@'localhost.localdomain' IDENTIFIED BY '<password>';
FLUSH PRIVILEGES;USE vsftpd;
CREATE TABLE
accounts
(
id
INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
username
VARCHAR( 30 ) NOT NULL ,
pass
VARCHAR( 50 ) NOT NULL ,
UNIQUE (
username
)
) ENGINE = MYISAM ;
**- Ho confugurato il file /etc/vsftpd.conf:
**
listen=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=027
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
nopriv_user=vsftpd
chroot_local_user=YES
secure_chroot_dir=/var/run/vsftpd
pam_service_name=vsftpd
rsa_cert_file=/etc/ssl/certs/vsftpd.pem
guest_enable=YES
guest_username=vsftpd
local_root=/var/www/$USER
user_sub_token=$USER
virtual_use_local_privs=YES
**- Ho configurato il file /etc/pam.d/vsftpd in modo che utilizzi il database MySQL per autenticare gli utenti virtuali FTP:
auth required pam_mysql.so user=vsftpd passwd=password host=localhost db=vsftpd table=accounts usercolumn=username passwdcolumn=pass crypt=2
account required pam_mysql.so user=vsftpd passwd=password host=localhost db=vsftpd table=accounts usercolumn=username passwdcolumn=pass crypt=2- Ho riavviato VSFTPD:
/etc/init.d/vsftpd restart
- Ho creato l'utente:
INSERT INTO accounts (username, pass) VALUES('testuser', PASSWORD('secret'));
- Ho provato a connettermi tramite client FTP:
hostname: nome del mio server, porta: 21, nome utente: 'testuser', e password: 'secret'.
E qui non si connette...
Ho pensato a probabili cause:
- Firewall o qualcosa del genere che bloccano la porta 21.
- Oppure ho notato che facendo "ifconfig" non risulta l'interfaccia ethernet eth0, ma risulta questo:
ifconfig
dummy0 Link encap:Ethernet HWaddr a2:20:19:e7:74:31
UP BROADCAST RUNNING NOARP MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:9 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 B) TX bytes:654 (654.0 B)dummy0:1 Link encap:Ethernet HWaddr a2:20:19:e7:74:31
inet addr:192.168.1.1 Bcast:192.168.1.255 Mask:255.255.255.0
UP BROADCAST RUNNING NOARP MTU:1500 Metric:1lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:4463 errors:0 dropped:0 overruns:0 frame:0
TX packets:4463 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:374576 (365.7 KiB) TX bytes:374576 (365.7 KiB)Grazie.
Saluti.
-
Ciao pepox,
In effetti non si vede l'interfaccia eth0... e senza interfaccia di rete non facciamo nulla
-
Verifica che l'interfaccia non sia down: fai ifconfig -a , e se vedi eth0, fai un ifconfig eth0 up
-
Se non la vedi, guarda se hai il modulo giusto per la tua scheda. Fai lspci per vedere che scheda di rete hai, e cerca di caricare il modulo.
-
-
Ho risolto !!!!
Il problema era la firewall che bloccava la porta 21.
Ho caricato una serie di regole iptables per sbloccare l'inoltro verso la porta 21 del serverGrazie lo stesso per la disponibilità .