[Gelöst] OpenVPN Clients haben keinen Zugriff auf Geräte im LAN

cmonty14

Mitglied
Mitglied seit
22 Jan 2007
Beiträge
378
Punkte für Reaktionen
0
Punkte
16
Hallo!

Nachdem ich alle Probleme hinsichtlich der Verbindung mit Unterstützung des Forums ausgeräumt habe stehe ich jetzt vor dem Problem, dass ein VPN-Client keinen Zugriff auf Geräte hat, die sich im LAN (Adressbereich 192.168.100.0/24) befinden.
Das heißt z.B., dass ich die WebUI der FB nicht anzeigen kann, oder dass ich keinen Zugang zu Services habe, die im LAN laufen.

Die Server-Konfiguration sieht so aus:
Code:
#  OpenVPN 2.1 Config, Fri Nov 15 00:04:36 CET 2013
proto udp
dev tap0
#Helperline for rc.openvpn to add tap0 to lan bridge
dev-node /dev/tun
ca /tmp/flash/openvpn/ca.crt
cert /tmp/flash/openvpn/box.crt
key /tmp/flash/openvpn/box.key
dh /tmp/flash/openvpn/dh.pem
tls-server
tls-auth /tmp/flash/openvpn/static.key 0
port 1194
ifconfig 10.0.0.1 255.255.255.0
push "route-gateway 10.0.0.1"
push "route 192.168.100.0 255.255.255.0"
max-clients 12
mode server
ifconfig-pool 10.0.0.11 10.0.0.29
push "route 10.0.0.0 255.255.255.0"
client-config-dir /clients_openvpn
route 192.168.100.201 255.255.255.255 10.0.0.11
route 192.168.100.202 255.255.255.255 10.0.0.12
route 192.168.100.204 255.255.255.255 10.0.0.14
route 192.168.100.205 255.255.255.255 10.0.0.15
route 192.168.100.206 255.255.255.255 10.0.0.16
route 192.168.100.203 255.255.255.255 10.0.0.13
route 192.168.100.211 255.255.255.255 10.0.0.21
route 192.168.100.213 255.255.255.255 10.0.0.23
route 192.168.100.215 255.255.255.255 10.0.0.25
route 192.168.100.214 255.255.255.255 10.0.0.24
client-to-client
tun-mtu 1500
mssfix
log /var/tmp/debug_openvpn.out
verb 3
cipher BF-CBC
comp-lzo
keepalive 10 120
status /var/log/openvpn.log
chroot /tmp/openvpn
user openvpn
group openvpn
persist-tun
persist-key

Soweit ich das verstehe, bekommen die VPN-Clients eine fixe IP-Adresse aus dem Adressbereich 10.0.0.0/24 zugewiesen, wobei die DHCP-Range für Clients 10.0.0.11 bis 10.0.0.29 ist.
Die IP-Adresse ist dann fix zur LAN-Adresse 192.168.100.201 255.255.255.255 geroutet.

Frage:
Welche Konfiguration ist notwendig, damit ich auf alle Clients im LAN (Adressbereich 192.168.100.0/24) zugreifen kann?


THX
 
Zuletzt bearbeitet:
Da hast du aber viele "Merkwürdigkeiten" in deiner Config...
Du hast dich ja (hoffentlich) bewusst für eine "Bridging"-Konfiguration entschieden, dennoch nutzt du für den VPN-IP Bereich nicht die LAN-IPs, sondern andere, routest aber Hosts aus dem LAN zu VPN Clients. Wozu?

Poste bitte von einem Client die Routingtabelle und einen "trace" auf die LAN-IP der FB.
 
Ja, ich befürchte auch, dass da zu viele Merkwürdigkeiten sind.

Zu deiner Anforderung:
Benötigst du eine Routingtabelle und den trace von einem VPN-Client, d.h. bei bestehender VPN-Verbindung?
Wenn ja, dann wird das schwierig, weil ich von meinem Smartphone die Ausgabe schlecht kopieren kann.

Deshalb möchte ich zurückkommen auf die Merkwürdigkeiten.
Ich denke, die Server-Konfiguration ist nicht die beste für meine Verwendungszweck von OpenVPN, den ich folgendermaßen beschreiben würde:
Diverse VPN-Clients (z.B. Smartphone, Tablet) verbinden sich zum Server und haben Zugriff auf alle LAN-Clients im Netzwerk.

Meine Annahme ist, dass ich nicht unbedingt ein virtuelles LAN benötige, sondern den VPN-Clients eine IP-Adresse des LAN (192.168.100.0/24) zuweisen kann.
Ob ich den gewählten "Bridging"-Modus, oder besser den "Routing"-Modus verwenden sollte zur Realisierung des o.g. Verwendungszwecks ist mir ebenfalls unklar.

Ich habe zur Beantwortung der Frage, ob TUN oder TAP besser geeignet ist, eine Anfrage im OpenVPN-Forum gestellt, aber keine finale Antwort erhalten. Deshalb habe ich mich zunächst für TAP entschieden, weil ich dafür eine Beispielkonfiguration für die FB gefunden habe, die mir als geeignet erschien.

Keinesfalls bestehe ich auf der Verwendung von TAP, sondern suche eben die bestmögliche Konfiguration für meinen Verwendungszweck.
 
Hast du dir mal die Beiträge zu diesem Thema hier im Forum, speziell z.B. diesen hier oder auf der Wiki-Seite zum OpenVPN genau dazu angesehen?

Vielleicht kannst du dazu mal Feedback geben, was dabei unklar ist, damit man die Beiträge verbessern kann.

Ohne eine Routingtabelle wird es schwierig. Aber die Client-Config könntest du ja auch mal von einem anderen Gerät (außerhalb deines LANS) starten, um das Ergebnis zu sehen.
Eigentlich sollte der Client die Route zum LAN IP-Netz per "push" erhalten und das so erreichen können...
 
Vielen Dank!

Der Freetz-wiki-Artikel war mir bekannt, der Artikel hier aus dem Forum nicht.
Aus dem Freetz-wiki-Artikel konnte ich nicht den richtigen Rückschluß ziehen, ob ich für mehrere VPN-Clients TUN oder TAP verwenden sollte.

Jedenfalls habe ich die Server-Konfiguration jetzt vereinfacht:
Code:
#  OpenVPN 2.1 Config, Sat Nov 16 16:35:17 CET 2013
proto udp
dev tap0
#Helperline for rc.openvpn to add tap0 to lan bridge
dev-node /dev/tun
ca /tmp/flash/openvpn/ca.crt
cert /tmp/flash/openvpn/box.crt
key /tmp/flash/openvpn/box.key
dh /tmp/flash/openvpn/dh.pem
tls-server
tls-auth /tmp/flash/openvpn/static.key 0
port 1194
ifconfig 192.168.100.1 255.255.255.0
push "route-gateway 192.168.100.1"
push "route 192.168.100.0 255.255.255.0"
max-clients 15
mode server
ifconfig-pool 192.168.100.101 192.168.100.119
push "route 192.168.100.0 255.255.255.0"
client-to-client
tun-mtu 1500
mssfix
verb 3
cipher BF-CBC
comp-lzo
keepalive 10 120
status /var/log/openvpn.log
chroot /tmp/openvpn
user openvpn
group openvpn
persist-tun
persist-key
log /var/media/ftp/system/log/openvpn.log
verb 3

Der VPN-Client bekommt jetzt eine Adresse aus dem Bereich 192.168.100.0/24 zugewiesen, genau genommen aus dem Range 192.168.100.101 bis 192.168.100.119.

Ich nehme an, dass ich diese Funktion auch über TUN realisieren kann, d.h. der erste VPN-Client bekommt 192.168.100.101, der zweite VPN-Client bekommt 192.168.100.102, usw.

