Recommended Posts

Hi.

I am setting up an FTPS server using FileZilla on a Server 2008 R2 VM but I am struggling to get the directory listings up.

I have created the certificate and key password and it imports without any problem into FileZilla (client) but I get the log below

Status: Connection established, initializing TLS...

Status: Verifying certificate...

Status: TLS/SSL connection established, waiting for welcome message...

Response: 220-FileZilla Server version 0.9.41 beta

Response: 220 Welcome to The Swann Group download site.

Command: USER JasonW

Response: 331 Password required for jasonw

Command: PASS *********

Response: 230 Logged on

Command: PBSZ 0

Response: 200 PBSZ=0

Command: PROT P

Response: 200 Protection level set to P

Status: Connected

Status: Retrieving directory listing...

Command: PWD

Response: 257 "/" is current directory.

Command: TYPE I

Response: 200 Type set to I

Command: PORT 84,21,143,150,192,13

Response: 200 Port command successful

Command: MLSD

Response: 150 Opening data channel for directory list.

Response: 425 Can't open data connection.

Error: Failed to retrieve directory listing

Response: 421 Connection timed out.

Error: Connection closed by server

And from the server I get,

(000036)18/12/2012 13:36:49 - (not logged in) (
84.21.**.**
)> Connected, sending welcome message...

(000036)18/12/2012 13:36:49 - (not logged in) (
84.21.**.**
)> SSL connection established

(000036)18/12/2012 13:36:49 - (not logged in) (
84.21.**.**
)> USER JasonW

(000036)18/12/2012 13:36:49 - (not logged in) (
84.21.**.**
)> 331 Password required for jasonw

(000036)18/12/2012 13:36:49 - (not logged in) (
84.21.**.**
)> PASS *********

(000036)18/12/2012 13:36:49 - jasonw (
84.21.**.**
)> 230 Logged on

(000036)18/12/2012 13:36:49 - jasonw (
84.21.**.**
)> PBSZ 0

(000036)18/12/2012 13:36:49 - jasonw (
84.21.**.**
)> 200 PBSZ=0

(000036)18/12/2012 13:36:50 - jasonw (
84.21.**.**
)> PROT P

(000036)18/12/2012 13:36:50 - jasonw (
84.21.**.**
)> 200 Protection level set to P

(000036)18/12/2012 13:36:50 - jasonw (
84.21.**.**
)> PWD

(000036)18/12/2012 13:36:50 - jasonw (
84.21.**.**
)> 257 "/" is current directory.

(000036)18/12/2012 13:36:51 - jasonw (
84.21.**.**
)> TYPE I

(000036)18/12/2012 13:36:51 - jasonw (
84.21.**.**
)> 200 Type set to I

(000036)18/12/2012 13:36:51 - jasonw (
84.21.**.**
)> PORT 84,21,143,150,192,13

(000036)18/12/2012 13:36:51 - jasonw (
84.21.**.**
)> 200 Port command successful

(000036)18/12/2012 13:36:51 - jasonw (
84.21.**.**
)> MLSD

(000036)18/12/2012 13:36:51 - jasonw (
84.21.**.**
)> 150 Opening data channel for directory list.

(000036)18/12/2012 13:37:01 - jasonw (
84.21.**.**
)> 425 Can't open data connection.

(000036)18/12/2012 13:40:02 - jasonw (
84.21.**.**
)> 421 Connection timed out.

(000036)18/12/2012 13:40:02 - jasonw (84.21.**.**)> disconnected.

I have checked all outgoing ports are set to allow all traffic with in the set range.

Any thoughts on what I am missing?

Edited by Intrinsica
: edited at OP's request
Link to comment
https://www.neowin.net/forum/topic/1126484-setting-up-ftps-with-filezilla/
Share on other sites

So your attempting a active connection there - your telling the client to connect to

PORT 84,21,xx,xx,192,13

I snipped out part of that IP, because of privacy concerns - I would suggest you edit that. Anyway you told the server to connect to that IP on port

192*256 + 13 = 49165, since your control channel is inside a encrypted connection (ssl/tls) the helper portion of most firewalls/routers can not open the return port for you.

