Клиенту через NAT можно работать только в пассивном режиме, т.к. при активном FTP сервер открывает исходящее подключение с 20 порта к клиенту, на порт указанный клиентом в команде Port.
При пассивном клиент подключается на 21 порт, после подключается на сообщенные и выделенные сервером порты для пассивного режима.
Примеры:
активный режим на сервере с файерволлом на примере связки G6FTPServer+Outpost :
Код:

- Outpost: G6FTPServer.exe=Входящее TCP на 21 порт; Исходящее TCP с 20 порта
пассивный режим на сервере с файерволлом на примере связки G6FTPServer+Outpost :
Код:

- G6FTPServer: диапазон портов для пассивного режима 60000-600100
- Outpost: G6FTPServer.exe=Входящее TCP на 21 порт; Входящее TCP на 60000-600100 порты
пассивный режим для клиента через Nat на примере WinRoute+известные порты FTP серевера 60000-600100:
Код:

From: Lan
To: WAN
Services: FTP; TCP:60000-600100
Action:Permit
NAT:Default Outgoing Interface
пассивный режим на FTP сервер, через Port Mapping на примере WinRoute+порты FTP сервера 60000-600100:
Код:

From: WAN
To: LAN
Services: FTP; TCP:60000-600100
Action:Permit
MAP:192.168.x.x
активный режим на FTP сервер, через Port Mapping на примере WinRoute:
Код:

From: WAN
To: LAN
Services: FTP
Action:Permit
MAP:192.168.x.x
----------------------------------------
From: 192.168.x.x
To: WAN
Services: TCP:1024-65535
Action:Permit
NAT:Default Outgoing Interface