CatFox
Вопрос так сказать на засыпку, вы переадресовываете только 21 порт? Дело в том что для работы фтп нужен еще иногда 19 и всегда 20. Не говорю уже о пассивных портах... Фтп это сложный протокол, заставить его работать с переадресацией можно только при полной переадресации, тоесть все приходит на один ип и все заворачивается на другой, разделить же со 100% работоспособностью, думаю невозможно. Когдато в свое время я пытался такое проделать. Уперся рогами примерно в то что у вас сейчас.
1. Надо отключить нафиг пассивный режим на фтп. так как эта функция перебрасывает клиента на какойнить порт типо 8546, вы не можете знать на какой, следовательно клиент тоже. Вследствии чего он просто теряется (клиент, точнее его конект) так как сервер послал команду типо жду на 8546 порту, клиент сказал понял, но достучатся не смог, а на 21 и 20 его уже никто не ждет так как команду не было..
2. Отключить пассивный режим у клиента в клиенте (у експлотета это просто невозможно сделать) используйте как клиент например WC
3. Желательно всетаки поднять разделение по доменам, чтото типо http протокола, тока немного сложнее. Теоретичиски долджно работать. Сеть такая. Есть домен a.com и а1.com c одним и тем же ип адресов в инете. С домена а1.com все заворачиваем натом на какойнить локальный ип, а с домена a.com оставляем без изменения. вот и получится у вас полная переадресация со всеми пассивными портами.