我有 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