Ich konnte auch verifizieren, dass ich Zugriff auf Services im LAN 192.168.100.0/24 habe.

Allerdings habe ich keinen Zugriff auf das Netzwerk der "vorgelagerten" FB7570: 192.168.1.0:24
WAN <---> FB7570 <---> FB7390 <---> LAN

Meine Annahme war, dass dies ebenso möglich ist wie vom Client, der sich direkt im LAN 192.168.100.0/24 befindet.
 
Zuletzt bearbeitet:
Der VPN-Client bekommt jetzt eine Adresse aus dem Bereich 192.168.100.0/24 zugewiesen, genau genommen aus dem Range 192.168.100.101 bis 192.168.100.119.

Ich nehme an, dass ich diese Funktion auch über TUN realisieren kann, d.h. der erste VPN-Client bekommt 192.168.100.101, der zweite VPN-Client bekommt 192.168.100.102, usw.
Nein, IPs aus dem LAN vergeben geht nur mit Bridging, nicht mit TUN. Da kannst du zwar auch ein "Netz" nutzen und jedem eine IP draus geben, das muss aber bei "TUN" zwingend vom LAN IP-Netz verschieden sein!
Allerdings habe ich keinen Zugriff auf das Netzwerk der "vorgelagerten" FB7570: 192.168.1.0:24
WAN <---> FB7570 <---> FB7390 <---> LAN
Dazu fehlt aber das Routing. Du kannst das Netz 192.168.1.0/24 bei "lokales Netz" eintragen. Bei "TAP" ist es überflüssig, das LAN nochmal anzugeben, das kennt jeder Client schon, weil er ja selbst drin ist...
 
Gut.
Dann fasse ich meine Erkenntnisse zusammen:
  1. Wenn sich mehr als 1 VPN-Client gleichzeitig/parallel zum Server verbinden, dann muss der Modus TAP (=Bridged) gewählt werden
  2. Wenn im Feld "Lokale IP-Adresse:" dasselbe Netz eingetragen wird, das auch als LAN verwendet wird, dann muss das Feld "Optional: Routing von IP-Netzen: -> Lokales Netz:" nicht gefüllt werden
  3. Der VPN-Client hat Zugriff auf alle Clients im LAN (in meinem Fall 192.168.100.0/24)

Dennoch stellt sich mir die Frage, warum ich keinen Zugriff auf das Netzwerk der vorgeschalteten FB habe.
MaxMuster sagt, hierzu fehlt das Routing. Diese Aussage mag korrekt sein.
Aber warum haben dann alle Clients des LAN 192.168.100.0/24 Zugriff auf die vorgeschaltete FB?
Ich ging jetzt vereinfacht davon aus, dass sich die VPN-Clients ja in demselben Netzwerk befinden, dann sollten sie vom Router (=FB7390) genau "gleich behandelt" werden wie die LAN-Clients?
Trifft dies nicht zu? Warum nicht?

THX
 
Wenn sich mehr als 1 VPN-Client gleichzeitig/parallel zum Server verbinden, dann muss der Modus TAP (=Bridged) gewählt werden
Nein, das geht auch prima mit tun.

[*]Wenn im Feld "Lokale IP-Adresse:" dasselbe Netz eingetragen wird, das auch als LAN verwendet wird, dann muss das Feld "Optional: Routing von IP-Netzen: -> Lokales Netz:" nicht gefüllt werden
Jein. Bei "TAP" und LAN-IP-Netz als VPN-Netz stimmt das. Das Routing im VPN ist wie sonst auch: für "angeschlossene" Netze wird automatisch die richtige Route genommen.

[*]Der VPN-Client hat Zugriff auf alle Clients im LAN (in meinem Fall 192.168.100.0/24)
Das ist keine Eigenart vom TAP, sondern geht auch bei TUN, richtiges Routing immer vorausgesetzt sowie ggf. auch zusätzliche Konfig des OpenVPN (z.B. bei "Multiclient" und wenn Netze bei Clients sind noch die "iroute" Einträge)


