VPN mit FBSD und hardware-ipsec-routern sowie dynamischen und statischen IP

Highfish

Active Member
hallo

ich versuche ein vpn zwischen 2 lan's aufzubauen. jedoch liegt bei jedem lan eine andere hardware-software-internet konfiguration vor.

auf der einen seite ein pc mit freebsd hinter einem zyxel router mit vpn-passthrough und statischer IP jedoch ohne die fähigkeit eigene vpn tunnel aufzubauen.

auf der anderen seite pc's mit diversen betriebssystemen, jedoch kein freebsd und mit dynamischer IP sowie einem hardware-router der IPSEC tunnels selbständig aufbauen kann.

ich dachte das auf der freebsd seite mit IPSEC (evtl. racoon) zu machen und auf der anderen seite machts ja der hardware-router.

jedoch habe ich trotz intensivem googeln nur beschreibungen gefunden wie man zwei lan's mit statischen ip's verbinden kann. es sollte jedoch auch gehen wenn eines davon eine dynamische ip ist. hat hier jemand erfahrungen, oder ein howto oder ähnliches?

danke
Highfish
 
MrFixit schrieb:
Fuer dynamische IPs musst du auf den aggresive Mode schalten und Zertifikate einsetzen. (Ja, das stinkt!)

naja vom aggresive mode habe ich schonmal was gehört. von den zertifikaten auch, hab da durch googeln auch die einte oder andere anleitung (um vpns mit windows gegenstellen aufzubauen) dazu gefunden.

nur: was soll ein hardware-router mit zertifikaten? ich dachte dort gebe ich die fixe ip des freebsd-vpn an und that's it.

was mir nicht klar ist, wie bekommt der freebsd-vpn die ip des hardware routers (die ja dynamisch ist) mit? und was für eine rolle spielen da die zertifikate?

bin halt totaler freebsd vpn newbie. :(
 
Highfish schrieb:
ich versuche ein vpn zwischen 2 lan's aufzubauen. jedoch liegt bei jedem lan eine andere hardware-software-internet konfiguration vor.

auf der einen seite ein pc mit freebsd hinter einem zyxel router mit vpn-passthrough und statischer IP jedoch ohne die fähigkeit eigene vpn tunnel aufzubauen.

auf der anderen seite pc's mit diversen betriebssystemen, jedoch kein freebsd und mit dynamischer IP sowie einem hardware-router der IPSEC tunnels selbständig aufbauen kann.

Der Zyxel macht aber nicht zufaellig auch manchmal noch NAT?

Gruss
 
Highfish schrieb:
nur: was soll ein hardware-router mit zertifikaten? ich dachte dort gebe ich die fixe ip des freebsd-vpn an und that's it.
Das Problem hast du hier unten selbst schon erkannt...
was mir nicht klar ist, wie bekommt der freebsd-vpn die ip des hardware routers (die ja dynamisch ist) mit? und was für eine rolle spielen da die zertifikate?
Soweit ich mich erinnere braucht IPSEC die IP des Gegenüber fest eingetragen, Domain- Namen gehen nicht. Daher versucht man über eindeutige Zertifikate / Identifizierungen sicher zu stellen, dass das Gegenüber auch das ist wofür es sich ausgibt wenn die die IP dynamisch ist. Gelöst bekommen habe ich das Problem aber dann auch nicht, weil ich mich nich mit den Zertifikaten herumschlagen wollte :-(

Gruß, I.MC
 
fader schrieb:
Der Zyxel macht aber nicht zufaellig auch manchmal noch NAT?

Gruss

doch genau das macht der. und zwar die router an beiden lan's (auf der einen seite ein zyxel ohne die fähigkeit eigene vpns aufzubauen, auf der anderen seite ein levelone mit fähigkeit eigene vpns aufzubauen).
 
Highfish schrieb:
doch genau das macht der. und zwar die router an beiden lan's (auf der einen seite ein zyxel ohne die fähigkeit eigene vpns aufzubauen, auf der anderen seite ein levelone mit fähigkeit eigene vpns aufzubauen).

Dann fehlt Dir unter FreeBSD schonmal das benoetigte NAT Traversal. Mal abgesehen von den ganzen anderen Problemen.

Gruss
 
die ganze angelegenheit ist ja noch verzwickter als ich dachte. :zitter:

also wenn ich das richtig verstanden habe, modifiziert der router die ip pakete wegen dem NAT (das war mir klar). Dadurch kann jedoch der dahinterliegende freebsd-vpn nichts mehr mit den paketen anfangen, da ipsec diese verwirft da sie verändert sind.

dazu fallen mir spontan folgende möglichkeiten ein:

1. den router umkonfigurieren, dass er als bridge arbeitet und d.h. die verbindung zwischen freebsd-vpn und router über pppoe (oder so ähnlich) aufgebaut wird. d.h. sich der freebsd-pc beim provider einwählt und der router nur noch als "modem" arbeitet. dadurch sollte das nat-problem gelöst sein, jedoch nicht das problem mit der dynamischen adresse der gegenstelle des vpn.

2. warten auf godot ;'(

obwohl mir 2 noch ein wenig sympatischer ist. irgendwie kann doch die sache nicht so schwierig sein...
 
Highfish schrieb:
die ganze angelegenheit ist ja noch verzwickter als ich dachte. :zitter:

dazu fallen mir spontan folgende möglichkeiten ein:

1. den router umkonfigurieren, dass er als bridge arbeitet und d.h. die verbindung zwischen freebsd-vpn und router über pppoe (oder so ähnlich) aufgebaut wird. d.h. sich der freebsd-pc beim provider einwählt und der router nur noch als "modem" arbeitet. dadurch sollte das nat-problem gelöst sein, jedoch nicht das problem mit der dynamischen adresse der gegenstelle des vpn.

2. warten auf godot ;'(

schwierig sein...

3. Das ganze von vernuenftigen Hardware Routern erledigen lassen. Da gibts stabile Loesungen, denen eine statische IP Adresse auf einer Seite voellig ausreicht (mit l2tp z.B.) Wenn Dein Stundenlohn halbwegs ueber einem Euro liegt, dann ist das auch die guenstigste Variante ;-)

Mit FreeBSD wird das, wenn es ueberhaupt laeuft, eine ewige Baustelle. Das IPsec ist selbst dann schon kritisch, wenn Du zwei statische IPs hast. Das noch zwischen unterschiedlichen Implementationen , die Zertifikate, die Sicherheitsprobleme beim Aggressive Mode, das wackelige IKE, ... das NAT zusammen mit IPSEC im Kernel auf der gleichen Maschine ... da fallen mir noch mindestens 1000 Probleme ein ;-). Das wird nicht klappen. Nicht stabil.

