You need to forward Port 20 traffic to the DNS if you intend to write to the DNS from outside your NAT'ed LAN.
I installed my first ftp server as part of a Y2K project - it's behind a Cisco SOHO91 NAT firewall/router and it's been running all this time without port 20 forwarded - I've also used the ftp server on my DNS-323 from time to time for both upload and download (ie writing and reading) and port 20 is not fowarded through my firewall.
In short - I've been doing this for the better part of a decade and I have NEVER, EVER forwarded port 20 - it's not required.
Here's why ....
Port forwarding is ONLY required to permit a connection request originating
outside the NAT router to be made, if the port is not forwarded, the router does not know which of the private hosts the request is destined for and will discard it - all connection requests originating
inside the NAT router are allowed
by default.
With ACTIVE ftp - port 21 MUST be forwarded to allow the
inbound control channel to the DNS-323 be established - once the control channel has been established, when the time comes to establish the data channel -
if active ftp is being used, the connection request originates with the DNS-323 which is on the inside of the NAT router and which will be allowed through by default.Port forwarding for port 20 is NOT required when ACTIVE ftp is used.
With PASSIVE ftp - port 21 MUST be forwarded to allow the
inbound control channel to the DNS-323 be established - once the control channel has been established, when the time comes to establish the data channel -
if passive ftp is being used, the connection request originates with ftp client which is on the outside of the NAT router and a second port has to be forwarded to the ftp server - this second port is usually above 1024 - port 20 is not normally used as the data channel with passive ftp.Port forwarding for port 20 is NOT normally required when PASSIVE ftp is used.