У меня есть 2 сервера, я настроил один сервер для http
( php
имя: web), а другой для mysql
(имя: db).
На обоих этих серверах у меня есть публичные и частные IP. Я хотел иметь такие правила:
- измените порт ssh
web
сервера на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.
firewall.sh наdb
#!/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
Но после выполнения этих правил мое соединение с сервером будет полностью потеряно, и эти два сервера также не смогут общаться друг с другом.
в чем моя проблема?