Hallo und guten Abend in die Runde.
Ich komme gerade mit den Regeln von IPTables nicht zurecht, wir stehen immer wieder mal auf Kriegsfuß. Ich nutze auf meinem Heimserver Debian 10 Server. Da ich euch hier kein Roman zu lesen geben möchte, lass ich den Detaillierten Hintergrund mal weg.
Ich hab u.a. ein MariaDB SQL-Server laufen der auf alle Interfaces hört ( 0.0.0.0), das möchte ich aber nicht. Alle SQL-Benutzer sind entweder auf localhost oder auf 172.18.0.% gebunden. Ist ja an sich schon recht sicher, aber da der SQL von außen nicht angesprochen wird braucht er darauf auch nicht hören.
Das Problem ist das das 172.18.0.0/16 Netz. Das ist ein virtuelles Interface, heißt pterodactyl0
Ich brauch eine IPTables-Regel die interne Verbindungen aus dem 172.18.0.0/16 Netz mit Port 3306 auf localhost:3306 umleitet, die ESTABLISHED wird und natürlich auch die Anfrage wieder zurückgeben kann. Aber nur Port 3306, alles andere darf die Regel nicht beeinflussen.
Mehrere binding-Adressen funktionieren nicht und auf 172.18.0.1 (Gateway)binden kann ich nicht, weil im localhost Bereich andere Dienste auch drauf zugreifen.
Nach eigenen Suchen im Netz bin auf Postrouting und Prerouting gestoßen.
Ich bin aber nicht sicher bin ob das eine oder das andere klappt und ob es sinnvoll ist. Oder ob es was anderes gibt das besser ist.
1)
iptables -t nat -A POSTROUTING -p tcp -s 172.18.0.0/16 --sport 3306 -d 127.0.0.1 --dport 3306
2)
iptables -t nat -A PREROUTING -p tcp --dport 3306 -i pt10 -j DNAT --to 127.0.0.1:3306
Im Moment läuft es auf einem Heimserver hinter einem Router, aber das soll wenn es fertig ist auf einem Dedizierten Server in einem RZ.
Ich hoffe ich hab es verständlich erklärt.
Liebe Grüße und schönen Abend noch
Ich komme gerade mit den Regeln von IPTables nicht zurecht, wir stehen immer wieder mal auf Kriegsfuß. Ich nutze auf meinem Heimserver Debian 10 Server. Da ich euch hier kein Roman zu lesen geben möchte, lass ich den Detaillierten Hintergrund mal weg.
Ich hab u.a. ein MariaDB SQL-Server laufen der auf alle Interfaces hört ( 0.0.0.0), das möchte ich aber nicht. Alle SQL-Benutzer sind entweder auf localhost oder auf 172.18.0.% gebunden. Ist ja an sich schon recht sicher, aber da der SQL von außen nicht angesprochen wird braucht er darauf auch nicht hören.
Das Problem ist das das 172.18.0.0/16 Netz. Das ist ein virtuelles Interface, heißt pterodactyl0
Ich brauch eine IPTables-Regel die interne Verbindungen aus dem 172.18.0.0/16 Netz mit Port 3306 auf localhost:3306 umleitet, die ESTABLISHED wird und natürlich auch die Anfrage wieder zurückgeben kann. Aber nur Port 3306, alles andere darf die Regel nicht beeinflussen.
Mehrere binding-Adressen funktionieren nicht und auf 172.18.0.1 (Gateway)binden kann ich nicht, weil im localhost Bereich andere Dienste auch drauf zugreifen.
Nach eigenen Suchen im Netz bin auf Postrouting und Prerouting gestoßen.
Ich bin aber nicht sicher bin ob das eine oder das andere klappt und ob es sinnvoll ist. Oder ob es was anderes gibt das besser ist.
1)
iptables -t nat -A POSTROUTING -p tcp -s 172.18.0.0/16 --sport 3306 -d 127.0.0.1 --dport 3306
2)
iptables -t nat -A PREROUTING -p tcp --dport 3306 -i pt10 -j DNAT --to 127.0.0.1:3306
Im Moment läuft es auf einem Heimserver hinter einem Router, aber das soll wenn es fertig ist auf einem Dedizierten Server in einem RZ.
Ich hoffe ich hab es verständlich erklärt.
Liebe Grüße und schönen Abend noch
Last edited: