Passive FTP not working PROFTPD server for external users

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • tha_cow2nd
  • Registratie: Oktober 2009
  • Laatst online: 08-04 17:39
A brief description of my setup.

INTERNET -> SpeedTouch 716 ( 192.168.1.254 ) -> Linux OpenSUSE 10.3 server with IPtables firewall ( 192.168.1.121 )

I forwarded the ports 20,21 3000-3020 in my SpeedTouch modem to 192.168.1.121.

My proftpd.conf ( top part )

ServerName "ProFTPD Baklap servert"
ServerType standalone
#DefaultServer on
PassivePorts 3000 3020
MasqueradeAddress XXX.XXXX.XXX.XXX
#SocketBindTight on
DefaultAddress 192.168.1.121
#IdentLookups off
#UseReverseDNS off
# Port 21 is the standard FTP port.
Port 21

I'm running an Iptables firewall upon my server, created rules to allow traffic to go through the ports 20,21 3000-3020.

But I still cannot create a passive ftp connection to my FTP server

When I check with GRC ( ShieldsUp ) I see that the ports are not firewalled anymore.
(20, 21 are open , 3000-3020 are closed )

When testing with http://www.01ftp.com/index.php I get this error

Unable to switch to the passive mode on FTP server www.dikkevettemeuk.org.

And this comes by in my proftpd log.

192.168.1.121 (174.36.146.89[174.36.146.89]) - mod_cap/1.0: capabilities '= cap_net_bind_service,cap_audit_write+ep'
192.168.1.121 (174.36.146.89[174.36.146.89]) - dispatching POST_CMD command 'PASS (hidden)' to mod_delay
192.168.1.121 (174.36.146.89[174.36.146.89]) - dispatching POST_CMD command 'PASS (hidden)' to mod_log
192.168.1.121 (174.36.146.89[174.36.146.89]) - dispatching POST_CMD command 'PASS (hidden)' to mod_ls
192.168.1.121 (174.36.146.89[174.36.146.89]) - dispatching POST_CMD command 'PASS (hidden)' to mod_auth
192.168.1.121 (174.36.146.89[174.36.146.89]) - dispatching POST_CMD command 'PASS (hidden)' to mod_xfer
192.168.1.121 (174.36.146.89[174.36.146.89]) - dispatching POST_CMD command 'PASS (hidden)' to mod_core
192.168.1.121 (174.36.146.89[174.36.146.89]) - dispatching LOG_CMD command 'PASS (hidden)' to mod_log
192.168.1.121 (174.36.146.89[174.36.146.89]) - dispatching LOG_CMD command 'PASS (hidden)' to mod_auth
192.168.1.121 (174.36.146.89[174.36.146.89]) - USER usa: Login successful.
192.168.1.121 (174.36.146.89[174.36.146.89]) - dispatching PRE_CMD command 'PASV' to mod_core
192.168.1.121 (174.36.146.89[174.36.146.89]) - dispatching PRE_CMD command 'PASV' to mod_core
192.168.1.121 (174.36.146.89[174.36.146.89]) - dispatching CMD command 'PASV' to mod_core
192.168.1.121 (174.36.146.89[174.36.146.89]) - in dir_check_full(): path = '/', fullpath = '/srv/ftp/ftp_dirs/usa/'.
192.168.1.121 (174.36.146.89[174.36.146.89]) - Entering Passive Mode (XXX,XXX,XXX,XXX,11,188).
192.168.1.121 (174.36.146.89[174.36.146.89]) - dispatching LOG_CMD command 'PASV' to mod_log
192.168.1.121 (174.36.146.89[174.36.146.89]) - FTP session closed.


Entering Passive Mode (XXX,XXX,XXX,XXX,11,188)

This looks good to me, 118256 + 188 = 3004 ( that is a port that I configured to be passive )


Any ideas?

Thanks in advance

echt niet zo


Acties:
  • 0 Henk 'm!

  • SandStar
  • Registratie: Oktober 2002
  • Laatst online: 19-05 16:34

SandStar

