0

So i'm looking into how to allow users to FTP into different servers just through one domain such as ftp.mysite.com. Each of the servers will be unique in a manner of speaking, running their own processes and users etc.

I was playing with the idea of building a single machine that would be hosted on ftp.mysite.com that would then distribute those uploaded files to the correct server over a high speed lan.

Would it be viable to do this? For example I could create a java server application that would get user details from a SQL database, upload the files to temporary storage on the FTP server and instantly transfer those files off to the correct server and then clean up the temp files.

I've had other ideas such as install an ftp server on each server and get user details from the SQL server but then I believe I wouldn't be able to user a single domain for uploads.

Any comments and criticisms of my current idea welcome :)

Edit: Making my idea clearer.

My main plan was to have a single IP for FTP that users can connect to. This FTP server would then SSH into the correct server and pull a list of files and display it to the user in their FTP client. When an upload occurs it would then be put in a temp folder on the FTP server that is shared across a LAN with the other servers. The FTP server will then copy the uploaded files from the share on the FTP server across a high speed LAN to the correct server.

I want this to be as simple as possible for users to connect and change their files hence the use of a single IP and FTP for uploads.

2 Answers 2

0

Based on your additional info, why not simply run NFS or equivalent filesharing where the FTP server is the NFS/filesharing client ? IE make the FTP location a set of shares so that the client is actually FTP'ing directly onto the disk of the appropriate fileserver based on the directory they FTP into.

This would cut out the need for writing additional code and mean that the FTP files uploaded and downloaded are immediately available and consistent with the servers. You have not mentioned the OS you are using but doing this under Linux is pretty trivial - and there is absolutely nothing stopping an NFS disk being used as a destination for an FTP server.

3
  • So the FTP server will mount directories from each server and then users can FTP into those mounted directories? Commented Jun 22, 2014 at 2:29
  • Yes. (filler text)
    – davidgo
    Commented Jun 22, 2014 at 5:10
  • Great idea thanks. I will most likely use this instead :) Commented Jun 22, 2014 at 14:57
0

I don't think the problem is so much the domain as, I'm guessing, the single IP address behind it.

What you are proposing is, on the face of it, viable, although quite cumbersome and possibly insecure.

As you suspect I doubt you would be able to practically and reliably install FTP on each server and route connections based on username.

You have not given details of your scenario, but I have had a couple of other thoughts depending on your requirements -

  1. You could set up a VPN infrastructure which people would connect to prior to getting FTP access, and either allow them to connect to RFC1918 addresses representing the individual FTP sites or possibly even routing based on source IP. This adds security but complexity depending on how many users.

  2. You might want to make a single FTP site and then NFS mount (or similar) various parts of the filesystem to various machines. You should be able to use usernames to set a root path where files are uploaded to [ depending on your FTP server ]

  3. Is FTP really required ? Maybe you can look at other protocols which are simpler and then associate them with non-default ports (for example SCP/SFTP)

1
  • Great thanks for the reply. I should have made it more clear then. I will edit my main post with more clarity. Commented Jun 22, 2014 at 2:10

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .