mysql-server为192.168.1.3,只允许192.168.1.4, 192.168.1.5, 192.168.1.6来访问3306端口
在my.cnf中
bind-address = 0.0.0.0
在访问3306端口的主机中,只允许192.168.1.4-6,其他ip一律DROP掉
/sbin/iptables -A INPUT -p tcp -s 192.168.1.4 --dport 3306 -j ACCEPT
/sbin/iptables -A INPUT -p tcp -s 192.168.1.5 --dport 3306 -j ACCEPT
/sbin/iptables -A INPUT -p tcp -s 192.168.1.6 --dport 3306 -j ACCEPT
/sbin/iptables -A INPUT -p tcp --dport 3306 -j DROP
或
/sbin/iptables -A INPUT -p tcp --dport 3306 ! -s 192.168.1.4 -j DROP
/sbin/iptables -A INPUT -p tcp --dport 3306 ! -s 192.168.1.5 -j DROP
/sbin/iptables -A INPUT -p tcp --dport 3306 ! -s 192.168.1.6 -j DROP
保存防火墙规则
service iptables save
查看INPUT链包含3306的规则
echo -e "target prot opt source destination\n$(iptables -L INPUT -n | grep 3306)"
这样就实现了mysql只允许指定ip访问。