Also from this

jasonw (84.21.xx.xx)> disconnected

where that is the same IP as your server? Are you attempting this from a loopback forward/nat reflection, ie are you on the same network as your server -- which I would assume is behind a nat? Maybe not? That can cause grief as well. And using the public ip of your router to try and connect where your router wold have to forward/reflect the traffic back into the servers private IP?

So questions for you - is your server behind a nat and really on a private IP? And this 84.21 is your public? Where is your client? is it outside your local network?

Great info when wanting to use ftp

http://slacksite.com/other/ftp.html

This goes over the difference between active and passive connections - which you need to know what your going to be using or allowing, etc. And you need to understand if your firewall/router has helper feature to change private to pubic, and allow the return data channel traffic in the firewall states, etc.

What firewall/router is your server/clients behind - if any?

After the day I am having I can fully believe I did that too (left IP in there), unfortunately I cant edit my previous post so will ask a mod to.

84.21.*.* is the client external IP, the server IP is 194.88.*.*

The server is behind Sonicwall NSA2400`s running in a High availability set up, apparently it is one range inside and one range out, they are 2 devices running in HA mode for resilience so one is effectively in standby. They share an IP inside and out and virtual MAC address, We are going to temporarily fully open the ports tomorrow and see if that 'solves' the issue. At least then we can see if it is firewall or setup. The client is behind a Cisco ASA server.

A little back ground to the project.

We are moving data centres and ISP from our old provider (the 84.21.*.*) to a new DC (a 194.88.*.*) - both are public IP's. Currently all of our web based traffic is exiting through the old provider while I transfer the hosted server services from old to new DC. New routers are due to arrive to connect the 2 new connections for our new ISP, one is web based traffic only with failover to the DC, other is MPLS dedicated connection to hosted servers.

Currently I am testing the access to the web/ftp server from outside the PWAN which is where I am getting this problem.

So,

The server is behind the Sonicwalls with a public IP of 194.88.*.*, private IP is 192.168.200.*. The client is on a separate PWAN using the public IP of 84.21.*.*, private IP is 192.168.11.*.

I am going to take a look at that article tonight and see what I am missing.

So on the client end your helper is not going to be able to see what port your client is listening on for the server to connect back to you because its inside a ssl/tls tunnel

This is the issue with ftps!!

So you could try a passive connection - but then your going to have issues with opening the ports on the server side because again the helper can not see what ports are going to be used.

Take a look at this article

http://wiki.filezill...k_Configuration

You should be able to setup the server side to use specific ports for the active connections - and then forward those on your firewall, etc. Another question for you are you going to be dong Implicit or Explicit. Since you called it ftps and not ftpes I would have think your using Implicit?

You know what is a MUCH EASIER solution -- use SFTP, there is only 1 port involved (22) because its over SSH. You can change that port if you want - but its still only 1 port!! No active/passive **** with split control and data channels. Much easier to work through nat and firewalls with ;)

Think I am gonna stick with FTPS (for now), prefer to fix this and learn a little and if I still cant get it going, will switch to SFTP.

So I have set FileZilla to use a specific port range and have requested the people who manage the server side NAT to fully open these ports to test the connection. Next I need to connect forcing passive mode so it is the client that establishes the data connection. So from that I now get this log from the client.

Status: Connection established, initializing TLS

Status: Verifying certificate

Status: TLS/SSL connection established, waiting for welcome message...

Response: 220-FileZilla Server version 0.9.41 beta

Response: 220 Welcome to The Swann Group download site.

Command: USER JasonW

Response: 331 Password required for jasonw[Command: PASS *********

Response: 230 Logged on

Command: PBSZ 0

Response: 200 PBSZ=0

Command: PROT P

Response: 200 Protection level set to P

Status: Connected

Status: Retrieving directory listing...

Command: PWD

Response: 257 "/" is current directory

Command: TYPE I

Response: 200 Type set to I

Command: PASV

Response: 227 Entering Passive Mode (217,161,**.**,58,153)

Command: MLSD

Error: GnuTLS error -53: Error in the push function

Response: 425 Can't open data connection

Error: Failed to retrieve directory listing

Response: 421 Connection timed out

Error: Connection closed by server

The IP address is completely wrong, not sure where that came from so I am looking into that but it is using the correct port.

Yeah that 217.161 is the IP the server is telling the client to connect too. It should be the same IP you connected too for the control channel connection.

that port would be 58x256 + 153 so 15001

Look in your server settings on where its getting IP from.. Could be going out a different connection your coming into it from? You can set that IP in the same place you set the ports to use for passive.

Well that makes no sense then. Other than if it thinks its local connection? You could try unchecking that and see what IP gets sent back. Clearly your hard coding the IP which is different than what your seeing.

Is it possible your connecting to a different ftp server? Did you try restarting the ftp server once you made that setting?

VICTORY!!

After a reboot and clearing the check box,

Response: 220-FileZilla Server version 0.9.41 beta

Response: 220 Welcome to The Swann Group download site.

Command: USER JasonW

Response: 331 Password required for jasonw

Command: PASS *********

Response: 230 Logged on

Command: PBSZ 0

Response: 200 PBSZ=0

Command: PROT P

Response: 200 Protection level set to P

Status: Connected

Status: Retrieving directory listing...

Command: PWD

Response: 257 "/" is current directory.

Status: Directory listing successful

Not sure if it was the reboot or clearing the check box but as all traffic to and from the FTP server will be from a public address then the box can stay cleared.

Thanks Budman, your help is very much appreciated!.

Glad you got it working, shouldn't have to worry about the checkbox if you don't have local users connecting, etc. But may need it if you do?? Prob put it back and connect from local machine, etc.

Although we are connected via an MPLS PWAN all ftp traffic is routed through a second connection so it should always be a public IP, but definitely worth noting though.

I even got to learn something new about active and passive connections which after the telephone conversation I just had with the managers and owners is quite a feat! Apparently a data centre migration is a simple task and should only take a couple of days.........

Understanding the difference between an active or passive ftp connection is 1st step in wanting to run a ftp server, or even connect to one when NAT is involved or firewalls even if everyone is on same network or fully public connections, etc.

These days most every client is going to be behind a nat - this will change as ipv6 takes hold. So you will run into issues all the time with either active or passive connections. Most firewalls and even home routers have helper features for ftp to allow the data side of the connection - but as you learned with ftps this all changes because the helper can not view the info to either change the IP sent to public vs private and or open the firewall for the connection by working out the ports given in the pasv or port command.

This thread should be a good reference for others looking to do the same thing as well.

This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Posts

    • Google was using the old CATPCHAs data to train their LLMs. What is the say they won't use this camera data of users to train their LLM? these companies need some strict regulations!
    • Depends on what you need. Might be a bit clearer on what you plan to do with it. Sort of a waste if you get the newest and greatest, but don't know how to use it.
    • NTLite 2026.06.11200 by Razvan Serea NTLite is a Windows configuration tool that allows you to modify your existing Windows install or an image yet to be deployed, remove Windows components, configure and integrate, speed up the Windows deployment process. Reduce Windows footprint on your RAM and storage drive memory. Remove components of your choice, guarded by compatibility safety mechanisms, which speed up finding that sweet spot. Windows Unattended feature support, providing many commonly used options on a single page for easy setup. Easily integrate a single or multiple drivers, update or language packages. Package integration features smart sorting, enabling you to seamlessly add packages for integration and the tool will apply them in the appropriate order, keeping hotfix compatibility in check. One of the important new features of NTLite (compared to its predecessors) is the ability to modify an already installed the operating system, by removing unnecessary components. Supports Windows 11, 10, 8.1 and 7, x86 and x64, live and image. Server editions of the same versions, excluding support for component removals and feature configuration. ARM64 image support in the alpha stage. Does not support Checked/Debug, Embedded, IoT editions, nor Vista or XP. NTLite 2026.06.11200 changelog: New Secure Boot Migration support: Verification, certificate staging, and boot-manager/sector update across the Image, Updates, Apply, and Create-ISO pages (2023 CA migration, optional 2011 revocation, Anti-rollback, Boot sector choice etc) Secure Boot Host Readiness: Live host Secure Boot migration monitor and Servicing-task control Option under Image page - C:\Windows row, or load the host as the target - Updates - Secure Boot Image: 'Sort mounted images first' option for the image list in Menu-Settings UI: Hover description card for Components and Unattended pages, selectable text and quick access to Compatibility options Command line: Relay commands into the already-running instance Enables controlling already running NTLite via ntlite.exe Use /NewInstance to launch an additional instance using CLI operations (premium) UI: 'New instance' option via main menu instead of a secondary ntlite.exe prompt Apply: Hide individual Apply-page notes with a per-note dismiss (X), critical excluded Settings: 'Unsigned RDP file launch warnings' tweak (RDP client), bypassing the April 2026 security-update prompt on RDP connections Upgrade Image: Live OS and deployed image editing now unlocked on free/test licenses, same licensing as images Image: 'Recompress' option in manual dialog Remove Editions to shrink the WIM in one session Image: SWM part size set inline on the Apply page and image dialogs, split-size popup retired Image: Relative 'Last change' dates; editions grouped by build time to reduce noise Image: 'Forget - Missing' on the Edit-cache menu to mass drop entries whose folder is gone Components: Root groups reorganized - user-facing groups first, system/critical last Components: Show filter options to view components by Template or App-type, since Apps are now merged into groups Presets: Delete confirmation now lists the multi-selected preset names UI: Design update propagated to the rest of the tool UI: Filter and search match words in any order and partially, better results filtering Components Unattended: Input-locale language derives from the user locale, with an independent keyboard picker, enables combinations previously unavailable Unattended: Input-locale now allows for a user value override Unattended: Localization OOBE WinPE now can be copied with the new WinPE Copy OOBE localization toggle, enter locale settings once for both stages Updates: Downloader greys and locks updates the image already carries (hotfix and MSIX) Updates: Resume interrupted update downloads Command line: Many upgrades, see /?, now prints help to the console or redirected output UI-Translation: Finnish language added, also thanks for Chinese Traditional (Matt), French (tistou77), Italian (clarensio), Russian (RDS), Swedish (1FF), Vietnamese (Vu Anh Vu) Fix Components: Containers removal breaking Apps deployment Components: Microsoft Account had leftovers when Easy Migrate is kept Image: Export to an existing WIM improvements, Append renamed to Merge Image: Improved 26H1 live removal support Image: No more 'X:\ not accessible' popup for certain drives during image scan Presets: Manual image refresh picks up presets added/removed outside the app Tweaks: Disabled visual-effect animations no longer return after first logon on a new profile Tweaks: Live Visual Effects toggles (animations, drag full windows, font smoothing) now apply correctly Download: NTLite 2026.06.11200 | 20.5 MB (Free, paid upgrade available) Link: NTLite Home Page | NTLite Features | Screenshot Get alerted to all of our Software updates on Twitter at @NeowinSoftware
    • Ah. La Fontana De Incontinentia ! Bella ! Bella !
    • Hi everyone, I'm planning a small network upgrade and was wondering how others prepare their networks for future needs. Do you usually invest in higher-speed switches and better cabling from the start, or do you upgrade only when necessary? I'd be interested in hearing what has worked well for you and any lessons you've learned over time. Thanks!
  • Recent Achievements

    • One Year In
      BA the Curmudgeon earned a badge
      One Year In
    • Conversation Starter
      rosiecharles earned a badge
      Conversation Starter
    • First Post
      KMilenkoski1202 earned a badge
      First Post
    • First Post
      carols23 earned a badge
      First Post
    • One Month Later
      Tom Willson earned a badge
      One Month Later
  • Popular Contributors

    1. 1
      +primortal
      504
    2. 2
      +Edouard
      257
    3. 3
      PsYcHoKiLLa
      151
    4. 4
      Steven P.
      93
    5. 5
      macoman
      67
  • Tell a friend

    Love Neowin? Tell a friend!