DPC-Crew

Zandster

voertaal is nederlands hier :)

Acties:
  • 0 Henk 'm!

  • Tim
  • Registratie: Mei 2000
  • Laatst online: 18-03 14:00

Tim

Je zou kunnen beginnen met in het Nederlands posten. En vermelden wat er mis gaat, want ik zie nergens dat het niet werkt.
Weet je zeker dat je firewall goed is? Heb je ip_conntrack_ftp geladen?

Acties:
  • 0 Henk 'm!

  • tha_cow2nd
  • Registratie: Oktober 2009
  • Laatst online: 08-04 17:39
Thanks for the reply.

Als ik lsmod | grep ftp doe dan heb ik een aantal modules geladen die iets
met ftp te maken hebben.

hertogjan:/usr/src/linux # lsmod | grep ftp
nf_nat_ftp 2448 0
nf_conntrack_ftp 6580 1 nf_nat_ftp
nf_nat 16436 2 iptable_nat,nf_nat_ftp
nf_conntrack 56580 6 iptable_nat,nf_nat_ftp,nf_conntrack_ftp,xt_state,nf_nat,nf_conntrack_ipv4

hertogjan:/usr/src/linux # uname -a
Linux hertogjan 2.6.30.2-custom #2 PREEMPT Sat Jul 25 02:52:57 CEST 2009 i686 athlon i386 GNU/Linux

hertogjan:/usr/src/linux # cat /etc/SuSE-release
openSUSE 10.3 (i586)
VERSION = 10.3

Wat betreft waar het mis gaat, ik kan met de Web ftp client van 01ftp.com geen passive verbinding maken.
Meer meldingen dan

Unable to switch to the passive mode on FTP server www.dikkevettemeuk.org.

geeft dat ding ook niet.

Als ik van een externe server een ftp verbinding probeer op te zetten krijg ik dit.

220 ProFTPD 1.3.3rc2 Server (ProFTPD #### ######) [XXXX.XXX.XXX.XXXX]
Name (dikkevettemeuk.org:usert): usa
331 Password required for usa
Password:
230 beetje rustig an op mien server
Remote system type is User.
ftp> passive
Passive mode: off; fallback to active mode: off.
ftp> passive
Passive mode: on; fallback to active mode: on.
ftp> ls
257 "/" is the current directory
parse error!
ftp> ls
229 Entering Extended Passive Mode (|||3014|)
229 Entering Extended Passive Mode (|||3002|)
200 EPRT command successful
ftp> ls
425 Unable to build data connection: Connection refused
200 EPRT command successful
200 PORT command successful
ftp>

Mijn firewalls zijn goed geconfigureerd, ik krijg als ik een scan doe met ShieldsUp de poorten 20,21 open te zien, en de poorten 3000-3020 zijn closed.

echt niet zo


Acties:
  • 0 Henk 'm!

  • Stacheldraht
  • Registratie: Januari 2008
  • Laatst online: 14-04-2020

Stacheldraht

Frankfurt am Main

sftp gebruiken dan zit je niet met die firewall ellende ;)

Alles hat ein Ende nur die Wurst hat zwei


Acties:
  • 0 Henk 'm!

  • gdl
  • Registratie: Oktober 2003
  • Laatst online: 26-05 12:28

gdl

Zijn de passive poorten 3000 - 3020 wel open in je firewall?

Acties:
  • 0 Henk 'm!

  • CAPSLOCK2000
  • Registratie: Februari 2003
  • Laatst online: 13:53

CAPSLOCK2000

zie teletekst pagina 888

Heb je de poorten "gewoon" geforward, of heb je ze specifiek als FTP geforward.
FTP kun je namelijk niet gewoon NAT'ten, maar je hebt een aparte hulp-module nodig.

Het probleem is dat een FTP server/client elkaar hun adres vertellen. Alleen zo'n server/client weet niet dat ie geNAT is, en geeft dus z'n interne adres. Je hebt een aparte helper module nodig die FTP snapt om die adressen on-the-fly aan te passen.

