ubuntuusers.de

OpenVPN und Split-Routing

Status: Gelöst | Ubuntu-Version: Ubuntu 20.04 (Focal Fossa)
Antworten |

wurzelsepp1

Anmeldungsdatum:
24. Februar 2019

Beiträge: 15

Moin Gemeinde,

ich habe mal wieder eine Anfängerfrage - diesmal zu openvpn und Windows:

Ich habe einen Ubuntu Server (20 LTS) auf dem ein Datenbankserver und ein openvpn läuft.

Nun möchte ich von meinem Windows-Client den Zugriff auf den Datenbankserver über die VPN-Verbindung leiten. Aber eben nur die. Also soll DB (Port 1433) über VPN (IP 10.8.0.6) geroutet werden. Alle anderen Dienste (Web, Mail, sonstwas) über die phys. Netzwerkkarte (WLAN oder Eth) des Windows-PC.

Kann ich da nicht eine Route via einrichten? So in der Art serverdomain.tld via IPdesVPN?

Danke für den Denkanstoß.

Schönen Abend, Alex

kB Team-Icon

Supporter, Wikiteam
Avatar von kB

Anmeldungsdatum:
4. Oktober 2007

Beiträge: 9806

Wohnort: Münster

Dafür ist auf dem Ubuntu-Server natürlich gar nichts einzurichten.

Ikarus68

Anmeldungsdatum:
8. Mai 2018

Beiträge: 22

So isses!

Du musst nur die folgenden Zeilen in Deiner client.ovpn hinzufügen:

route 0.0.0.0 192.0.0.0 net_gateway
route 64.0.0.0 192.0.0.0 net_gateway
route 128.0.0.0 192.0.0.0 net_gateway
route 192.0.0.0 192.0.0.0 net_gateway

Diese Einträge bewirken dass der gesamte private IP-Adressbereich durch den VPN-Tunnel zu Deinem Ubuntu-Server geroutet wird. Falls Du Deinen Datenbankserver über eine URL ansprechen willst benötigst Du natürlich die entsprechende DNS-Auflösung. Das kannst Du mit einem DNS-Server (z.B. dnsmasq oder unbound) oder mit einem entsprechende Eintrag in "/etc/hosts" machen.

wurzelsepp1

(Themenstarter)

Anmeldungsdatum:
24. Februar 2019

Beiträge: 15

Ikarus68 schrieb:

So isses!

Du musst nur die folgenden Zeilen in Deiner client.ovpn hinzufügen:

Danke für den Tipp. Den privaten Adressbereich benötige ich für den Betrieb des lokalen Netzes. Ich wollte die echte IP des DB-Servers durch das VPN leiten. Dazu habe ich in der client.ovpn diese Zeilen zugefügt:

1
2
route-nopull 
route 85.214.nn.nn 255.255.255.255

Das bewirkt zwar, dass die IP nicht mehr über das Heimnetz und de Router nach draußen geleitet wird, zu dem gewünschten server aber auch nicht. Ein ping sagt dann, "Ziel nicht erreichbar".

sebix Team-Icon

Ehemalige

Anmeldungsdatum:
14. April 2009

Beiträge: 5584

kB schrieb:

Dafür ist auf dem Ubuntu-Server natürlich gar nichts einzurichten.

Der Server kann die Routen aber pushen

frostschutz

Avatar von frostschutz

Anmeldungsdatum:
18. November 2010

Beiträge: 7793

Warum so furchtbar kompliziert, kannst du den Client nicht einstellen, daß er mit der 10.8.0.6:1433 telefonieren soll?

wurzelsepp1

(Themenstarter)

Anmeldungsdatum:
24. Februar 2019

Beiträge: 15

frostschutz schrieb:

Warum so furchtbar kompliziert, kannst du den Client nicht einstellen, daß er mit der 10.8.0.6:1433 telefonieren soll?

Auf die Idee bin ich auch gekommen. Leider ist der Server unter der Adresse nicht erreichbar. Über die öffentliche (echte) IP ist er ereeichbar, wenn ich den Port probeweise in der UFW freigebe. Über die IP, die üver das VPN zur verfügung gestellt wird, aber nicht. Anpingen kann man die aber.

Scheinbar muss man irgendwo bescheid sagen, dass die Dienste des Servers auch über die VPN-Verbindung verfügbar sein sollen (?)

frostschutz

Avatar von frostschutz

Anmeldungsdatum:
18. November 2010

Beiträge: 7793

Ja, muss eben Server wie Client so konfiguriert werden.

Wenn das ohnehin nicht über die öffentliche IP laufen soll, wärs am besten, der Server lauscht dort gar nicht erst.

Kenne MSSQL nicht aber lt. Doku müsste das [network] mit ipaddress und tcpport zu setzen sein: https://learn.microsoft.com/en-us/sql/linux/sql-server-linux-configure-mssql-conf?view=sql-server-ver16#tcpport

Wenns um eine andere Datenbank geht dann eben in der jeweiligen Doku stöbern...


Welche Sockets allgemein gerade benutzt werden, kannst du mit ss -tulpen rausfinden.

wurzelsepp1

(Themenstarter)

Anmeldungsdatum:
24. Februar 2019

Beiträge: 15

frostschutz schrieb:

Ja, muss eben Server wie Client so konfiguriert werden.

Jaja .. das war ja meine Frage. 😀

Aber ich habe nun die Lösung gefunden (dank deiner Hilfe!) - die ich gerne hier noch einmal poste, da das Thema lt. google scheinbar einige Einsteiger beschäftigt:

Der Datenbankserver ist über die "Basis- / Serveradresse" des VPN-Netzwerkadapters "TUN" erreichbar. In der Beispielkonfiguration, die mit openVPN mitgeliefert wird, ist dies die 10.8.0.1. Sie lässt sich mit ifconfig abfragen.

Nutzt man das VPN tatsächlich nur, um einen halbwegs sichern Zugang zu einem Remote-SQL-Server aufzubauen, sind manuell keine Routen einzurichten.

Bei mir war es aber erforderlich, eine Regel in die Firewall einzufügen, die dem TUN den Port des SQL-Server öffnet.

Es kann so einfach sein. Dank an "frostschutz" ☺

Antworten |