OpenVPN - Client ins Netzwerk des Servers einbinden

Tockra

Lt. Commander
Registriert
Dez. 2008
Beiträge
1.063
Hallo Leute,

ich würde gerne auf meinem Raspbery Pi einen OpenVPN Server erstellen.
Folgende Möglichkeiten möchte ich haben:
Der Client, der mit dem Pi verbunden ist, soll mit allen Geräten Kontakt aufnehmen können, die beim Pi im Netzwerk hängen.
Der Netzwerkverkehr von dem Client soll über den Pi geroutet werden.
Der Netzwerkverkehr soll verschlüsselt sein. Am besten mit einer sicheren abhörsicheren Verschlüsselung (also nicht so ne Pisse wie pptd).

Wie genau muss ich OpenVPN konfigurieren?
Habt ihr evtl. sogar eine Anleitung für mich?

Gruß
T
 
Jo, ist eigentlich eine ziemlich übliche OpenVPN-Konfiguration. Normalerweise fängt man aber mit einem ganz nackten VPN-Tunnel, der von außen auf den PI geht, an. Wenn das läuft, dann kann man gucken ob man ins LAN hinter dem PI kommt. Danach schaut man wie man den Traffic des Client über den PI leitet.


- Im Router vor dem PI eine Portweiterleitung auf den PI für den eingehenden VPN-Tunnel vom Client
- Im PI in der server.conf eine push-route in das PI-LAN (wird bei Verbindung zum Client geschoben)
- Im PI IP forwarding aktivieren
- Im PI falls nötig NAT für die LAN/VPN-Schnittstellen einrichten
- Geräte hinterm PI müssen als "Rückroute" zum Client eine Route zum PI haben (oder Default-Gateway auf den PI setzen oder besagtes NAT oder Netzwerkbrücke im PI VPN/LAN)

Den Traffic vom Client über den PI routen ist auch kein Ding. In der server.conf das Default-Gateway "redirect"en und der Client leitet dann alles in den VPN-Tunnel. Evtl. muss man noch separat die WAN-IP des PI als statische Route über den lokalen Router leiten. Bin mir gerade nicht sicher ob das automatisch gemacht wird. Ansonsten würde "alles" über den VPN-Tunnel gehen, der dann aber selbst auch nicht mehr ins Internet kommt ;)

Das ist die grobe Marschroute. Den Rest kannst du getrost den Tutorials im Netz entnehmen..
 
Das Problem ist, dass ich nur weiß was ich will, aber keine Fachwörter dafür kenne.
Ich habe mir jetzt einfach mal den OpenVPN Server nach dieser Anleitung aufgesetzt : http://jankarres.de/2013/05/raspberry-pi-openvpn-vpn-server-installieren/

Erstaunlicherweise habe ich fast alles wie ich es haben möchte.
-Meine Clients verwenden das Internet vom Server
- meine Clients haben den IP Range 10.8.0.x
- ich kann auf Geräte im Netzwerk des Server mit den IP's 192.168.160.x zugreifen

Allerdings habe ich noch folgende Probleme:
- die clients sehen sich nicht untereinander
- die Geräte im Servernetzwerk werden und Windows z.B. nicht im Netzwerk angezeigt (da wo die Netzwerkgeräte angezeigt werden)
- im Netzwerk des Servers agieren die clients "anonyme" unter der IP des server anstelle mit ihren eigenen

Ich würde mich freuen wenn mir jmd helfen könnte meine Probleme zu beheben.
 
Tockra schrieb:
Allerdings habe ich noch folgende Probleme:
1) - die clients sehen sich nicht untereinander
2)- die Geräte im Servernetzwerk werden und Windows z.B. nicht im Netzwerk angezeigt (da wo die Netzwerkgeräte angezeigt werden)
3)- im Netzwerk des Servers agieren die clients "anonyme" unter der IP des server anstelle mit ihren eigenen

Ich würde mich freuen wenn mir jmd helfen könnte meine Probleme zu beheben.

1) In der server.conf "client-to-client" eintragen

