我的配置:ubuntu 伺服器 9 和 msyql 5
my.cnf = bind-address = 0.0.0.0
我的 iptables 腳本 =
iptables -A INPUT -i eth0 -s 99.88.77.66 -p tcp --destination-port 3306 -j ACCEPT
我可以從任何地方連接到mysql,而不僅僅是那個IP。我做了一個 iptables-save ,/etc/init.d/netwokring restart...但我仍然可以從任何IP連接,有什麼線索嗎?
答案1
此規則允許來自 99.88.77.66 的連接,但不會阻止來自其他地方的連接。為此,您應該有一個規則,預設對所有傳入連線進行 DROP
iptables -P INPUT DROP
然後繼續只允許那些您明確想要的。或者,您可以專門為所有非 99.88.77.66 的用戶端關閉連接埠 3306
iptables -A INPUT -i eth0 -s ! 99.88.77.66 -p tcp --destination-port 3306 -j DROP
答案2
那個規則允許從特定 IP 到連接埠 3306/tcp 的流量。您需要稍後的規則(或預設策略)來丟棄到該連接埠的所有其他流量,因為預設 iptables 策略是允許一切。
答案3
也許您的 iptables 預設策略是允許所有輸入流量。這將允許來自任何 IP 的連線。更改此策略以刪除:
iptables -P INPUT DROP