[Twisted-Python] ftp passive mode returning internal IP

Adi Roiban adi at roiban.ro
Tue Nov 20 16:31:31 EST 2012


I don't think there is support for configuring the advertised IP address.
I don't know how EC2 ip forwarding works and how can you retrieve it.

To use another IP address, in FTP.ftp_PASV(), look for the following lines:

        self.dtpPort = self.getDTPPort(self.dtpFactory)

        host = self.transport.getHost().host
        port = self.dtpPort.getHost().port

Just replace 'self.transport.getHost().host' with your required IP or
another method for retrieving the IP address.


On 20 November 2012 22:47, Paul Wiseman <poalman at gmail.com> wrote:
> This possibly has nothing to do with twisted, but maybe if not someone may
> be able to point me in the right direction!
> Basically I've set up a twisted FTP server on ec2, and when a client tries
> to enter passive mode I'm getting this:
> Response: 227 Entering Passive Mode (x,x,x,x,159,122).
> Status: Server sent passive reply with unroutable address. Using server
> address instead.
> the x.x.x.x is the boxes private IP, rather than its public IP.
> It's getting this from ln. 851 in twisted/protocols/ftp.py v12.2.0
> Is there somehow I can change the way twisted is getting the IP, or is this
> an issue with the server set up itself?
> Any pointers or help on what to look/check for would be of huge help!
> Thanks!
> Paul
> _______________________________________________
> Twisted-Python mailing list
> Twisted-Python at twistedmatrix.com
> http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python

Adi Roiban

More information about the Twisted-Python mailing list