允许通过内部 IP 进行数据库通信

允许通过内部 IP 进行数据库通信

所以我有一个网络服务器和一个(Mysql)数据库服务器。两者都有 2 个接口,1 个具有公共 IP,1 个具有内部 IP。

我希望这两者仅通过默认 MySQL 端口 3306 上的内部 IP 进行通信。

这是我的数据库服务器的 iptables 配置:

Chain INPUT (policy DROP)
target     prot opt source               destination
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0            state RELATED,ESTABLISHED
DROP       tcp  --  0.0.0.0/0            0.0.0.0/0            tcp flags:0x3F/0x00
DROP       tcp  --  0.0.0.0/0            0.0.0.0/0            tcp flags:!0x17/0x02 state NEW
DROP       tcp  --  0.0.0.0/0            0.0.0.0/0            tcp flags:0x3F/0x3F
ACCEPT     tcp  --  *My HQ*        0.0.0.0/0            tcp dpt:22
ACCEPT     tcp  --  *Internal IP webserver*        0.0.0.0/0            tcp dpt:3306

这是我的网络服务器上的 iptables:

Chain INPUT (policy DROP)
target     prot opt source               destination
ACCEPT     tcp  --  *ip nagios server*        0.0.0.0/0            tcp dpt:5666
DROP       tcp  --  0.0.0.0/0            0.0.0.0/0            tcp flags:0x3F/0x00
DROP       tcp  --  0.0.0.0/0            0.0.0.0/0            tcp flags:!0x17/0x02 state NEW
DROP       tcp  --  0.0.0.0/0            0.0.0.0/0            tcp flags:0x3F/0x3F
ACCEPT     tcp  --  *My HQ*        0.0.0.0/0            tcp dpt:22
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:443 state NEW,ESTABLISHED
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:80 state NEW,ESTABLISHED
ACCEPT     tcp  --  *My HQ*        0.0.0.0/0            tcp dpt:10081 state NEW,ESTABLISHED
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:36512 state NEW,ESTABLISHED
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0
ACCEPT     tcp  --  *Internal IP Database server*        0.0.0.0/0            tcp dpt:3306

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:36512 state NEW,ESTABLISHED
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:465 state NEW,ESTABLISHED
ACCEPT     tcp  --  *Internal IP Database Server*        0.0.0.0/0            tcp dpt:3306
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:3306

我也将 MySQL 绑定到内部 IP 上。

然而,当我尝试一些简单的事情时:

mysql -h *internal ip db server* -u root -p

我收到错误:

ERROR 2003 (HY000): Can't connect to MySQL server on '*internal db server ip*' (110)

有什么我忘记的或者 IPTABLES 设置有什么问题吗?

我使用的是 CentOS 7.2.1511 机器和 MySQL 版本 5.7。

注意:这一 iptables 配置很可能存在多个问题。因为我只是为了学习而尝试这个。

相关内容