我有 2 台伺服器,我為http
和配置了一台伺服器php
(名稱為: web ),另一台為mysql
(名稱為: db )。
在這兩台伺服器中,我都有公有和私有 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
上的 fiwall.shweb
#!/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
但是運行這些規則後,我與伺服器的連接將完全丟失,這兩個伺服器無法相互通訊。
我的問題出在哪裡?