Blockieren Sie den Zugriff auf den Server von einer öffentlichen IP mit iptables

Blockieren Sie den Zugriff auf den Server von einer öffentlichen IP mit iptables

Ich habe 2 Server, ich habe einen Server für httpund konfiguriert php(der Name ist: Web) und einen anderen für mysql(der Name ist: DB).

Auf beiden Servern habe ich öffentliche und private IPs. Ich wollte diese Regeln haben:

  1. Ändern Sie den SSH-Port des webServers in 1234. (Ich habe diese Änderung /etc/ssh/sshd_configbereits vorgenommen)
  2. Blockieren Sie alle Anfragen an die weböffentliche Schnittstelle, außer 80, 443 und 1234.
  3. Blockieren Sie alle Anfragen an die dböffentliche Schnittstelle.
  4. Blockieren Sie alle Anfragen an die dbprivate Schnittstelle, außer 22 und 3306 von web der privaten Schnittstelle.

webprivate IP: 192.168.0.110

dbprivate IP: 192.168.0.111

Also habe ich diese Regeln für iptables geschrieben.

firewall.sh auf derdb

#!/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 auf derweb

#!/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

Aber nach dem Ausführen dieser Regeln geht meine Verbindung zum Server vollständig verloren und außerdem können diese beiden Server nicht mehr miteinander kommunizieren.

wo ist mein Problem?

verwandte Informationen