2) Das ist nicht ungewöhnlich, aber auch relativ unwichtig. Ich hab mich damit offen gestanden noch nicht beschäftigt, weil ich Netzlaufwerke, etc. nicht über die Netzwerkumgebung anbinde. Ein Schuß ins Blaue: Arbeitsgruppe und WINS-Server aktivieren. Bis auf einige wenige Backup-Programme, die sich strikt weigern auf Netzlaufwerke zu sichern, sondern unbedingt ein Gerät in der Netzwerkumgebung haben wollen, ist mir aber keine Anwendung bekannt, die das voraussetzt - und solche Programme disqualifizieren sich dadurch auch selbst!

3) Was genau meinst du damit? Beispiel? Hört sich nach NAT an.. In Step 9 wird eine NAT-Regel gesetzt (masquerade). Dann ersetzt der VPN-Server die Quell-IP eines Datenpakets mit seiner eigenen IP. Das ist mehr oder weniger notwendig, weil zB ein NAS keine Ahnung vom VPN-Subnetz hat und die Antwort ans Standard-Gateway (=Router, Internet Gateway) schickt. Mit der NAT-Regel ersetzt der PI die Quell-IP mit seiner eigenen LAN-IP und das NAS denkt die Anfrage kommt vom PI und antwortet ihm.

  • Man kann bei LAN-Geräten eine Route in das VPN-Netz über den PI eintragen oder diese Route im Internet-Router hinterlegen, um das zu umgehen. Beides ist aber nicht immer möglich, wenn die Geräte keinen Zugriff auf die Routing Tabelle erlauben.
  • Alternativ das Standard-Gateway des NAS und aller anderen Geräte, die über VPN erreichbar sein sollen, auf den PI umbiegen.
  • Wenn der PI seinen VPN-Adapter mit seiner LAN-Schnittstelle bridged und man das VPN-LAN auf das Subnetz des LANs setzt (192.168.0.x), dann könnte es auch funktionieren, das habe ich nie ausprobiert.

Prinzipiell ist es egal wie man es macht. NAT ist in der Regel die einfachste Variante. Du siehst, dass es mehrere Möglichkeiten gibt, die aber ohne tiefergehende Kenntnisse in Netzwerktechnik teilweise nicht so einfach einzurichten und gegebenenfalls zu debuggen sind. Spricht etwas konkret gegen NAT?
 
Ich les ja nu nich das komplette Tutorial durch, ich weiß ja wie's geht :p

Dann müsstest du aber auch von einem VPN-Client (zB VPN-IP 10.8.0.17) auch einen anderen VPN-Client (zB VPN-IP 10.8.0.18) anpingen können. <-- Das ist die client-to-client Einstellung. Ohne diese, würde man ausschließlich den VPN-Server, also die 10.8.0.1 anpingen können!

Oder reden wir jetzt aneinander vorbei? Was meinst du genau mit "die clients sehen sich nicht"?
 
Es kann natürlich sein, dass der Ping am Gerät selbst blockiert wird. Der VPN-Server leitet mit client-to-client ja nur die Datenpakete von einem Client zum anderen. Was der Zielclient dann damit macht, ist seine Sache. Will heißen: Wenn am Ziel eine Firewall zB Pings blockiert, dann klappt das nicht. Ein Smartphone ist aber auch ein denkbar schlechter Testkandidat, weil man nicht viel daran tun kann.. Versuch es mal andersherum, lad dir eine Ping-App runter und ping damit die VPN-IP des Computers an. Am PC kannst du dann die Firewall checken und notfalls mittels Wireshark den eingehenden Traffic beobachten.

Mit Wireshark könnte man auch direkt am PI sehen welche Pakete er von A nach B leitet. Bin mir gerade nicht sicher wie Wireshark auf dem PI genau heißt, bitte vorher checken.
 
Zuletzt bearbeitet:
Wenn der Pi nicht dein default Gateway im lokalen Netz ist, musst Du noch eine Route zum 10.8.x.x Netz setzen.
 
Zurück
Oben