You can't its impossible , use HTTP server like Apache, really it technically impossible behind a NAT device like your home hub. This is how FTP works
mode 1 -Active
FTP server's port 21 from anywhere (Client initiates connection)
FTP server's port 21 to ports > 1023 (Server responds to client's control port)
FTP server's port 20 to ports > 1023 (Server initiates data connection to client's data port)
FTP server's port 20 from ports > 1023 (Client sends ACKs to server's data port)
mode 2-Passive
FTP server's port 21 from anywhere (Client initiates connection)
FTP server's port 21 to ports > 1023 (Server responds to client's control port)
FTP server's ports (20)> 1023 from anywhere (Client initiates data connection to random port specified by server)
FTP server's ports (20)> 1023 to remote ports > 1023 (Server sends ACKs (and data) to client's data port)
All of the >1023 port are dynamically generated, and conflict with NAT, which rewrites these no.s.
You can't port-forward dynamically generated ports, even if you configure your server to only use one outgoing port you can't do that on the client too. Using passive mode allows a client to bypass their firewall, but if two NAT devices are involved not really possible.
Hopefully thats clear if you don't believe me read this:
http://www.enterprisedt.com/products/edtftpjssl/doc/manual/html/howtoftpthroughafilewall.html
Use Apache as a file server. Its not too difficult to setup. With DAV module you can edit file also.