Problem with ftp server SOLVED ?
Thanasis
thanasis at asyr.hopto.org
Fri Jan 9 16:12:09 EET 2009
Παρατηρώντας τα αναφερόμενα στο
http://www.westworks.ch/~chris/netbsd/NetBSD-NAT-FTP-server.html
και δοκιμάζοντας τώρα να το μεταφέρω σε linux, διαπιστώνω, ότι δεν έχει
κάτι το ιδιαίτερο από πλευράς αναγκών σε iptables ή κάτι άλλο
"linux-specific", και μάλιστα άν δεν υπάρχει firewall στον ftp server,
δεν χρειάζεται καθόλου η χρήση iptables, αλλά για σίγουρα, μόνο οι
δοκιμές θα δείξουν. :-)
Πάντως, μετά από δοκιμή με το wget, που έχει default passive mode,
παίζει, αλλά με firefox (από windoze μηχάνημα) και με ie δεν έπαιξε και
δεν ξέρω γιατί.
Ιδού το setup:
_____
+--------+ _( _) +-------------+ +-----------------+
| Client |--(____ )-------| ADSL router |---| vsftpd (Server) |
+--------+ (_(___) +-------------+ +-----------------+
INTERNET (192.168.0.2)
1) vsftpd server configuration:
Server vsftpd # pwd
/etc/vsftpd
Server vsftpd # ls
email_passwords vsftpd.conf
Server vsftpd # cat vsftpd.conf
pasv_min_port=50000
pasv_max_port=50003
anonymous_enable=YES
banner_file=/etc/WELCOME_BANNER
connect_from_port_20=YES
dirmessage_enable=YES
nopriv_user=ftpsecure
xferlog_enable=YES
# for anonymous uploads with specific email
write_enable=YES
anon_upload_enable=YES
anon_other_write_enable=YES
anon_world_readable_only=NO
hide_ids=YES
secure_email_list_enable=YES
email_password_file=/etc/vsftpd/email_passwords
Server vsftpd # cat email_passwords
passwd-1
passwd-2
passwd-3
...
2) Στον ADSL router κάνουμε forward τις θύρες (tcp):
0.0.0.0/0 port 21 -> 192.168.0.2 port 21
0.0.0.0/0 port 50000 -> 192.168.0.2 port 50000
0.0.0.0/0 port 50001 -> 192.168.0.2 port 50001
0.0.0.0/0 port 50002 -> 192.168.0.2 port 50002
0.0.0.0/0 port 50003 -> 192.168.0.2 port 50003
3) ftp home directory permissions:
Server home # pwd
/home
Server home # ls -ld ftp
drwxr-xr-x 6 root ftp 58 2008-12-08 14:29 ftp
Server home # cd ftp
Server ftp # ls -ld uploads/
drwxr-xr-x 2 ftp root 21 2008-12-29 11:57 uploads/
Server ftp #
4) Τέλος για δοκιμή, από κάποια εξωτερική IP (από την πλευρά του internet)
Δοκιμάζουμε κάποιες url, πχ:
ftp://fpt:passwd-1@Server/
wget ftp://fpt:passwd-1@Server/file1
5) Υπ`όψιν ότι στο περιγραφέν setup:
α) δεν έχουμε σηκωμένο firewall στον Server. Διαφορετικά θα πρέπει να
ανοίξουμε στον firewall τις ίδιες θύρες (21, και 50000 έως 50003)
β) Υπάρχει ο χρήστης ftpsecure (nopriv_user=ftpsecure), ο οποίος έχει
για shell το /bin/false.
γ) Δεν μπορούμε να κάνουμε anonymous login (λόγω των
secure_email_list_enable=YES και
email_password_file=/etc/vsftpd/email_passwords στο config).
δ) τον vsftpd τον τρέχουμε μέσω xinetd (με το εξής configuration):
# cat /etc/xinetd.conf |grep -v \#
defaults
{
log_type = SYSLOG daemon info
log_on_failure = HOST
log_on_success = PID HOST DURATION EXIT
cps = 50 10
instances = 50
per_source = 10
v6only = no
groups = yes
umask = 002
}
includedir /etc/xinetd.d
# cat /etc/xinetd.d/vsftpd |grep -v \#
service ftp
{
socket_type = stream
wait = no
user = root
server = /usr/sbin/vsftpd
server_args = /etc/vsftpd/vsftpd.conf
log_on_success += DURATION
nice = 10
disable = no
}
6) Αυτά... :-)
Άν θέλει κάποιος άς δοκιμάσει κάτι τέτοιο, να μας πεί τις εντυπώσεις του.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.hellug.gr/pipermail/linux-greek-users/attachments/20090109/82c4863b/attachment.htm>
More information about the Linux-greek-users
mailing list