I'm trying to teach my astaro to enable pasv ftp access to my ftp-server for the outside world.
My Astaro is connected to the Internet via PPPoE (DSL). It has a static DNS Name (eg ftp.somewhere.org) with dynamic IP (aka Dyndns). My FTP Server is located right behind the firewall, has a private IP (192.168.0.100) and is running glftpd.
On my Firewall, I defined the following things:
-----------------------------
NETWORKS
FTP_SERVER 192.168.0.100 255.255.255.255
SERVICES
FTP_PASV tcp 10000:10050 10000:10050
SERVICE GROUPS
ftp FTP
FTP_PASV
NAT-RULES
Name Match parameters SRC translation DST translation
dsl-masq Internal_Network__ -> All / All MASQ__External None
ftp-nat All -> External_Interface__ / FTP None FTP_SERVER
ftp-pasv-nat All -> External_Interface__ / FTP_PASV None FTP_SERVER
PACKET FILTER RULES
From (Client) Service To (Server) Action
Any { ftp } FTP_SERVER Allow
FTP_SERVER { ftp } Any Allow
-----------------------------
Now for the ftp-server part...
glftpd docs say:
pasv_addr [1]
Determines what IP/Host is used for passive mode.
If you want glftpd to bind to this interface (for example, if you use
more than one NIC in the same box and you want passive connections to
not use the default one), just do "pasv_addr x.x.x.x". If you want
glftpd to only report this IP to the client but to bind to the default
interface (as in when your box only has an internal IP and you're using
NAT), do "pasv_addr x.x.x.x 1".
so my glFTPd is configured as follows:
-----------------------------
allow_fxp yes yes yes *
pasv_addr ftp.somewhere.org 1
pasv_ports 10000-10050
-----------------------------
When clients connect to my server the PORT-way it works like a charm.
But the passive way it still does not work... they see my current public IP (since I added the pasv_addr to my config) and get a port in the correct range (in this example 39*256+61=10045).
227 Entering Passive Mode (my,current,public,ip,39,61)
But then they get a "Data Socket Error: Connection refused" error... I don't get whats wrong with my setup...
First, I thought of an error in my Packet Filter rules:
PACKET FILTER RULES
From (Client) Service To (Server) Action
Any { ftp } FTP_SERVER Allow
I think incoming packets would never go to FTP_SERVER but to the EXTERNAL_INTERFACE__, right?
But since I put an ANY ANY ANY ALLOW rule on top of my ruleset with no success this can't be the real 'error'...
Any Ideas (besides "forget the PASV Mode" [:)] )?
This thread was automatically locked due to age.