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

时间:2013-08-01 19:44:07

标签: mysql networking database-connection firewall 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.x.x.x --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.x.x.x以及127.0.0.1

1 个答案:

答案 0 :(得分:5)

iptables -N mysql #icreql 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.x.x.x -j ACCEPT
iptables -A mysql -j DROP#从其他主机丢弃数据包
iptables -I INPUT -m tcp -p tcp --dport 3306 -j mysql #use packet for packets to MySQL port