Common operational misconceptions

Jimmy Hess mysidia at gmail.com
Mon Feb 20 01:09:49 UTC 2012


On Sun, Feb 19, 2012 at 6:24 PM, Owen DeLong <owen at delong.com> wrote:
> I have 15 FTP servers and 22 web servers behind it.
> I want people to be able to go to ftp://<hostname> and/or http://<hostname> for each of them.

For HTTP;  You put a device on that one IP that will accept each TCP
connection,  await the SNI or Host  header from the client,   and then
make/forward  the connection to a proper server for that hostname.
The public IP address belongs to the FTP/HTTP  "service"  instead of
belonging to a server.


For FTP,  send to a desired FTP server based on the login username or
otherwise make a SRV record for the  _ftp  service for each hostname,
 and   set aside a TCP port for each FTP service's control connection.

The   ftp://user@<hostname>   approach  or the
ftp://user@<basehostname>/<hostname>/  is  probably more convenient
than ftp://<hostname>:<1234>, since many clients do not support SRV
records.

The problem is with the FTP protocol not supporting virtual hosting,
though;  this missing FTP feature is not a NAT problem per se.

The VHOST problem was solved with HTTP a long time ago.
It's just that FTP is a lot less popular / fell into some disuse,  so
the deficiency  (lack of virtual hosting support)   was  never
corrected -- and the protocol hasn't had a single update in a long
time.

So you'll have to have a workaround to do 15 FTP servers with one
global IP,  because your circumstance is so unusual,  that's just
life.

--
-JH




More information about the NANOG mailing list