Hello All.

I have changed the iptables to only do port 21:

*DNAT       udp  --  anywhere             anywhere            udp
dpt:snmptrap to:10.101.64.144:10162*

and I added the line *dataConnFactory.setPassivePorts("30000 - 30200"); *to
my server code, and I am still getting the same connection problem:

*14:05:31,261 INFO  [FtpLoggingFilter] OPENED
14:05:31,261 INFO  [FtpLoggingFilter] SENT: 220 Service ready for new user.

14:05:31,311 INFO  [FtpLoggingFilter] RECEIVED: USER FTPROOT
14:05:31,311 INFO  [FtpLoggingFilter] SENT: 331 User name okay, need
password for FTPROOT.

14:05:31,363 INFO  [FtpLoggingFilter] RECEIVED: PASS *****
14:05:31,364 INFO  [PASS] Login success - FTPROOT
14:05:31,364 INFO  [FtpLoggingFilter] SENT: 230 User logged in, proceed.

14:05:31,410 INFO  [FtpLoggingFilter] RECEIVED: PWD
14:05:31,411 INFO  [FtpLoggingFilter] SENT: 257 "/" is current directory.

14:05:31,458 INFO  [FtpLoggingFilter] RECEIVED: CWD ANPR_S501
14:05:31,459 INFO  [FtpLoggingFilter] SENT: 250 Ok

14:05:31,502 INFO  [FtpLoggingFilter] RECEIVED: CWD TestConn
14:05:31,503 INFO  [FtpLoggingFilter] SENT: 250 Ok

14:05:31,549 INFO  [FtpLoggingFilter] RECEIVED: EPSV
14:05:31,550 INFO  [FtpLoggingFilter] SENT: 229 Entering Passive Mode
(|||30000|)

14:05:31,655 INFO  [FtpLoggingFilter] RECEIVED: PASV
14:05:31,656 INFO  [FtpLoggingFilter] SENT: 227 Entering Passive Mode
(10,101,64,144,117,48)

14:05:31,909 WARN  [FtpLoggingFilter] EXCEPTION :
java.io.IOException: Connection reset by peer
        at sun.nio.ch.FileDispatcher.read0(Native Method)
        at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:21)
        at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:233)
        at sun.nio.ch.IOUtil.read(IOUtil.java:206)
        at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:207)
        at
org.apache.mina.transport.socket.nio.NioProcessor.read(NioProcessor.java:179)
        at
org.apache.mina.transport.socket.nio.NioProcessor.read(NioProcessor.java:41)
        at
org.apache.mina.core.polling.AbstractPollingIoProcessor.read(AbstractPollingIoProcessor.java:585)
        at
org.apache.mina.core.polling.AbstractPollingIoProcessor.process(AbstractPollingIoProcessor.java:563)
        at
org.apache.mina.core.polling.AbstractPollingIoProcessor.process(AbstractPollingIoProcessor.java:552)
        at
org.apache.mina.core.polling.AbstractPollingIoProcessor.access$400(AbstractPollingIoProcessor.java:56)
        at
org.apache.mina.core.polling.AbstractPollingIoProcessor$Processor.run(AbstractPollingIoProcessor.java:891)
        at
org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnable.java:64)
        at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:651)
        at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:676)
        at java.lang.Thread.run(Thread.java:595)
14:05:31,909 ERROR [DefaultFtpHandler] Exception caught, closing session
java.io.IOException: Connection reset by peer
        at sun.nio.ch.FileDispatcher.read0(Native Method)
        at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:21)
        at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:233)
        at sun.nio.ch.IOUtil.read(IOUtil.java:206)
        at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:207)
        at
org.apache.mina.transport.socket.nio.NioProcessor.read(NioProcessor.java:179)
        at
org.apache.mina.transport.socket.nio.NioProcessor.read(NioProcessor.java:41)
        at
org.apache.mina.core.polling.AbstractPollingIoProcessor.read(AbstractPollingIoProcessor.java:585)
        at
org.apache.mina.core.polling.AbstractPollingIoProcessor.process(AbstractPollingIoProcessor.java:563)
        at
org.apache.mina.core.polling.AbstractPollingIoProcessor.process(AbstractPollingIoProcessor.java:552)
        at
org.apache.mina.core.polling.AbstractPollingIoProcessor.access$400(AbstractPollingIoProcessor.java:56)
        at
org.apache.mina.core.polling.AbstractPollingIoProcessor$Processor.run(AbstractPollingIoProcessor.java:891)
        at
org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnable.java:64)
        at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:651)
        at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:676)
        at java.lang.Thread.run(Thread.java:595)
14:05:31,909 INFO  [FtpLoggingFilter] CLOSED*


I can see the change in port on the *14:05:31,550 INFO  [FtpLoggingFilter]
SENT: 229 Entering Passive Mode (|||30000|) *line (the 30000).

Still not working :-(

On Fri, Mar 12, 2010 at 1:56 PM, Niklas Gustavsson <[email protected]>wrote:

> On Fri, Mar 12, 2010 at 2:46 PM, Niklas Gustavsson <[email protected]>
> wrote:
> > In these case, are you really running behind iptables? Because, it
> > struck me that since you map the ports, the client will try to connect
> > to the server on 10120 since that's what the server told him to do in
> > the response to the PASV command. He will not know to connect on port
> > 20.
>
> That being said, we currently support providing an "external" IP
> address for passive connection, for use when we're behind a NAT. But,
> we do not support providing an "external" port, for this kind of use.
> We surely could, if people are really interested in port mapping
> passive connections. I doubt it is that useful, but who knows :-)
>
> /niklas
>

Reply via email to