iptables 不允许我从远程服务器连接到 mysql

iptables 不允许我从远程服务器连接到 mysql

我有 2 台服务器,DB_server(1.1.1.1)和 app_server(2.2.2.2)

在 DB_server 上为 app_server 创建了一个用户(主机名为 2.2.2.2)但是我无法从 app_server 连接到 db_server。

当我关闭 db_server 上的 iptables 时,我能够正常连接。因此,我认为问题出在 db_server 上的 iptables 上。

db_server 上的 bind-address 为 0.0.0.0,正常运行。

这是我目前为止从 app_server 所做的,在 db_server 上启用了 iptables:

# telnet 1.1.1.1 3306
Trying 1.1.1.1...
telnet: connect to address 1.1.1.1: No route to host

在 db_server 上禁用 iptables:

# telnet 1.1.1.1 3306
Trying 1.1.1.1...
Connected to 1.1.1.1.
Escape character is '^]'.
R

所以这意味着我不需要 iptables 就能顺利连接。

这是 db_server 上的 iptables -S

# iptables -S
-P INPUT ACCEPT
-P FORWARD ACCEPT
-P OUTPUT ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 443 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 8001 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 10081 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 21 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 10090:10100 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A INPUT -s 2.2.2.2/32 -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT
-A FORWARD -j REJECT --reject-with icmp-host-prohibited

我已经尝试让它工作了一段时间,想出了这个来允许来自 2.2.2.2 的连接,但在 iptables-save 之后它不起作用

-A INPUT -s 2.2.2.2/32 -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT

我有点迷茫,我觉得我做的是正确的事情,但没有效果...有什么指点吗?

答案1

更新您的规则如下:

 -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
 -A INPUT -p icmp -j ACCEPT
 -A INPUT -i lo -j ACCEPT
 -A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
 -A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
 -A INPUT -p tcp -m state --state NEW -m tcp --dport 443 -j ACCEPT
 -A INPUT -p tcp -m state --state NEW -m tcp --dport 8001 -j ACCEPT
 -A INPUT -p tcp -m state --state NEW -m tcp --dport 10081 -j ACCEPT
 -A INPUT -p tcp -m state --state NEW -m tcp --dport 21 -j ACCEPT
 -A INPUT -p tcp -m tcp --dport 10090:10100 -j ACCEPT
 -A INPUT -s 2.2.2.2/32 -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT
 -A INPUT -j REJECT --reject-with icmp-host-prohibited
 -A FORWARD -j REJECT --reject-with icmp-host-prohibited

相关内容