内部 IP 経由の DB 通信を許可する

内部 IP 経由の DB 通信を許可する

私はウェブサーバーと(Mysql)データベースサーバーを持っています。どちらにも 2 つのインターフェースがあり、1 つはパブリック IP、もう 1 つは内部 IP です。

これら 2 つがデフォルトの 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

内部 IP にも MySQL をバインドしています。

しかし、次のような単純なことを試してみると、

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 設定には複数の問題がある可能性があります。これは学習のために実験しているだけだからです。

関連情報