i have a windows 2003 server hosting websites and ftp that is accessible thru 3 different public ip addresses (60.50.80.69, 60.50.80.70, 60.50.80.71). the primary ip address is 60.50.80.69. windows firewall is turned on.
when i try to ftp to the server thru 60.50.80.71 (secondary ip) using PASV mode, it will always enter into passive mode using the primary ip (60.50.80.69) and not thru the ip that it was initially initiated on (60.50.80.71). Sample FTP log below;
Connect socket #1008 to 60.50.80.71, port 21...
220 Microsoft FTP Service
...
...
...
PASV
227 Entering Passive Mode (60,50,80,69,19,137).
this is not a problem if i use some third party ftp client to connect but i will get an error when i'm using C# to connect. I'm building an application with a simple FTP function. This is the error message that i get when i try to connect using C#;
The server returned an address in response to the PASV command that is different than the address to which the FTP connection was made.
But if i turn off windows firewall. everything will work fine. the PASV connection will be made using the ip it was initiated on and not thru the primary ip.
is there any way that i can get this to work without having to turn off windows firewall? i found a KB (http://support.microsoft.com/kb/817829) from microsoft with the same situation but it only applies to ISA server.
i would really appreciate any help that i can get. thanks