FTP не передает заголовок Host: или чего-то аналогичного, поэтому иметь на одном IP/порту несколько виртуальных FTP-серверов невозможно, надо их разносить по IP или портам или передавать имя хоста в имени пользователя.
В остальном проблем с проксированием FTP нет, например в 3proxy
allow * * internal_host1 20-21,1024-65535
ftppr -hinternal_host1:21 -iexternal_ip -p2101
flush
allow * * internal_host2 20-21,1024-65535
ftppr -hinternal_host2:21 -iexternal_ip -p2102
flush
allow * * internal_host3 20-21,1024-65535
ftppr -hinternal_host3:21 -iexternal_ip -p2103
flush
...
проксирует FTP с порта external_ip:2021 на internal_host1, 2022 на internal_host2, 2023 на internal_host3
либо там же можно проксировать по имени пользователя:
allow * * internal_host1,internal_host2,internal_host3 20-21,1024-65535
ftppr -iexternal_ip -p21
будет проксировать пользователя с именем user@internal_host1 на internal_host1, user@internal_host2 на internal_host2 и т.д.