2개의 서버가 있는데, 하나는 http
and php
(이름: web)에 대해 하나는 구성하고 다른 하나는 mysql
(이름: db)에 대해 구성했습니다.
이 두 서버 모두에는 공개 IP와 개인 IP가 있습니다. 나는 다음과 같은 규칙을 갖고 싶었습니다.
web
서버 의 SSH 포트를1234
. (이미 변경했습니다/etc/ssh/sshd_config
.)web
80, 443 및 1234를 제외하고 공용 인터페이스 에 대한 모든 요청을 차단합니다 .- 공용 인터페이스 에 대한 모든 요청을 차단합니다
db
. db
개인 인터페이스 의 22 및 3306을 제외하고 개인 인터페이스 에 대한 모든 요청을 차단합니다web
.
web
개인 IP: 192.168.0.110
db
개인 IP: 192.168.0.111
그래서 저는 iptables에 대한 이러한 규칙을 작성했습니다.
방화벽.shdb
#!/bin/bash
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -s 192.168.0.110 -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -s 192.168.0.110 -p tcp --dport 3306 -j ACCEPT
firwall.sh에web
#!/bin/bash
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 443 -j ACCEPT
iptables -A INPUT -p tcp --dport 1234 -j ACCEPT
하지만 이 규칙을 실행한 후에는 서버 연결이 완전히 끊어지고 두 서버가 서로 통신할 수 없게 됩니다.
내 문제는 어디에 있습니까?