[quoted text, click to view] "felix" <felix(NO-SPAM)@eastop.com> wrote in message
news:%23MYqgj4$EHA.3924@TK2MSFTNGP15.phx.gbl...
>I found out that IIS will return its private IP when it responses to PASV
>mode, instead of using its public IP address. However, it just happens to
>one of my client site only. I have another IIS FTP server in another site,
>and it can return the correct public IP in responding to PASV command, and
>therefore passive mode can be used successfully.
>
> So what judges IIS to respond with a private or public IP?
IIS always responds with its private IP.
Actually, to be more pedantic, IIS always responds with the IP that the
client connected to it at. IIS doesn't know about private or public, it
just knows "I received a TCP connection on a.b.c.d, so that's what I'll use
in PASV responses".
What translates this is the NAT router - the device where you actually
distinguish between those "private" and "public" addresses.
If your NAT router isn't translating these, there are two common reasons:
1. It isn't up to date with current firmware - as far as I am aware, all NAT
routers can be updated to handle FTP traffic on port 21.
2. Your FTP server isn't bound to port 21 on both sides of the NAT. As a
result, your NAT doesn't know that it's supposed to translate FTP packages.
Alun.
~~~~
--
Software Design Engineer, Internet Information Server (FTP)
This posting is provided "AS IS" with no warranties, and confers no rights.