Well, it pretty much isn't that weird
As far as i see in that listing the ftp port (21) is only allowed if
- its udp ... the ftp protocol is on tcp
- the connection is either already established or was innitiated from your part
Now, if you don't have some really really weird marking and pre/postrouting rules in the nat table, then you first need to delete that rule about ftp on udp. Do a listing with line numbers to see the rule's number:
Code:
# iptables -L --line-numbers
Then delete the rule by specifieng the rule number:
Code:
# iptables -D INPUT <rule's number from above listing>
Be careful what rule you delete

. Check again by doing an "iptables -L" to see if you deleted the desired one.
Then add a rule that alows incoming connections on tcp port 21 on all interfaces:
Code:
# iptables -A INPUT -p tcp --dport 21 -j ACCEPT
Hope this helped,
Cheers