允許透過內部 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 設定很可能存在多個問題。因為我只是為了學習而嘗試這個。

相關內容