разрешить связь с базой данных через внутренний IP

разрешить связь с базой данных через внутренний IP

Итак, у меня есть веб-сервер и сервер базы данных (Mysql). Оба имеют 2 интерфейса, 1 с публичным IP и 1 с внутренним IP.

Я хочу, чтобы эти двое взаимодействовали только по внутреннему IP-адресу на порту MySQL по умолчанию 3306.

Вот моя конфигурация 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 есть несколько проблем, поскольку я просто экспериментирую с ней, чтобы чему-то научиться.

Связанный контент