[Problem] OpenVPN Client -> Route auch für Clients?

phaky

Neuer User
Mitglied seit
19 Aug 2006
Beiträge
46
Punkte für Reaktionen
0
Punkte
0
Hallo,
ich habe ein betreibe auf meiner Fritzbox (Details in der Signatur) OpenVPN als Client und habe Probleme eine Route für mein Heimnetz in das externe VPN zu erstellen.

Zu Hause
Fritzbox, Freetz, OpenVPN Client
Heimnetz: 192.168.178.xxx
Fritzbox: 192.168.178.1

Verbindet zu
Ded. OpenVPN Server (tun, lzo)
externe IP: 88.xx.xx.xx
VPN Netz: 192.168.170.xxx (Server .1, zwei weitere Clients .9, .10 - können untereinander kommunizieren)

OpenVPN ist soweit passend konfiguriert, eine Verbindung von Freetz zum Server besteht, Ping funktioniert sowohl auf den Server als auch auf die anderen VPN Clients.
Natürlich möchte ich aus meinem Heimnetz heraus auch auf das VPN Netz zugreifen.

Normalerweise würde ja die Route
Code:
Netz 192.168.170.0
Mask 255.255.255.0
Gateway 192.168.178.1
.. ausreichen, diese Kann ich jedoch nicht anlegen weil .178.1 der Box gehört.

Deswegen habe ich per ifconfig die Interfaces eth0:1 und anschließend lan:1 angelegt und die Adresse 192.168.178.2 zugewiesen. Resultat war, dass ich die Route entsprechend anlegen konnte, funktioniert hat es jedoch trotzdem nicht. Die zusätzliche Adresse war aus dem Heimnetz heraus problemlos pingbar.

Anschließend habe ich die ar7.cfg von Hand bearbeitet und dort den Eintrag der Route mit dem Gateway .2 auf .1 geändert, ein Aufruf von "ar7changed" hat diese Änderung jedoch sofort wieder rückgängig gemacht. Hat also ebenfalls nicht funktioniert.

Jetzt bin ich am Ende meines Lateins. Kann mir jemand helfen?
 
Du musst auf dem Clientrecher eine neue Route anlegen (Stichwort: ROUTE ADD), die die Pakete für das VPN-Zielnetz über den VPN-Rechner routet und diesen in dem ROUTE ADD Befehl als Gateway eintragen.
 
Code:
Netz 192.168.170.0
Mask 255.255.255.0
Gateway 192.168.178.1
.. ausreichen, diese Kann ich jedoch nicht anlegen weil .178.1 der Box gehört.
Es steht zwar nicht explizit da, aber ich gehe davon aus, dass Du diese Route auf Deiner Box anlegen willst. Es gibt einen guten Grund, warum diese Route nicht sinnvoll ist.
Die Routing-Tabelle ist dazu da, den weiteren Weg eines Paketes zu bestimmen. Der Eintrag von Dir würde bedeuten, Pakete mit Ziel 192.168.170.0/24 werden an 192.168.178.1 weiter geleitet. Das ist aber die Box selbst. Diese müsste dann entscheiden, was damit passieren soll. Laut der Tabelle wäre das Ziel wieder 192.168.178.1, also wieder an sich selbst weiter leiten, und immer so weiter.

Statt dessen braucht man eine Route, die die Pakete über dass VPN sendet. Wenn laut Deiner Beschreibung 192.168.170.1 von der Box aus erreichbar ist, dann wäre das ein guter Wert für das Gateway.

Um den Server zu erreichen, sollte das ausreichen. Allerdings braucht der Server auch eine Route für die Richtung zurück. Du müsstest prüfen, ob diese bereits existiert und ggf. eine anlegen.

Konkret müssen für jeden einzelnen Schritt auf allen beteiligten Geräten die Routing-Tabellen stimmen.
Am besten überlegt man sich das Schritt für Schritt:
PC (z.B. 192.168.178.20) an 192.168.170.1:
PC -> Box -> VPN Server
Antwort von 192.168.170.1 an 192.168.178.20:
VPN Server -> Box -> PC
 
Vielen Dank für eure Antworten.

Die Fritz!Box bekommt von den Endgeräten automatisch alle Pakete, bei denen das jeweilige Endgerät nicht weiß wo sie hin sollen. Egal ob es um's Internet geht, oder in meinem Fall das VPN, 192.168.170.xxx. Sie ist schließlich überall als Standardgateway eingetragen.

Mein Denkansatz war falsch. Das Routing dürfte aus oben genannten Gründen funktionieren. Was fehlt ist das NAT und Masquerading. Ich werde probieren ob ich das mit iptables auf der Box hinbekomme und melde mich dann wieder.
 
Die Route bei den Endgeräten ist meist nicht das Problem, gehört aber in eine vollständige Betrachtung auch mit hinein.

NAT ist auch eine Möglichkeit, dann geht der Verbindungsaufbau aber nur noch in eine Richtung.
 
Ich habe mittlerweile iptables eingebaut, leider klappt das aber nicht ganz.

Problem:
Code:
iptables v1.4.11.1: can't initialize iptables table `nat': Table does not exist (do you need to insmod?)

Dieser Fehler tritt beim Versuch, meine Regel einzufügen, auf. (iptables -t nat -A POSTROUTING [..])

Das Modul ist mit einkompiliert, kann ich jedoch weder über modprobe, noch direkt innerhalb von /lib/modules finden.

Auszug .config:
Code:
FREETZ_PACKAGE_IPTABLES=y
FREETZ_PACKAGE_IPTABLES_IS_SELECTABLE=y
FREETZ_PACKAGE_IPTABLES_KERNEL_MODULES=y
FREETZ_MODULE_iptable_nat=y
FREETZ_MODULE_ip_tables=y
FREETZ_MODULE_x_tables=y
FREETZ_PACKAGE_IPTABLES_SHARED_LIBS=y
FREETZ_LIB_libipt_MASQUERADE=y
FREETZ_LIB_libip6t_icmp6=y

Jemand eine Idee was zu tun ist?
 
Hallo Phaky,

Hast du schon 'ne loesung gefunden zum iptable nat problem? ...

Gruss, Chris
 
Leider nein, ich glaube da kann man auch echt nichts weiter machen. Es ist ja nichtmal Source NAT möglich.... :noidea:
 
So, habe das Image jetzt nochmal mit Replace Kernel gebaut, leider immernoch ohne NAT Modul. Mache ich was falsch?

Hier meine .config: http://nopaste.ressourcenkonflikt.de/fe1aa6ca2f.html

Update 19.07.2012:
Ich habe mir gerade einen Raspberry Pi bestellt. Dort werde ich das VPN Gateway nach meinen Wünschen einrichten. Damit ist das Thema hier für mich erledigt. Ich danke euch trotzdem für eure Bemühungen! :)
 
Zuletzt bearbeitet:
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.