Gruss
 
fader schrieb:
3. Das ganze von vernuenftigen Hardware Routern erledigen lassen. Da gibts stabile Loesungen, denen eine statische IP Adresse auf einer Seite voellig ausreicht (mit l2tp z.B.) Wenn Dein Stundenlohn halbwegs ueber einem Euro liegt, dann ist das auch die guenstigste Variante ;-)

Gruss

Das tut mein stundenlohn definitiv nicht, denn ich bin student. Ich habe zwar kein geld, dafür zeit. :) Darum auch die idee mit freebsd-vpn

aber wenn du trotzdem einmal ein routerbeispiel nennen könntest, mit ungefährem preis, wäre ich dir dankbar.
 
Highfish schrieb:
Das tut mein stundenlohn definitiv nicht, denn ich bin student. Ich habe zwar kein geld, dafür zeit. :) Darum auch die idee mit freebsd-vpn

Also wenns so steht, dann haette ich noch paar Alternativen.

Untersuche mal den IPSec Router nach pptp oder l2tp. Wenn sich da was anfindet, koennte man evtl. was basteln.

Plan B: Proprietaere Tunnel. Wenn sich auf der Seite mit dynamischer IP kein FreeBSD Host befindet, dann evtl. ein Linux? Ein anderes BSD? Ein Solaris?

