如何使用ip-tables将2个IP地址列入白名单并阻止其他所有内容?

iti*_*nce 0 mysql networking firewall database-connection iptables

我想将2个外部ip-adresses vor端口3306(mysql)列入白名单,但阻止所有其他IP地址到运行mysql-instance的debian服务器上的端口3306.两个外部ip-adresses都应该能够连接到mysql-server.

iptables中最好的方法是什么?

我做了什么:

/ sbin/iptables -A INPUT -p tcp -d 127.0.0.1 --dport 3306 -j ACCEPT

/ sbin/iptables -A INPUT -p tcp -d 1.1.1.1.1 --dport 3306 -j ACCEPT

/ sbin/iptables -A INPUT -p tcp -d 85.xxx --dport 3306 -j ACCEPT

(1.1.1.1是一个内部ip,为了安全目的在这里掩盖)

##阻止所有与3306的连接##

/ sbin/iptables -A INPUT -p tcp --dport 3306 -j DROP

发生了什么:

每个外部IP都被锁定,无法连接

会发生什么:

每个外部IP都将被锁定,但不能连接但不能连接1.1.1.1和85.xxx以及127.0.0.1

小智 5

iptables -N mysql
#screate chain for mysql iptables -A mysql --src 127.0.0.1 -j ACCEPT
iptables -A mysql --src 1.1.1.1.1 -j ACCEPT
iptables -A mysql --src 85.xxx -j ACCEPT
iptables -A mysql -j DROP#drop from other hosts
iptables -I INPUT -m tcp -p tcp --dport 3306 -j mysql #use chain for packets to MySQL port