Dennoch stellt sich mir die Frage, warum ich keinen Zugriff auf das Netzwerk der vorgeschalteten FB habe.
MaxMuster sagt, hierzu fehlt das Routing. Diese Aussage mag korrekt sein.
Ziemlich sicher, dass die Aussage korrekt ist und du könntest das auch leicht verifizieren, indem du meinem Ratschlag folgst statt ihn in Frage zu stellen :mad:.


Aber warum haben dann alle Clients des LAN 192.168.100.0/24 Zugriff auf die vorgeschaltete FB?
Ich ging jetzt vereinfacht davon aus, dass sich die VPN-Clients ja in demselben Netzwerk befinden, dann sollten sie vom Router (=FB7390) genau "gleich behandelt" werden wie die LAN-Clients?
Gut, dann hängen wir noch einen kurzen Routing-Lehrgang dran ;-)
Das ist reines "IP-Routing" und hat nix mit dem OpenVPN zu tun. Schau dir mal das Routing im LAN an. Neben dem Eintrag für das LAN-IP Netz dürfte da eine "Defaultroute" stehen, die zur FB zeigt. Deshalb kommen natürlich alle Geräte in deinem LAN dahin, weil "unbekannte" Netze zur 7390 gehen. Dein Smartphone (deine VPN-Clients generell) nutzen ihr eigenes Defaultgateway, was (normalerweise) natürlich das Internet ist. Um also ein bestimmtes Netz durch das VPN zu erreichen, muss also eine Route ins VPN vorhanden sein.
 
Wieder nicht richtig?

Dann ganz konkret:
max. 4 VPN-Clients mit gleichzeitigem Zugriff auf OpenVPN-Server... TUN oder TAP?

Wenn ich den Modus "Tunnel (TUN)" auswähle, dann habe ich in der GUI nur die Möglichkeit eine "Lokale IP-Adresse" + "Remote IP-Adresse" einzutragen (siehe Screenshot im Anhang).
Was ist in diese Felder einzutragen, wenn mehrere VPN-Clients im Spiel sind?

Ich benötige für die VPN-Clients also eine dedizierte Route ins Netzwerk "vor" der FB7390.
Das Routing auf dieser FB7390 sieht aktuell so aus:
Code:
root@FB7390:/var/mod/root# route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.180.1   *               255.255.255.255 UH    2      0        0 dsl
192.168.180.2   *               255.255.255.255 UH    2      0        0 dsl
192.168.100.0   *               255.255.255.0   U     0      0        0 lan
192.168.100.0   *               255.255.255.0   U     0      0        0 tap0
192.168.1.0     *               255.255.255.0   U     2      0        0 dsl
192.168.189.0   *               255.255.255.0   U     0      0        0 guest
169.254.0.0     *               255.255.0.0     U     0      0        0 lan
default         *               0.0.0.0         U     2      0        0 dsl

Aber wie konfiguriere ich das notwendige Routing für die VPN-Clients in das Netzwerk 192.168.1.0/24?
Ist der Eintrag 192.168.1.0 255.255.255.0 im Feld "Optional: Routing von IP-Netzen: -> Lokales Netz:" ausreichend?
Ich habe dies getestet, allerdings ohne Erfolg.

Die aktuelle Konfiguration auf dem Server sieht so aus:
Code:
#  OpenVPN 2.1 Config, Sat Nov 16 20:23:22 CET 2013
proto udp
dev tap0
#Helperline for rc.openvpn to add tap0 to lan bridge
dev-node /dev/tun
ca /tmp/flash/openvpn/ca.crt
cert /tmp/flash/openvpn/box.crt
key /tmp/flash/openvpn/box.key
dh /tmp/flash/openvpn/dh.pem
tls-server
tls-auth /tmp/flash/openvpn/static.key 0
port 1194
ifconfig 192.168.100.1 255.255.255.0
push "route-gateway 192.168.100.1"
push "route 192.168.1.0 255.255.255.0"
max-clients 15
mode server
ifconfig-pool 192.168.100.101 192.168.100.119
push "route 192.168.100.0 255.255.255.0"
client-to-client
tun-mtu 1500
mssfix
verb 3
cipher BF-CBC
comp-lzo
keepalive 10 120
status /var/log/openvpn.log
chroot /tmp/openvpn
user openvpn
group openvpn
persist-tun
persist-key
log /var/media/ftp/system/log/openvpn.log
verb 3

