내부 IP를 통한 DB 통신 허용

내부 IP를 통한 DB 통신 허용

그래서 저는 웹 서버와 (Mysql) 데이터베이스 서버를 가지고 있습니다. 둘 다 2개의 인터페이스를 가지고 있습니다. 하나는 공용 IP이고 다른 하나는 내부 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

내부 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 구성에는 두 가지 이상의 문제가 있을 수 있습니다. 나는 단지 배우기 위해 이것을 실험하고 있기 때문입니다.

관련 정보