Forum: PC Hard- und Software Opnsense als OpenVPN Client


von opnsenselerner (Gast)


Lesenswert?

Moin,

ich benötige Hilfe und würde auch für den Lösungsweg ein paar Euro 
springen lassen.

Gegeben ist ein Server in der Cloud welcher OpenVPN Server ist.
Ein Server aus einer anderen Cloud ist Client und hängt ebenfalls an 
diesem OpenVPN Server.

Beide können ohne Probleme in beide Richtungen kommunizieren.

Wenn ich meinen Computer per OpenVPN Client dorthin verbinde kann ich 
ebenfalls mit beiden Servern ohne Probleme sprechen.


Ich möchte meinen Computer aber hinter opnsense hängen. Mein Computer 
hat als Gateway opnsense eingetragen und kann darüber ins Internet.
Jetzt will ich also, dass wenn ich die IP 10.8.0.1 eingebe ich mit 
meinem Computer hinter opnsense mit dem Server in der Cloud sprechen 
kann.

Leider schaffe ich es nicht opnsense entsprechend zu konfigurieren.

Die Konfiguration von opnsense als Client funktioniert, allerdings weiß 
ich nicht wie ich opnsense dazu bringe eeben genau diese Pakete an 
10.8.0.1 nicht ins Internet sondern über opnvpn zu tunneln.

Kann mir jemand helfen, gerne über Teamviewer. Bezahlung bei Erfolg.

Danke und viele Grüße!

von Tilo (Gast)


Lesenswert?

10.8.0.1 wird nicht übers Internet geroutet, da es ein privates Netz 
ist.
Es wird aber trotzdem versucht, weil du vermutlich nur eine default 
route eingestellt hast.

Ich kenne Opensense nicht. Das was du beschreibst, klingt verdammt nach 
routing.

Du musst die routing Tabellen so anpassen, dass die Daten den 
gewünschten Weg wählen.
Ausserdem musst du auf den entsprechenden Knoten das Routing erlauben.

Googel mal nach Routing und dem entsprechenden Betriebssystem.

von Εrnst B. (ernst)


Lesenswert?

opnsenselerner schrieb:
> Die Konfiguration von opnsense als Client funktioniert, allerdings weiß
> ich nicht wie ich opnsense dazu bringe eeben genau diese Pakete an
> 10.8.0.1 nicht ins Internet sondern über opnvpn zu tunneln.

das macht OpnSense bzw. das OpenVPN automatisch.

Der Client Akzeptiert per Default die Routes, die von der Gegenstelle 
gepusht werden.
Wenn das nicht passt:


Im OPNsense-Menu nach VPN->OpenVPN->CLients->dein Client(Edit),
Dort Haken bei "Don't pull routes" setzten,
bei "Advanced configuration" trägst du ein:
"route 10.8.0.1 255.255.255.0"
(oder eben die richtige Netmask für das Netz auf der anderen Seite…)

Verbindung aufbauen, im Menu auf System->Routes->Status. Dort müssten 
jetzt Routen für ein Netif ovpncX /Name "OVPN_<deinvpn>" eingetragen 
sein.

von opnsenselerner (Gast)


Lesenswert?

Danke für eure ersten Tipps. Leider bin ich erfolglos geblieben und 
konnte es damit noch nicht lösen.

Im VPN Netz gibt es aktuell folgende Adressen:
10.8.0.1 <- VPN Server
10.8.0.6 <- opnsense Firewall
10.8.0.10 <- Anderer Cloudserver

Mit meinem Client aus einem 192.xxx.xxx.xxx/24 Netz kann ich hinter 
opnsense nur 10.8.0.6 erreichen. Dieser ist allerdings auch unter der 
192.xxx.xxx.xxx/24 Gatewayadresse erreichbar.

Die Pingversuche zu 10.8.0.1 und 10.8.0.10 bleiben unbeantwortet.

Unter Routen -> Status steht folgendes:
ipv4 10.8.0.0/24 10.8.0.5 UGS 0 1500 ovpnc2
ipv4 10.8.0.5 link#7 UH 0 1500 ovpnc2
ipv4 10.8.0.6 link#7 UHS 0 16384 lo0

