@wicked_one:
Ok, wenn der Server die Möglichkeit hat, den Data-Port (#20) zu nehmen (und das auch tut), dann kann man den Data-Port auch forwarden. Nimmer funktioniert's über andere Ports:
(die oberen beiden sind die Data-Connections)
Auf das wollte ich eben hinaus, daß der Port ausgehandelt wird (und man ihn nur bedingt vorahnen kann). Im PASV mode sagt der Server: ok, hol Dir die Bytes auf Port soundso ab. Und daraufhin connected der Client eben dorthin. Wenn jener Port aber nicht geforwardet ist (was bei einem random high port eben nimmer geht), kommt der Client mit seiner Data-Connection nie mehr zum Server.
Anders beim active mode, da sagt der Client zum Server: schick mir die Bytes auf Port soundso. Das ist in diesem 1:N-NAT-Szenario eine outgoing connection und die könnte eher hinhauen (wobei ich nicht weiß, ob der Client erwarten darf, daß die Data-Connection vom Port 20 kommt. Wenn er das tut, geht's natürlich wieder nicht).
/al