unable to use passive on ftp

Manolis Kiagias sonicy at otenet.gr
Sat Feb 21 18:15:55 EET 2009


Axel Maroudas wrote:
> καλησπέρα σε όλους.
>
> έχω ένα προβληματάκι σε ένα vsftp @ fedora 10
>
> Από το laptop μου μπορώ κανονικά να κάνω login και ls σε έναν
> οποιοδήποτε ftp
>
> $ ftp ftp.site
> Connected to ftp.site (ip).
> 220---------- Welcome to Pure-FTPd [TLS] ----------
> 220-You are user number 2 of 50 allowed.
> 220-Local time is now 10:21. Server port: 21.
> 220-This is a private system - No anonymous login
> 220-IPv6 connections are also welcome on this server.
> 220 You will be disconnected after 15 minutes of inactivity.
> Name: login at ftp
> 331 User login at ftp OK. Password required
> Password:
> 230 OK. Current restricted directory is /
> Remote system type is UNIX.
> Using binary mode to transfer files.
> ftp> ls
> 227 Entering Passive Mode (208,71,211,157,203,42)
> 150 Accepted data connection
> drwxr-xr-x 20 axel axel 4096 Feb 21 04:20 .
> drwxr-xr-x 20 axel axel 4096 Feb 21 04:20 ..
> -rw------- 1 axel axel 13 Feb 9 23:36 .ftpquota
> 226-Options: -a -l
> 226 1 matches total
>
> Από τα παραπάνω καταλαβαίνω ότι μπορώ με passive mode να μιλήσω με
> έναν ftp
>
> Σε ένα remote fedora 10 έστησα ένα vsftp. Login μπορώ να κάνω
> κανονικά, αλλά τίποτε άλλο :
>
> $ ftp ftp.ip
> Connected to ftp.ip(ip).
> 220 (vsFTPd 2.0.7)
> Name: login at ftp
> 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 (67,23,4,187,247,2).
> ftp: connect: No route to host
>

Όταν συνδέεσαι με passive ftp, το μηχάνημα σου (client) προσπαθεί να
επικοινωνήσει με το server στην θύρα που καθορίζεται από τους δύο
τελευταίους αριθμους που βλέπεις. Στο παραπάνω, η θύρα είναι:

247 * 256 + 2 = 63234

Εδώ τώρα υπάρχουν διάφοροι παράμετροι:

- Το firewall που έχεις στο  server μηχάνημα να μην γνωρίζει για αυτή τη
θύρα και να μην την ανοίγει. Υπάρχει κάποιο module για το iptables,
νομίζω ftp conntrack που κάνει ακριβώς αυτή τη δουλειά.
- Το router που έχεις μπροστά από το server μηχάνημα μπορεί επίσης να
μην αντιλαμβάνεται τι συμβαίνει με αυτές τις θυρές. Και εδώ, ορισμένα
router της αγοράς φαίνεται ότι κάνουν αυτή τη διαδικασία αυτόματα, ενώ
άλλα όχι.

Διάφορες λύσεις:

- Ψάξε για το ftp connection tracking (δεν θυμάμαι τις λεπτομέρειες,
νομίζω είναι ip_conntrack_ftp)
- Έλεγξε τι κάνει το router στο server σου. Ενδεχομένως να βρει
λεπτομέρειες στα log του αν είναι από εκεί το πρόβλημα
- Μπορείς ενδεχομένως να ανοίξεις συγκεκριμένες passive θύρες στον FTP
server σου, τις οποίες να ανοίξεις τόσο στο firewall όσο και στο router
σου (με την αντίστοιχη προώθηση). Για παράδειγμα, στο proftpd αυτό
γίνεται με το directive:

PassivePorts 63000 63050

το οποίο πλέον χρησιμοποιεί μόνο αυτές τις πόρτες για passive ftp.

Φαντάζομαι θα βρεις και κάτι αντίστοιχο για vsftpd




More information about the Linux-greek-users mailing list