Die IP Adresse 10.8.0.5 ist weder vergeben noch von irgendeinem 
funktioneren VPN Teilnehmer erreichbar. Keine Ahnung wie opnsense auf 
diese kommt.


Habt ihr noch eine Idee?

von opnsenselerner (Gast)


Lesenswert?

Nach 4h Suche habe ich eine Anleitung gefunden mit der es zumindest per 
NAT funktioniert:

https://bluescreengenerator.de/blog/netzwerk-zu-nordvpn-verbinden-mit-opnsense


Keine Ahnung, ob opnsense es überhaupt ohne NAT hinbekommen kann, aber 
soweit bin ich gerade zufrieden :)

Falls jemand noch ne Idee hat wie man opnsense wirklich als Router 
einsetzt gerne her damit.

von Jan H. (j_hansen)


Lesenswert?

opnsenselerner schrieb:
> Keine Ahnung, ob opnsense es überhaupt ohne NAT hinbekommen kann, aber
> soweit bin ich gerade zufrieden :)
>
> Falls jemand noch ne Idee hat wie man opnsense wirklich als Router
> einsetzt gerne her damit.

Opnsense ist ein Router. Ich bin mir ziemlich sicher, dass hier nicht 
deine Seite das Problem ist. Die Gegenstelle wird deine 192er-IP einfach 
nicht weiterleiten. Daher klappt's auch mit NAT, will du dann mit einer 
10er-IP ankommst.

Also nicht auf Opnsense schimpfen, die macht schon alles richtig.

von Tilo (Gast)


Lesenswert?

Mal mal ein Digramm mit den Netzen, Knoten und wie diese verbunfen sind.

Du brauchst kein NAT. Routing reicht völlig aus.

von Εrnst B. (ernst)


Lesenswert?

opnsenselerner schrieb:
> Im VPN Netz gibt es aktuell folgende Adressen:
> 10.8.0.1 <- VPN Server
> 10.8.0.6 <- opnsense Firewall
> 10.8.0.10 <- Anderer Cloudserver

d.H. opnsense ist weder VPN Server noch VPN client, und hat mit dem VPN 
also garnichts am Hut? d.H. du kannst das Netzwerk-Kabel von der 
OPNsense-Box rausziehen, und es müsste trotzdem gehen, weil ja 
VPN-Server und Cloud-Server im selben Subnetz sind?

Oder kommt das Internet über OPNsense? Dann ist das Problem eher, dass 
der VPN-Client den VPN-Server nicht erreicht?

Tilo schrieb:
> Mal mal ein Digramm mit den Netzen, Knoten und wie diese verbunden sind.

+1.
Auch das Internet und OpenVPN-Client(s) in das Diagramm aufnehmen.

von opnsenselerner (Gast)


Angehängte Dateien:

Lesenswert?

Schaltplan siehe Anhang.

Ich hoffe jetzt wirds klarer.

Wie gesagt, opnsense arbeitet wenn ich natten lassen wie es soll. 
Vielleicht ist der Tipp mit dem durchlassen der Pakete aus dem 
192.168.1.0/24 Netz im 10.8.0.0/24 Netz tatsächlich das Problem.
Dies würde ich vermutlich auf der openvpn server Config angehen müssen?

Danke euch bis hierhin!

von Εrnst B. (ernst)


Lesenswert?

opnsenselerner schrieb:
> Ich hoffe jetzt wirds klarer.

ja.

Die Server haben vmtl. keine Route zum 192.168.1.0/24-er Netz über VPN.

Problem würde sich z.B. lösen lassen, wenn Server1 in seiner 
OpenVPN-Config einen Eintrag für diese Route pusht, damit Server2 den 
automatisch kriegt.
Oder durch einen manuellen Routen-Eintrag auf Server2.
Beides also ohne Änderung am OPNsense.

Oder aber wenn OPNsense das 192.168.1.0er-Netz per NAT/Masquerading 
hinter seiner 10.8er-Adresse versteckt, dann muss Server2 das 192er 
Netzwerk nicht kennen.

von Tilo (Gast)


Lesenswert?

