Verwenden -s 192.168.100.0/24bedeutet, dass Sie den Remotezugriff auf Port 3306 nur für IP-Bereiche zulassen, die mit 192.168.100.0/24 übereinstimmen. Dies ist ein privates internes Netzwerk. Ist das wirklich das, was Sie vorhaben? Andernfalls ist dies das Problem, warum Remoteverbindungen von anderen IPs nicht funktionieren.
Normalerweise benötigen Sie die ausgehende Regel auch nicht.
Wenn dies nicht hilft, geben Sie bitte ein wenig mehr Informationen darüber, von wo aus Sie testen, IPs / Schnittstellen des Computers, was passiert und möglicherweise eine vollständige Ausgabe iptables -vnLfür uns?
Bearbeiten 1 :
Basierend auf weiteren Informationen wird angezeigt, dass das als Vorlage verwendete Beispiel missverstanden wurde. Sie müssen den Quell-IP-Bereich entfernen (da Sie alle remote zulassen möchten). Geben Sie einfach dies und nur dies ein und es sollte funktionieren:
iptables -A INPUT -i eth0 -p tcp --dport 3306 -m state --state NEW,ESTABLISHED -j ACCEPT
Wenn Sie Ihre externe IP-Adresse einschließen möchten, muss dies die Ziel-IP sein, z.
iptables -A INPUT -i eth0 -p tcp -d xx.xx.xx.xx --dport 3306 -m state --state NEW,ESTABLISHED -j ACCEPT
-swird wie in der Quelle nur verwendet, wenn Sie den Zugriff von bestimmten IP-Bereichen aus beschränken möchten.
Edit 2 :
Scheint überhaupt keine iptables-Frage zu sein, sondern eher eine mySQL-Frage. Damit mySQL überhaupt Remoteverbindungen abhören kann, müssen Sie es so konfigurieren, dass es Ihre externe Adresse abhört. Bearbeiten /etc/mysql/my.cnfund überprüfen Sie die bind-addressAnweisung und ändern Sie sie in:
bind-address = xx.xxx.xx.xx
Entweder haben Sie xx.xx.xx.xx durch Ihre externe IP-Adresse ersetzt, oder Sie können festlegen 0.0.0.0, dass alle Schnittstellen abgehört werden.
Danach stellt sich für Sie die Frage, wie Sie zunächst die gesamte Firewall für Ihren Server einrichten. Entweder blockieren Sie manuell alle spezifischen Ports, auf die niemand sonst zugreifen kann, oder Sie müssen eine Standardrichtlinie festlegen, um den Datenverkehr abzulehnen, und dann Port für Port (wie in Ihrer ersten Frage angegeben) für Dienste, die Sie zulassen möchten, manuell öffnen. Seien Sie jedoch SEHR vorsichtig, wenn es sich um eine Remote-Maschine handelt, ist es sehr einfach, sich selbst auszusperren, wenn Sie die Dinge in die falsche Reihenfolge oder in die falsche Richtung bringen.