Ich benutze z.B. generell fuer Fernwartungstunnel nur den vtund. Gibts fuer die vorgenannten Systeme. Ist ein proprietaeres Tunnelprotokoll mit dem Vorteil, dass es gnadenlos solide ist und selbst mit dynamischen IPs und Reconnects auf beiden Seiten kein Problem hat (sofern wenigstens dyndns vorhanden ist). Hat den Nachteil, dass es mit der Sicherheit nicht so super weit her ist. Ist mit etwas zusaetzlicher Absicherung dann kein Problem, wenn Du nur stark verschluesselte Protokolle tunnelst. D.h. wenn Du nur z.B. ssh ueber den Tunnel benutzt und per Paketfilter sicherstellst, dass man mit einem geknackten Tunnel nicht automatisch lustig in das Netz routen kann. Wenn Du es noch eine Stufe sicherer haben willst, kannst Du durch den Tunnel nochmal ein IPSec im Tunnel Mode betreiben. Mit den beiden IPs der Tunnelendpunkte vom vtun hast Du naemlich dann die beiden statischen IPs, die Du hierfuer benoetigst. Ueber den Protokolloverhead decken wir mal lieber den Mantel des Schweigens. Was eine Matryoshka ist, das weisst Du? ;-)

Alternativ gibts noch OpenVPN. Hat fuer meine Anwendung ein paar Nachteile, koennte fuer Dich aber interessant sein. Das basiert naemlich komplett auf OpenSSL, benutzt Zertifikate und ist spielt dadurch in Punkto Sicherheit in einer ganz anderen Liga als der vtund. Das koennte man eigentlich aus meiner Sicht mit Einschraenkungen ohne einen weiteren Layer direkt als VPN einsetzen. Gibts uebrigens auch fuer Windows, falls Du wirklich gar nichts anderes auf der Seite mit der dynamischen IP rumstehen hast ;-).

Eine weitere Alternative koennte SuperFreeSwan sein. Das kann AFAIK NAT-Traversal und noch ein paar andere Spielereien. Allerdings eben nur unter Linux.

Letztlich kannst Du, wenn die Geschichte nicht missionskritisch und mehr so just for fun ablaeuft, ja durchaus mal mit dem FreeBSD herumexperimentieren. Ich will das gar nicht mal ausschliessen, dass man es damit nicht irgendwie hinbasteln kann. Evtl. isses ja fuer Deine Anwendung vertretbar, wenn der Tunnel alle paar Tage mal festhaengt.

Ich hatte mir zu so einem Setup auch schon mal einen Dirty Hack ueberlegt: ein zusaetzlicher Dienst, der, seinerseits meinethalben durch ein ssl geschuetzt, die neue IP uebermittelt. Server laeuft auf der Seite mit der statischen IP Adresse. Client waehlt sich von der dynamischen Seite ein und vermeldet dem statischen Host die neue IP. Ein Skript aendert dann die Daten der IPSec Verbindung und baut diese komplett neu auf. Auf dem Client passiert das gleiche. _Oder_ Du benutzt dyndns und ein cronjob pollt auf dem Host mit der statischen IP den DNS Eintrag. Sobald sich die Adresse aendert, siehe oben. Auf dem Client kann man das alles in die linkup Skripte vom ppp packen.

Klappt bei Dir nicht direkt, weil Du ja auf der dynamischen Seite nur den Hardware Router hast. Keine Ahnung, wie der zu sowas passt.

Du musst Dir halt dabei immer im Klaren sein, dass das alles, milde ausgedrueckt, eine Bastelloesung wird. Sowas will man eigentlich nur haben, wenn man 20cm vor sich den Boden eines 10l Eimers sieht ;-) Wenns am Ende irgendwie laeuft und man spart sich das Geld fuer die Hardware Router, dann interessiert das allerdings keinen mehr.

aber wenn du trotzdem einmal ein routerbeispiel nennen könntest, mit ungefährem preis, wäre ich dir dankbar.

Pffff. Dlink, Netgear, Bintec, Cisco, Zyxel ... Such Dir irgendwas aus. Da gibts ueberall Online Shops. Ich bin nur fuer IPSec und VPN Verbindungen auf Basis quelloffener Software zustaendig ;-) . Nein im Ernst, ist kein boeser Wille. Wenn ich sowas will, dann sag ich dem Anbieter meine Voraussetzungen und dann sagt der mir ein Geraet und irgendeinen Preis. Ich habe wirklich keine Ahnung, wie deren aktuelle Produktpalette genau aussieht und will auch nichts falsches erzaehlen. Fuer um die 300-500 Euro solltest Du da aber schon irgendwas bekommen. Bei Dlink und Netgear evtl. auch guenstiger (die wuerde ich dann aber vorher genau untersuchen).

Gruss
 
Zurück
Oben