Что надо сделать? Чтоб юзера ходили на внешние ftp-сервера в passive mode?
Обкатано на OpenBSD.
$ExtIF -- имя внешней сетевухи.
pf.conf:
block in on $ExtIF all
block out on $ExtIF all
pass out on $ExtIF inet proto tcp all flags S/SA modulate state
pass out on $ExtIF inet proto { udp, icmp } all keep state
nat.conf:
rdr on $IntIF from any to any port 21 -> 127.0.0.1 port 8081
Плюс собрать из портов и настроить ftp-proxy (может, для passive и не надо, но для active ftp нужно обязательно). Да, точно, для пассива ftp-proxy и запись rdr не нужны.
Вся соль в modulate state и keep state.