I would suggest you take a closer look at your rules and tighten them down to only allow what is really needed instead of allowing everything.
As you have not posted any of your rules this might not work 100% as it relies on having a stateful firewall.
If you have a stateless firewall then you might want to go with sunnysthakur's reply.
Basically this is what you are looking for when using a stateful firewall.
You will want to place these before any drop statement:
Code:
-A INPUT -s x.x.x.x -p icmp --icmp-typs 8 -j ACCEPT
-A INPUT -s x.x.x.x -p tcp -m conntrack --ctstate NEW -m tcp --dport 21 -j ACCEPT
Make sure you load [i]"ip_conntrack_ftp"[i] to ensure that FTP is allowed to use port 20 for data transfer.