THX
 

Anhänge

  • Auswahl_013.png
    Auswahl_013.png
    49.3 KB · Aufrufe: 14
Zuletzt bearbeitet:
Egal wie viele Clients, es ist immer sowohl TUN als auch TAP möglich. Je nach Anwendungsfall kann mal das eine mal das andere besser sein...

Mit der Config oben bekommt der Client die Route zu 192.168.1.0 mitgeteilt (push "route 192.168.1.0 255.255.255.0") und sollte damit auch in das Netz "davor" kommen.
Ohne Routingtabelle und Trace vom Client wird es schwierig, das zu "debuggen".
Wenn du das auf dem Smartphone nicht kannst, versuche es von einem anderen Gerät mit dieser Konfig.
 
Update:
Der Eintrag 192.168.1.0 255.255.255.0 im Feld "Optional: Routing von IP-Netzen: -> Lokales Netz:" ist ausreichend, um in das vorgelagerte Netzwerk zu kommen.
Mein Fehler lag darin, dass ich beim Aufruf des Services in diesem Netzwerk eine falsche Eingabe gemacht habe.

Soweit funktioniert der TAP-Modus also.

Bleibt noch die Frage zur Verwendung des TUN-Modus. Wie der Screenshot zeigt, ist das WebUI anders aufgebaut bei Auswahl von "Tunnel (TUN)".
Welche Konfiguration ist vorzunehmen, damit mehrere VPN-Clients (1+) gleichzeit eine Verbindung zum Server aufbauen können?
Auf der Freetz-Wiki-Seite ist das WebUI ähnlich abgebildet.
 
Zuletzt bearbeitet:
So in etwa könnte das aussehen (hab hoffentlich all deine Dinge eingetragen/angehakt). Wichtig ist, "Max Clients" zu setzen und die "erweiterte Client-Config", damit alle Optionen auch so eingetragen werden können.
OpenVPN-5_Clients.jpg
Die erste Alternative (das Netz 192.168.1.0 bei den erweiterten Einstellungen einzutragen sollte schon jetzt gehen, die GUI "verschandelt" das aber später in der Anzeige [da steht dann nur noch "push", weil die Anführungszeichen falsch interpretiert werden].)
Die Korrektur ist schon eingespielt mit einer Ergänzung, so dass bei dem "lokalen Netz" auch mehrere, mit Semikolon getrennt, eingetragen werden können.
Siehe Alternative zwei.
OpenVPN-5_Clients_Alternative.png
 
Vielen, vielen Dank!!!

Ich werde diese Änderung umsetzen, während im Hintergrund ein neues Image auf Basis FW 6.00 (ausgecheckt aus dem aktuellen Trunk) erstellt wird.
Update:
Das Feld "Lokales Netz:" ist in meiner WebUI nicht breit genug um 2 Netzwerke (getrennt durch ";") einzutragen.

Im neuen Release ist diese Option verfügbar:
"Use new (simple) GUI - EXPERIMENTAL"
FREETZ_PACKAGE_OPENVPN_USE_V2_CGI: │
│ │
│ CAUTION: This option will delete configurations made with "old" GUI! │
│ New quite simple OpenVPN configuration interface. │
│ It will not generate a configuration file based on GUI settings │
│ but just ask for an existing configuration.

Dies ist für mich ein sehr plausibler Ansatz zur Konfiguration von OpenVPN.