Willst du nur aus dem 192.168.1.0/24 Netz auf die Server im 
Rechenzentrum zugreifen?
Dann würde tatsächlich NAT ausreichen.

Wenn die Server im Rechenzentrum auch auf das 192.168.1.0/24er Netz 
zugreifen sollen, muss der openVPN Server dies wissen und die Route 
entsprechend setzen. Ich hab das mit mit mit einem Skript gelöst, dass 
unter /etc/openvpn/clients/clientname liegt und mit
iroute 192.168.1.0 255.255.255.0
die route setzt. Damit weiß der openvpn Server, wie geroutet werden 
soll.
Dann müssen die anderen openvpn clients noch wissen, dass sie eine Route 
setzen müssen. das geht in der server.conf mit
push "route 192.168.1.0 255.255.255.0"

Auf deiner opensense musst du dann nur das Forwarding aktivieren.

Viel mehr ist es dann nicht mehr.

Beim Setup tust du dir vermutlich einfacher, wenn du mit üblichen 
Überwachugnstools den Verkehr überprüfst. Du kannst z.B. von deinem 
Client aus mit einem Ping starten und dann prüfen, ob diedser über das 
VPN device der Opensense raus geht. Danach kannst du schauen, ob die 
Antwort rein kommt und ob sie aufs interne Interface weitergeleitet 
wird.

von opnsenselerner (Gast)


Lesenswert?

Εrnst B. schrieb:
> opnsenselerner schrieb:
>> Ich hoffe jetzt wirds klarer.
>
> ja.
>
> Die Server haben vmtl. keine Route zum 192.168.1.0/24-er Netz über VPN.
>
> Problem würde sich z.B. lösen lassen, wenn Server1 in seiner
> OpenVPN-Config einen Eintrag für diese Route pusht, damit Server2 den
> automatisch kriegt.
> Oder durch einen manuellen Routen-Eintrag auf Server2.
> Beides also ohne Änderung am OPNsense.
>
> Oder aber wenn OPNsense das 192.168.1.0er-Netz per NAT/Masquerading
> hinter seiner 10.8er-Adresse versteckt, dann muss Server2 das 192er
> Netzwerk nicht kennen.

Also ich möchte ja eigentlich nur, dass die Clients Zuhause die beiden 
Server in der Cloud über 10.8.0.1 / 10.8.0.10 erreichen können.

Muss hierfür das Clientnetzwerk gepusht werden? Wie würde hier denn der 
Befehl in der openvpn Config aussehen?

von Εrnst B. (ernst)


Lesenswert?

opnsenselerner schrieb:
> Also ich möchte ja eigentlich nur, dass die Clients Zuhause die beiden
> Server in der Cloud über 10.8.0.1 / 10.8.0.10 erreichen können.

Dann aktivier' das NAT im OPNsense. Da meintest du ja schon, dass es 
geht.

Dass die Server dann nicht die Clients zuhause einzeln per IP ansprechen 
können, ist dann ja egal bzw. vielleicht sogar ein Vorteil.


Ansonsten musst du die config am VPN-Server ändern, und dort (aber nur 
für die VPN-Verbindung vom Server2!) ein
1
push "route 192.168.1.0 255.255.255.0 10.8.0.6"
eintragen.

Am Server1 musst du auch eine ensprechende Route anlegen, entweder in 
der Server-Config (für die Home-Connection) als "route"-Anweisung ohne 
"push",
oder notfalls außerhalb der VPN-Config, also in 
"/etc/network/interfaces(.d)" oder "/etc/netplan/irgendwas.yaml" oder 
"/etc/systemd/network/*", ...

von opnsenselerner (Gast)


Lesenswert?

Ich hab tatsächlich die anderen Wege jetzt nicht mehr getestet, danke 
euch aber für eure Tipps.

Tatsächlich scheint es wohl sinnvoller zu sein, wenn opnsense nattet, da 
ich ja gar keine Pakete aus dem fremden Netz haben möchte, sondern 
ausschließlich im VPN Netz die Server erreichbar sein sollen.

Trotzdem super, dass ihr vielleicht auch für andere hier so tatkräftig 
Lösungen zusammengeschrieben habt.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.