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 (lucabert@lucabert.de)