[quoted text, click to view] "Anteaus" <Anteaus@discussions.microsoft.com> wrote in message
news:78FBFA40-08F1-4982-A9A0-81C59AC1E312@microsoft.com...
> I think you're all missing the point here, which is that FTP uses TWO
> ports,
> control on a default of 21, and (active mode) data on a default of 20.
>
> The port 20 connection is outbound, hence needs no router mapping.
> However,
> you cannot have two concurrent services both 'owning' port 20 at the same
> time, hence your problem.
It would be a very broken FTP server that bound its control channel to 8001
and its local end of active data channels to port 20.
IIS doesn't do that.
IIS does what the RFCs say it should do - if the control channel is 8001,
then the local end of any active data channel is port 8000.
Now, it's possible that something else is already bound to port 8000, which
could cause a problem.
More likely, the problem is due to a NAT router not recognising that it
needs to translate the IP address or port assignment given in the PORT
command.
Try running "ftp -d servername" from the command line, and watch the
commands going out - you'll see that the PORT command just prior to a data
transfer or file listing uses a local IP address. If the client is behind a
NAT, that NAT needs to be able to translate the PORT commands - and it can
only do that, if it knows that the traffic is FTP. It does this through a
software component called an "Application Layer Gateway" (ALG). The ALG in
most NATs is only sophisticated enough to monitor and modify FTP control
traffic on port 21.
[quoted text, click to view] > In most cases the data default cannot be changed. A workaround however is
> to
> use passive mode, which will allow you to set a range of high-order ports
> for
> data, in the FTP server settings. These ports must also be mapped on the
> router, of course, as they are inbound connections.
You are right that passive mode would help - so would the use of the EPRT
command, or even IPv6, where you don't hide behind a NAT :)
Passive mode is most likely the most usable solution, as long as the FTP
server is not behind a NAT.
[quoted text, click to view] > Either that, or use an SFTP server such as Filezilla Server.
While we're talking about replacing the whole paradigm... If you switch to
SFTP (which is not related to FTP), you will have to get all your users to
switch to an SFTP client.
[quoted text, click to view] > BTW, 'registered ports' don't stand for much as far as private users are
> concerned. They are more of a concern for app-developers who want to
> ensure
> their app doesn't clash with others on the same computer.
Sure they stand for something - a registered port is one less piece of
configuration information for a user to have to enter into their client app.
Alun.
~~~~