ftp non raggiungibile dall'esterno

Pubblicità
Stato
Discussione chiusa ad ulteriori risposte.

e_ale92

Utente Èlite
Messaggi
17,011
Reazioni
5,013
Punteggio
228
salve ragassi,
ho un server samba + ftp su un Odroid C1, connesso in ethernet ad un DGN2200, ma ho un problema.

il server samba funziona alla perfezione, sia da locale che da remoto, mentre il server ftp è raggiungibile solo dalla rete locale.

-porte 20 e 21 aperte in tpc/ucd
-accesso anonimo sul server ftp
-ip statico locale del server 192.168.0.252
-ip messo in dmz ma anche tra le regole di eccezione del firewall del router
-ftp interno del router disabilitato per evitare interferenze
-dyndyns impostato sul router e perfettamente funzionante (ssh o samba) in modo da raggiungere il C1 dall'esterno

questa è la situazione, ma dall'esterno non c'è verso di accedere :(

dove o cosa sbaglio?

@Ottoore @filoippo97
 
salve ragassi,
ho un server samba + ftp su un Odroid C1, connesso in ethernet ad un DGN2200, ma ho un problema.

il server samba funziona alla perfezione, sia da locale che da remoto, mentre il server ftp è raggiungibile solo dalla rete locale.

-porte 20 e 21 aperte in tpc/ucd
-accesso anonimo sul server ftp
-ip statico locale del server 192.168.0.252
-ip messo in dmz ma anche tra le regole di eccezione del firewall del router
-ftp interno del router disabilitato per evitare interferenze
-dyndyns impostato sul router e perfettamente funzionante (ssh o samba) in modo da raggiungere il C1 dall'esterno

questa è la situazione, ma dall'esterno non c'è verso di accedere :(

dove o cosa sbaglio?

@Ottoore @filoippo97
Non sono pratico di pc arm purtroppo... fosse windows ti avrei detto di controllare anche il firewall, ma non ho idea di che cos'abbia un pc arm per controllare gli I/O sull'ethernet...
 
Non sono pratico di pc arm purtroppo... fosse windows ti avrei detto di controllare anche il firewall, ma non ho idea di che cos'abbia un pc arm per controllare gli I/O sull'ethernet...
che sia arm cambia poco. la differenza è che è linux e non windows, ma non penso dipenda dal SO
Mi chiamo fuori, non saprei proprio come aiutarti.
Mi spiace.
grazie lo stesso :(
 
Se fai telnet sulle porte 20 e 21 (da fuori) le trovi aperte o chiuse?
Ah anche la 22 se usi sftp
 
Se fai telnet sulle porte 20 e 21 (da fuori) le trovi aperte o chiuse?
Ah anche la 22 se usi sftp

porta 20:
Codice:
Unable to connect to remote host: Connessione rifiutata

porta 21:
Codice:
220 ...::Welcome to e_ale92 server::... (poi schermo nero e cursore lampeggiante)

porta 22:
Codice:
SSH-2.0-OpenSSH_6.6.1p1 Ubuntu-2ubuntu2.3
Protocol mismatch.
Connection closed by foreign host.

stessa situazione sia dall'interno che da rete 3G
 
Posta il file di configurazione dell'ftp e anche un "netstat -tualpn | grep 21" :)
 
Il server ftp è configurato in active o passive mode ?
Aprire in ingresso al server la porta 20 non serve a nulla in passive non è usata, in active la connessione è dal server alla porta 20 del client.

Configuralo in passive e apri tutte le porte messe in configurazione grossomodo un ventina di porte partendo dalla 50000
 
Ultima modifica:
Posta il file di configurazione dell'ftp e anche un "netstat -tualpn | grep 21" :)

netstat
192.168.0.253 è il portatile dal quale scrivo. il server samba/ftp si trova al 192.168.0.252

Codice:
[FONT=monospace][COLOR=#000000]tcp        0      0 192.168.0.253:38564     74.125.136.1[/COLOR][COLOR=#FF5454][B]21[/B][/COLOR][COLOR=#000000]:80       ESTABLISHED 3156/libpepflashpla  [/COLOR]
tcp        0      0 192.168.0.253:43190     [COLOR=#FF5454][B]21[/B][/COLOR][COLOR=#000000]6.58.[/COLOR][COLOR=#FF5454][B]21[/B][/COLOR][COLOR=#000000]0.206:443      ESTABLISHED 3156/libpepflashpla  [/COLOR]
tcp        0      0 192.168.0.253:48004     [COLOR=#FF5454][B]21[/B][/COLOR][COLOR=#000000]3.254.17.118:80       ESTABLISHED 3156/libpepflashpla  [/COLOR]
tcp        0      0 192.168.0.253:33266     [COLOR=#FF5454][B]21[/B][/COLOR][COLOR=#000000]6.58.[/COLOR][COLOR=#FF5454][B]21[/B][/COLOR][COLOR=#000000]0.205:443      ESTABLISHED 3156/libpepflashpla  [/COLOR]
tcp        0      0 192.168.0.253:43358     [COLOR=#FF5454][B]21[/B][/COLOR][COLOR=#000000]6.58.[/COLOR][COLOR=#FF5454][B]21[/B][/COLOR][COLOR=#000000]0.206:443      ESTABLISHED 3156/libpepflashpla  [/COLOR]
tcp        0      0 192.168.0.253:38122     [COLOR=#FF5454][B]21[/B][/COLOR][COLOR=#000000]6.58.[/COLOR][COLOR=#FF5454][B]21[/B][/COLOR][COLOR=#000000]1.68:80        ESTABLISHED 3156/libpepflashpla  [/COLOR]
tcp        0      0 192.168.0.253:47278     [COLOR=#FF5454][B]21[/B][/COLOR][COLOR=#000000]6.58.[/COLOR][COLOR=#FF5454][B]21[/B][/COLOR][COLOR=#000000]0.206:80       ESTABLISHED 3156/libpepflashpla  [/COLOR]
tcp        0      0 192.168.0.253:43198     [COLOR=#FF5454][B]21[/B][/COLOR][COLOR=#000000]6.58.[/COLOR][COLOR=#FF5454][B]21[/B][/COLOR][COLOR=#000000]0.206:443      ESTABLISHED 3156/libpepflashpla  [/COLOR]
tcp        0      0 192.168.0.253:32770     [COLOR=#FF5454][B]21[/B][/COLOR][COLOR=#000000]6.58.[/COLOR][COLOR=#FF5454][B]21[/B][/COLOR][COLOR=#000000]0.200:80       ESTABLISHED 3156/libpepflashpla  [/COLOR]
tcp        0      0 192.168.0.253:38570     74.125.136.1[COLOR=#FF5454][B]21[/B][/COLOR][COLOR=#000000]:80       ESTABLISHED 3156/libpepflashpla  [/COLOR]
tcp        0      0 192.168.0.253:46788     23.58.[COLOR=#FF5454][B]21[/B][/COLOR][COLOR=#000000]0.250:80        TIME_WAIT   -                    [/COLOR]
tcp        0      0 192.168.0.253:38560     74.125.136.1[COLOR=#FF5454][B]21[/B][/COLOR][COLOR=#000000]:80       ESTABLISHED 3156/libpepflashpla  [/COLOR]
tcp        0      0 192.168.0.253:44540     [COLOR=#FF5454][B]21[/B][/COLOR][COLOR=#000000]6.58.[/COLOR][COLOR=#FF5454][B]21[/B][/COLOR][COLOR=#000000]1.68:443       ESTABLISHED 3156/libpepflashpla  [/COLOR]
tcp        0      0 192.168.0.253:47230     [COLOR=#FF5454][B]21[/B][/COLOR][COLOR=#000000]6.58.[/COLOR][COLOR=#FF5454][B]21[/B][/COLOR][COLOR=#000000]0.232:443      ESTABLISHED 3156/libpepflashpla  [/COLOR]
tcp        0      0 192.168.0.253:38230     [COLOR=#FF5454][B]21[/B][/COLOR][COLOR=#000000]6.58.[/COLOR][COLOR=#FF5454][B]21[/B][/COLOR][COLOR=#000000]1.10:443       ESTABLISHED 3156/libpepflashpla  [/COLOR]
tcp        1      0 192.168.0.253:58602     104.16.[COLOR=#FF5454][B]21[/B][/COLOR][COLOR=#000000].35:80         CLOSE_WAIT  3156/libpepflashpla  [/COLOR]
tcp      274      0 192.168.0.253:35040     23.58.[COLOR=#FF5454][B]21[/B][/COLOR][COLOR=#000000]1.186:443       CLOSE_WAIT  3156/libpepflashpla  [/COLOR]
tcp        0      0 192.168.0.253:43172     [COLOR=#FF5454][B]21[/B][/COLOR][COLOR=#000000]6.58.[/COLOR][COLOR=#FF5454][B]21[/B][/COLOR][COLOR=#000000]0.206:443      ESTABLISHED 3156/libpepflashpla  [/COLOR]
tcp        0      0 192.168.0.253:36880     [COLOR=#FF5454][B]21[/B][/COLOR][COLOR=#000000]3.254.17.176:80       TIME_WAIT   -                    [/COLOR]
tcp      274      0 192.168.0.253:35038     23.58.[COLOR=#FF5454][B]21[/B][/COLOR][COLOR=#000000]1.186:443       CLOSE_WAIT  3156/libpepflashpla  [/COLOR]
tcp        0      0 192.168.0.253:47058     [COLOR=#FF5454][B]21[/B][/COLOR][COLOR=#000000]6.58.[/COLOR][COLOR=#FF5454][B]21[/B][/COLOR][COLOR=#000000]0.206:80       ESTABLISHED 3156/libpepflashpla  [/COLOR]
tcp        0      0 192.168.0.253:44718     [COLOR=#FF5454][B]21[/B][/COLOR][COLOR=#000000]6.58.[/COLOR][COLOR=#FF5454][B]21[/B][/COLOR][COLOR=#000000]1.42:443       ESTABLISHED 3156/libpepflashpla  [/COLOR]
tcp        1      0 192.168.0.253:59430     104.20.[COLOR=#FF5454][B]21[/B][/COLOR][COLOR=#000000].198:80        CLOSE_WAIT  3156/libpepflashpla  [/COLOR]
tcp        0      0 192.168.0.253:45802     [COLOR=#FF5454][B]21[/B][/COLOR][COLOR=#000000]6.58.[/COLOR][COLOR=#FF5454][B]21[/B][/COLOR][COLOR=#000000]1.67:443       ESTABLISHED 3156/libpepflashpla  [/COLOR]
tcp        0      0 192.168.0.253:47194     [COLOR=#FF5454][B]21[/B][/COLOR][COLOR=#000000]6.58.[/COLOR][COLOR=#FF5454][B]21[/B][/COLOR][COLOR=#000000]0.206:80       ESTABLISHED 3156/libpepflashpla  [/COLOR]
tcp        0      0 192.168.0.253:36878     [COLOR=#FF5454][B]21[/B][/COLOR][COLOR=#000000]3.254.17.176:80       TIME_WAIT   -                    [/COLOR]
tcp        0      0 192.168.0.253:43538     [COLOR=#FF5454][B]21[/B][/COLOR][COLOR=#000000]6.58.[/COLOR][COLOR=#FF5454][B]21[/B][/COLOR][COLOR=#000000]1.41:443       ESTABLISHED 3156/libpepflashpla  [/COLOR]
tcp        0      0 192.168.0.253:46784     23.58.[COLOR=#FF5454][B]21[/B][/COLOR][COLOR=#000000]0.250:80        ESTABLISHED 3156/libpepflashpla  [/COLOR]
tcp        0      0 192.168.0.253:46786     23.58.[COLOR=#FF5454][B]21[/B][/COLOR][COLOR=#000000]0.250:80        ESTABLISHED 3156/libpepflashpla  [/COLOR]
tcp      347      0 192.168.0.253:33752     [COLOR=#FF5454][B]21[/B][/COLOR][COLOR=#000000]3.254.17.153:443      CLOSE_WAIT  3156/libpepflashpla  [/COLOR]
tcp        0      0 192.168.0.253:38568     74.125.136.1[COLOR=#FF5454][B]21[/B][/COLOR][COLOR=#000000]:80       ESTABLISHED 3156/libpepflashpla  [/COLOR]
tcp        0      0 192.168.0.253:49632     23.58.[COLOR=#FF5454][B]21[/B][/COLOR][COLOR=#000000]5.205:443       ESTABLISHED 3156/libpepflashpla  [/COLOR]
tcp        0      0 192.168.0.253:43372     [COLOR=#FF5454][B]21[/B][/COLOR][COLOR=#000000]6.58.[/COLOR][COLOR=#FF5454][B]21[/B][/COLOR][COLOR=#000000]0.206:443      ESTABLISHED 3156/libpepflashpla  [/COLOR]
tcp        0      0 192.168.0.253:38566     74.125.136.1[COLOR=#FF5454][B]21[/B][/COLOR][COLOR=#000000]:80       ESTABLISHED 3156/libpepflashpla  [/COLOR]
tcp        0      0 192.168.0.253:38550     74.125.136.1[COLOR=#FF5454][B]21[/B][/COLOR][COLOR=#000000]:80       ESTABLISHED 3156/libpepflashpla  [/COLOR]
tcp        0      0 192.168.0.253:57878     [COLOR=#FF5454][B]21[/B][/COLOR][COLOR=#000000]6.58.[/COLOR][COLOR=#FF5454][B]21[/B][/COLOR][COLOR=#000000]0.195:443      ESTABLISHED 3156/libpepflashpla  [/COLOR]
tcp        0      0 192.168.0.253:38220     [COLOR=#FF5454][B]21[/B][/COLOR][COLOR=#000000]6.58.[/COLOR][COLOR=#FF5454][B]21[/B][/COLOR][COLOR=#000000]1.10:443       ESTABLISHED 3156/libpepflashpla  [/COLOR]
tcp        0      0 192.168.0.253:33236     [COLOR=#FF5454][B]21[/B][/COLOR][COLOR=#000000]6.58.[/COLOR][COLOR=#FF5454][B]21[/B][/COLOR][COLOR=#000000]0.205:443      ESTABLISHED 3156/libpepflashpla [/COLOR]
[/FONT]


vsftpd.conf
Codice:
[FONT=monospace][COLOR=#000000]# Example config file /etc/vsftpd.conf[/COLOR]
#
# The default compiled in settings are fairly paranoid. This sample file
# loosens things up a bit, to make the ftp daemon more usable.
# Please see vsftpd.conf.5 for all compiled in defaults.
#
# READ THIS: This example file is NOT an exhaustive list of vsftpd options.
# Please read the vsftpd.conf.5 manual page to get a full idea of vsftpd's
# capabilities.
#
#
# Run standalone?  vsftpd can run either from an inetd or as a standalone
# daemon started from an initscript.
listen=YES
#
# Run standalone with IPv6?
# Like the listen parameter, except vsftpd will listen on an IPv6 socket
# instead of an IPv4 one. This parameter and the listen parameter are mutually
# exclusive.
#listen_ipv6=YES
#
# Allow anonymous FTP? (Disabled by default)
anonymous_enable=YES
#
# Uncomment this to allow local users to log in.
local_enable=NO
#
# Uncomment this to enable any form of FTP write command.
write_enable=NO
#
# Default umask for local users is 077. You may wish to change this to 022,
# if your users expect that (022 is used by most other ftpd's)
#local_umask=022
#
# Uncomment this to allow the anonymous FTP user to upload files. This only
# has an effect if the above global write enable is activated. Also, you will
# obviously need to create a directory writable by the FTP user.
anon_upload_enable=NO
#
# Uncomment this if you want the anonymous FTP user to be able to create
# new directories.
anon_mkdir_write_enable=NO
#
# Activate directory messages - messages given to remote users when they
# go into a certain directory.
dirmessage_enable=YES
#
# If enabled, vsftpd will display directory listings with the time
# in  your  local  time  zone.  The default is to display GMT. The
# times returned by the MDTM FTP command are also affected by this
# option.
use_localtime=YES
#
# Activate logging of uploads/downloads.
xferlog_enable=YES
#
# Make sure PORT transfer connections originate from port 20 (ftp-data).
connect_from_port_20=YES
#
# If you want, you can arrange for uploaded anonymous files to be owned by
# a different user. Note! Using "root" for uploaded files is not
# recommended!
#chown_uploads=YES
#chown_username=whoever
#
# You may override where the log file goes if you like. The default is shown
# below.
#xferlog_file=/var/log/vsftpd.log
#
# If you want, you can have your log file in standard ftpd xferlog format.
# Note that the default log file location is /var/log/xferlog in this case.
#xferlog_std_format=YES
#
# You may change the default value for timing out an idle session.
#idle_session_timeout=600
#
# You may change the default value for timing out a data connection.
#data_connection_timeout=120
#
# It is recommended that you define on your system a unique user which the
# ftp server can use as a totally isolated and unprivileged user.
#nopriv_user=ftpsecure
#
# Enable this and the server will recognise asynchronous ABOR requests. Not
# recommended for security (the code is non-trivial). Not enabling it,
# however, may confuse older FTP clients.
#async_abor_enable=YES
#
# By default the server will pretend to allow ASCII mode but in fact ignore
# the request. Turn on the below options to have the server actually do ASCII
# mangling on files when in ASCII mode.
# Beware that on some FTP servers, ASCII support allows a denial of service
# attack (DoS) via the command "SIZE /big/file" in ASCII mode. vsftpd
# predicted this attack and has always been safe, reporting the size of the
# raw file.
# ASCII mangling is a horrible feature of the protocol.
#ascii_upload_enable=YES
#ascii_download_enable=YES
#
# You may fully customise the login banner string:
ftpd_banner=...::Welcome to e_ale92 server::...
#
# You may specify a file of disallowed anonymous e-mail addresses. Apparently
# useful for combatting certain DoS attacks.
#deny_email_enable=YES
# (default follows)
#banned_email_file=/etc/vsftpd.banned_emails
#
# You may restrict local users to their home directories.  See the FAQ for
# the possible risks in this before using chroot_local_user or
# chroot_list_enable below.
#chroot_local_user=YES
#
# You may specify an explicit list of local users to chroot() to their home
# directory. If chroot_local_user is YES, then this list becomes a list of
# users to NOT chroot().
# (Warning! chroot'ing can be very dangerous. If using chroot, make sure that
# the user does not have write access to the top level directory within the
# chroot)
#chroot_local_user=YES
#chroot_list_enable=YES
# (default follows)
#chroot_list_file=/etc/vsftpd.chroot_list
#
# You may activate the "-R" option to the builtin ls. This is disabled by
# default to avoid remote users being able to cause excessive I/O on large
# sites. However, some broken FTP clients such as "ncftp" and "mirror" assume
# the presence of the "-R" option, so there is a strong case for enabling it.
#ls_recurse_enable=YES
#
# Customization
#
# Some of vsftpd's settings don't fit the filesystem layout by
# default.
#
# This option should be the name of a directory which is empty.  Also, the
# directory should not be writable by the ftp user. This directory is used
# as a secure chroot() jail at times vsftpd does not require filesystem
# access.
secure_chroot_dir=/var/run/vsftpd/empty
#
# This string is the name of the PAM service vsftpd will use.
pam_service_name=vsftpd
#
# This option specifies the location of the RSA certificate to use for SSL
# encrypted connections.
rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
# This option specifies the location of the RSA key to use for SSL
# encrypted connections.
rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
#
#
#local_root=/mnt/
anon_root=/mnt/
pasv_addr_resolve=YES
pasv_address=[I]ip_dyndns[/I]
[/FONT]

Il server ftp è configurato in active o passive mode ?
Aprire in ingresso al server la porta 20 non serve ha nulla in passive non è usata, in active la connessione è dal server alla porta 20 del client.

Configuralo in passive e apri tutte le porte messe in configurazione grossomodo un ventina di porte partendo dalla 50000

credo sia in passive mode, a giudicare dalle ultime due righe del .conf, aggiunte seguendo il wiki di archlinux

ad ogni modo, ho aggiunto le righe
pasv_enable=Yes
pasv_max_port=50000
pasv_min_port=50020
e ho aperto sul router in tpc/udp le porte da 50000 a 50020 ma non è cambiato nulla :(

N.B. una cosa che ho dimenticato di dirvi è che da locale non riesco ad accedere in ftp al server, usando l'ip pubblico o l'indirizzo dyndns. funziona solo se lo raggiungo al 192.168.0.252

- - - Updated - - -

EDIT. da terminale

Codice:
[FONT=monospace][COLOR=#000000]ftp [I]indirizzo_ip[/I]          (9:41:26)[/COLOR]
Connected to [I]indirizzo_ip[/I]. 
220 ...::Welcome to e_ale92 server::...
Name ([I]indirizzo_ip[/I]:e_ale92): anonymous
331 Please specify the password.
Password:  
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>  
ftp> ls
200 PORT command successful. Consider using PASV.
425 Failed to establish connection.
ftp>  
ftp> ls
200 PORT command successful. Consider using PASV.
425 Failed to establish connection.
ftp> 
[/FONT]
 
EDIT.

rimosse le ultime due righe del mio vsftpd.conf e aggiunte le tre yes/50000/50020 e boh... funziona *_*
sono sul bus e sto tornando a casa e mi son detto "ora faccio una prova" e magicamente FUNZIONA!!!!

*_*

domanda: lascio in passive mode o lo setto in active?
 
EDIT.

rimosse le ultime due righe del mio vsftpd.conf e aggiunte le tre yes/50000/50020 e boh... funziona *_*
sono sul bus e sto tornando a casa e mi son detto "ora faccio una prova" e magicamente FUNZIONA!!!!

*_*

domanda: lascio in passive mode o lo setto in active?
Come vuoi ma in active devi aprire la porta 20 ma in ingresso al client, in passive apri solo lato server.

Per il resto, a volte basta leggere, te lo ha detto quando non funzionava
200 PORT command successful. Consider using PASV. 425 Failed to establish connection.
la traduzione in vulgaris :asd:
PORT command successful = hai chiesto una connessione in active
Consider using PASV = ma perchè non mi setti in passive ?

Attenzione: anche il client deve fare una chiamata in passive

fai le prove in locale fra server e vari client e vedi se ti dice PORT o PASV
 
Ultima modifica:
A volte basta leggere, te lo ha detto quando non funzionava

la traduzione in vulgaris "ma perchè non mi setti in passive ?"

eh lo so, ma quando non si hanno le idee chiare, non sempre si capisce dove leggere o si dà il giusto peso alle parole :)
 
Spiegazione molto blanda (probabili varie inesattezze)

Active mode
client -----> 21 server (client chiama) (forwardare porta 21 su router)
client <----- 21 server (server risponde) (il server risponde e specifica la porta da usare col comando port)
client < ---- 20 server (server chiama) (forwardare porta 102x sul client, quella specificata prima) <--problema
client -----> 20 server (client risponde)

Passive
client -----> 21 server (client chiama) (forwardare porta 21 su router)
client <----- 21 server (server risponde) (e da la porta da usare tipicamente 50000 in su, come da configurazione)
client -----> 50000 server (client chiama) (su una delle porte specificate dal server tipicamente 50000 in su, da forwardare)
client <----- 50000 server (server risponde)

in active devo forwardare una porta sul server (21) e una sul client (quella specificata in PORT)
iin passive devo solo forwardare la porta 21, più altre a scelta (più di una in quanto non sono riutilizzabili)

Entrambi client e server devono usare la stessa modalità
sul client ftp per cambiare da uno all'altra si da il comando passive, i messaggi PORT e PASV identificano come ci si sta collegando

I client classici di default usano active, i client particolari come i browser essendo fatti per internet dove è più comodo il passive di solito per default usano PASV

chicca giusto per complicare le cose
il comando PORT tipicamente mostra 6 numeri, ad esempio
PORT 192,168,150,80,14,178 il significato

primi quattro numeri: ip-address, secondi due porta
192.168.150.80 ip-address
14 178 = in hex 0x0E 0xB2 = 0x0EB2 in decimale: porta 3762
 
Ultima modifica:
Stato
Discussione chiusa ad ulteriori risposte.
Pubblicità
Pubblicità
Indietro
Top