I have two routers set up I my home, the default Verizon router that comes with my ISP and a Linksys EA6350 which I set to cascade my Verizon router. The linksys router also comes with a built in ftp server that I am using with my external hard drive. The problem with this is that since this router is not connected to the Internet, the ftp server is for my LAN only. When i tried to port forward on my Verizon router, I forwarded port 21 and to 192.168.1.4 which is the LAN ip address of the linksys router. But now when I test if the port is open on canyouseeme.org,its showing that port number 21 is blocked. Can someone help me fix this please?
Something may be blocking port 21 for some reason. From what I can google, Verizon doesn't block port 21 but you may wish to try a different control port (e.g. 2222) for the outside connection anyway. This may add a tiny layer of security as well from people scanning port 21 for hackable FTP servers.
Toggle connection modes of your client. There is "active" (PORT) and "passive" (PASV) mode FTP and this essentially governs who gets to tell whom what address/ports to use (the client or the server). This makes a difference. For FTP to work behind Firewalls/NAT, PASV mode is often necessary/preferred.
You may need to open more ports. Port 21 is just a control port. Most data transfer takes place on a range of higher ports (e.g. 9000-10000) which you may have to forward in your router as well (this occurs in "PASV" mode). With "PORT" mode, you may need to open/forward Port 20 for additional data communications.