>> I have a nagging feeling that NAT address manipulation may only 
>> happenwith FTP clients, if it fails then people use passive mode.
> 
> This issue happens in passive mode. When FTP client sends PASV 
> command it gets a response which contains private IP address...

Irrelevant, we are talking about two NAT routers here, the client is
almost certainly behind a NAT router using a private IP, and the server
is behind a second NAT router.  In an ideal world, both routers would be
changing the private IP to public IPs, and FTP would just work.  Using
passive mode gets around the client NAT router, but not the server NAT
router.  

My first example is the ICS FTP client behind a NAT router, accessing an
ICS FTP server a public IP.  The client sends a port command with a
private IP: 

00:08:07  Downloading File: /info-2010-09-07.txt 
00:08:07  > PORT 192,168,1,119,236,41
00:08:07  < 200 Port command successful.

but the server receives the command with the public IP and the same port,
because it's been translated by the client NAT router.  

00:08:06 angussha1 [217.146.115.81] [288] < PORT 217,146,115,81,236,41
00:08:06 angussha1 [217.146.115.81] [288] > 200 Port command successful.

I'm not using passive mode, because the NAT router is working properly
and manipulating the control channel.  Note it can not do this with SSL
due to encryption which is why passive mode is needed. 

My second example is accessing the ICS FTP server behind a NAT router,
from an ICS FTP client on the public server.  Non passive mode works
immediately, because there is no NAT. With the client in passive mode ,
it gets this response from the FTP server behind NAT with the public IP:

> PASV
< 227 Entering Passive Mode (217,146,115,84,82,9).

but the server actually sent a private IP, which has been modified by the
NAT router:

12:46:30 angusadmin [217.146.102.131] [11] < PASV 
12:46:30 angusadmin [217.146.102.131] [11] > 227 Entering Passive Mode
(192,168,1,63,82,9).

So my original hypothesis that an FTP server behind a proper NAT router
will work without needing any special commands or manipulation in the
client or server is correct.  I'm using a Sonicwall TZ200 router and
firewall.  However I've not yet tested FTP behind two NAT routers. 

If anyone wants to test against the latest ICS FTP server either on the
public or NAT address, please email and I'll give you logins.  

Angus





--
To unsubscribe or change your settings for TWSocket mailing list
please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket
Visit our website at http://www.overbyte.be

Reply via email to