Hallo Leute!

Ob es Alzheimer ist, oder nur weil ich zu dumm bin, kämpfe ich seit
gestern Abend mit einem Problem und finde keine Lösung...

Also: auf einem Server läuft MySQL. Selbstverständlich aus
Sicherheitsgründen lauscht es nur auf 127.0.0.1.
Auf dem Server läuft auch OpenVPN.

Das Ziel ist, dass der Nutzer (es gibt nur einen...) der sich per VPN
verbindet, in der Lage ist, mit MySQL zu sprechen.

Mir sind nur drei Möglichkeiten eingefallen:

1) MySQL lauscht auf 0.0.0.0 und ich verbiete per Firewall unerwünschte
Zugriffe. SCHLECHT, denn man kann nicht wirklich 1000% sicher sein, dass
alle unerwünschte Wege gesperrt sind...
2) MySQL lauscht auf die IP des VPNs. Auch schlecht, denn alle
Programme, die bereits auf dem Server laufen, müssen umkonfiguriert
werden, damit sie MySQL nicht mehr über 127.0.0.1 ansprechen, sondern
über die IP des VPNs
3) Per IPTables eine Portweiterleitung einrichten, damit eine Verbindung
an 10.50.0.1 (die IP des VPN-Servers) auf die Port 3306 an MySQL
(127.0.0.1:3306) weitergeleitet wird.

Gerade kämpfe ich mit der Lösung 3 und schaffe es nicht...

Theoretisch sollte dieses Befehl alles machen:

/sbin/iptables -t nat -A PREROUTING -p tcp -i vpnsrv0 -d 10.50.0.1
--dport 3306 -j DNAT --to-destination 127.0.0.1:3306

Praktisch leider nicht...
Ich sehe (iptables -vnL -t nat) dass wenn ich mit telnet eine Verbidung
an 10.50.0.1 auf die Port 3306 starte, das Paket kommt über den Regel,
aber am Ende kommt keine Verbindung zustande (Connection refused).

Es muss sicherlich ein dummes Denkfehler sein...

Kann jemand mir ein Tipp geben?

Danke
Luca Bertoncello
(lucab...@lucabert.de)

Antwort per Email an