Restricting MySQL 3306 port with IPTABLES

Putra Fajar Hasanuddin picture Putra Fajar Hasanuddin · Mar 10, 2014 · Viewed 12.3k times · Source

How to block mysql port 3306 for everybody, but allow it for a specific IP? This is what I currently do:

iptables -I INPUT 1 -p tcp --dport 3306 -j ACCEPT

Answer

peterh - Reinstate Monica picture peterh - Reinstate Monica · Mar 10, 2014

You need multiple rules to do that. In most cases, what will happen with a connection depends on the first rule, which it matches. So, first we accept our friends connection, second, we drop anybody other. Voila!

iptables -I INPUT 1 -p tcp -s 1.2.3.4 --dport 3306 -j ACCEPT
iptables -I INPUT 2 -p tcp --dport 3306 -j DROP