-1

我想将 2 个外部 IP 地址或端口 3306(mysql)列入白名单,但在运行 mysql-instance 的 debian 服务器上阻止所有其他 IP 地址到端口 3306。两个外部 IP 地址都应该能够连接到 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

4

1 回答 1

5

iptables -N mysql # 为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 # 丢弃来自其他主机的数据包
iptables -I INPUT -m tcp -p tcp --dport 3306 -j mysql # 使用链到 MySQL 端口的数据包

于 2013-08-01T20:12:36.720 回答