Eine Frage habe ich dann noch zur Verwendung von TUN / TAP:
Spielt es eine Rolle, welches Modus verwendet wird, wenn der VPN-Client (Smartphone) die App "FRITZ!App Fon" verwenden soll?
Ich habe hierzu einen separaten Thread aufgemacht.

Mit meiner aktuellen TAP-Konfiguration geht es nicht, obgleich mit TAP über VPN auf Gaming und Gedöns gehen soll.
Ich weiß sicher, dass mit TAP und dem Modem+Router (=FB7390 im Normalbetrieb) am DSL-Anschluß es keine Probleme gab mit der Verwendung dieser App bei einer VPN-Verbindung.
 
Zuletzt bearbeitet:
Ab 11240 sollte das mit "lokalem Netz" gehen (scrollt dann zwar raus, aber die "zulässige Anzahl Zeichen sollte für mehrere Routen reichen)...

Theoretisch sollte das gehen, du musst aber den Zugriff über das VPN erlauben (oder so, da gibt es einen Punkt in der App zu). Wo willst du denn hin? Auf die "Box davor" oder auf die 7390? Zur 7390 sollte das problemlos funktionieren.
TAP ist i.d.R. "einfacher" zu konfigurieren (weil der Client ja quasi "im LAN" ist, erzeugt aber viel Overhead und belastet die Verbindung viel stärker). Es ist aber eben mit der Server-Box verbunden, der Rest wird geroutet.
 
Wunderbar.
Nachdem ich beim Versuch, das Freetz-Image basierend auf AVM-FW 06.00 zu installieren gescheitert bin (Endlos-Boot-Schleife), bin ich zurück auf AVM-FW 05.52 und habe auch die aktuelle Revision 11243 von Freetz Stable 2.0 ausgecheckt.
Das Image freetz-2.0-11243M läuft soweit ohne Fehler auf der FB7390.

Mit diesem Revision ist die Feldlänge "Lokales Netz:" ausreichend groß um 2 Netzwerke einzutragen.
Damit habe ich nun die von dir empfohlene TUN-Konfiguration umgesetzt und erfolgreich getestet.
Das bedeutet, alle Verbindungen ins Netzwerk 192.168.100.0/24 und 192.168.1.0/24 funktionieren.

Aber ich kann am VPN-Client keine Webseite aufrufen. Sieht aus als ob kein DNS-Server verwendet würde.
Auf der FB7390 läuft Dnsmasq.

Und die App "FRITZ!App Fon" funktioniert weiterhin nicht (also jetzt auch nicht im TUN-Modus).

Du erwähntest eine Möglichkeit, VPN in der App zu konfigurieren. Ich habe aber nichts dergleichen gefunden.
In den Einstellungen gibt es (soweit ich das einsehen kann) nur die Möglichkeit, eine FB anhand der IP-Adresse zu konfigurieren.
Wenn ich hier die IP meiner FB7390 eingebe, kommt aber nichts zurück, d.h. die FB wird nicht gefunden.
(Die App verbindet sich auf die FB7390, weil dort alle Telefone und VoIP eingerichtet ist; die FB7570 bietet keine dieser Funktionen.)

Was nun?
Vermeintlich weiter im anderen Thread, weil das ursächliche Problem dieses Threads ist zu 100% gelöst.
 
Zuletzt bearbeitet:
Machst du hier dann bitte noch "zu" (im Titel "Problem" in "gelöst" ändern)?
 
Wie kann ich den Titel editieren?

Für das neue Problem
Aber ich kann am VPN-Client keine Webseite aufrufen. Sieht aus als ob kein DNS-Server verwendet würde.
Auf der FB7390 läuft Dnsmasq.

mach' ich einen neuen Thread auf.
 
Erster Beitrag -> Bearbeiten -> Erweitert
Dann ist der Titel editierbar
 
Kostenlos!

Statistik des Forums

Themen
248,899
Beiträge
2,304,448
Mitglieder
378,594
Neuestes Mitglied
kerbilg