Ik zie dat je wel de nf_conntrack_ftp module geladen hebt, dus ik vermoed dat je vergeet om hem ook aan een bepaalde poort te hangen, bijvoorbeeld door het volgende in /etc/modules.conf op te nemen:

options nf_conntrack_ftp ports=21,3000

This post is warranted for the full amount you paid me for it.


Acties:
  • 0 Henk 'm!

  • Tim
  • Registratie: Mei 2000
  • Laatst online: 18-03 14:00

Tim

Ah, ja.. Het probleem is echter dat dat die NAT plaatsvindt op het speedtouch modem.

http://ubuntuforums.org/showthread.php?t=39566

[ Voor 5% gewijzigd door Tim op 26-10-2009 17:26 ]


Acties:
  • 0 Henk 'm!

  • tha_cow2nd
  • Registratie: Oktober 2009
  • Laatst online: 08-04 17:39
Thanks for all replies!

SFTP is idd ook een oplossing, maar ftp is om grote files te doen toch wat geschikter
en ik ben dan ook wel weer zo om nog even door te zetten of ik FTP werkend kan krijgen.

options nf_conntrack_ftp ports=21,3000 is bij mij niet nodig, wat ik uit de
beschrijving van deze module tegenkwam is dat je dit alleen hoeft te doen
als je ftp server niet op poort 21 luistert.


Als ik nu een FTP sessie open vanaf een remote server ( check below )

Remote system type is User.
ftp> ls
257 "/" is the current directory
parse error!
ftp> ls
229 Entering Extended Passive Mode (|||3012|)
229 Entering Extended Passive Mode (|||3008|)
200 EPRT command successful
ftp> dir
425 Unable to build data connection: Connection refused
200 EPRT command successful
200 PORT command successful
ftp> dir
425 Unable to build data connection: Connection refused
ftp> dir
200 PORT command successful
200 PORT command successful
ftp> ls
425 Unable to build data connection: Connection refused


Dan krijg ik op mijn ftp server met TCPdump deze output

hertogjan:~ # tcpdump -pni eth1 -s 1500 -T rtp -vvv dst portrange 3000-3020
tcpdump: listening on eth1, link-type EN10MB (Ethernet), capture size 1500 bytes
23:37:57.701355 IP (tos 0x0, ttl 58, id 44515, offset 0, flags [DF], proto TCP (6), length 60) XXX.XXX.XXX>XXX.18391 > 192.168.1.121.3019: S, cksum 0x2d8b (correct), 2469479486:2469479486(0) win 5840 <mss 1380,sackOK,timestamp 1187896601 0,nop,wscale 1>
23:37:57.746322 IP (tos 0x0, ttl 58, id 44516, offset 0, flags [DF], proto TCP (6), length 52) XXX.XXX.XXX>XXX.18391 > 192.168.1.121.3019: ., cksum 0x6e4e (correct), 2469479487:2469479487(0) ack 600057346 win 2920 <nop,nop,timestamp 1187896621 618367573>
23:37:57.753259 IP (tos 0x0, ttl 58, id 44517, offset 0, flags [DF], proto TCP (6), length 52) XXX.XXX.XXX>XXX.18391 > 192.168.1.121.3019: F, cksum 0x6e4b (correct), 0:0(0) ack 1 win 2920 <nop,nop,timestamp 1187896623 618367573>

En op mijn SpeedTouch modem komt dit in de logs


01:16:09 (since last boot) FIREWALL rule : Protocol: TCP Src ip: XXX.XXX.XXX.XXX Src port: 18391 Dst ip: 192.168.1.121 Dst port: 3019 Chain: forward_host_service Rule Id: 15 Action: accept
01:16:01 (since last boot) FIREWALL rule : Protocol: TCP Src ip: XXX.XXX.XXX.XXX Src port: 18390 Dst ip: 192.168.1.121 Dst port: 21 Chain: forward_host_service Rule Id: 13 Action: accept

Ik snap der echt geen peop meer van, anyone. any idea what to check next?

echt niet zo

Pagina: 1