Fritzbox openvpn mit 3 Servern/Client

belu

Neuer User
Mitglied seit
14 Nov 2006
Beiträge
9
Punkte für Reaktionen
0
Punkte
1
Hallo,
nachdem ich hier schon x Beiträge gelesen habe, wie man einen VPN Tunnel mit den Fritzboxen herstellt und auch schon mal jemand hier ein ähnliches Problem hatte, meiner Meinung nach aber nicht klar geklärt wurde, möchte ich gern an Euch die Bitte richten, mir mal ein paar Tips zu geben.

Also ich habe 3 Fritzboxen 7050. Einmal 2x Thüringen und 1x Hessen.
Keine soll ausschließlich im Clientmodus laufen. Es soll ein Dreieck aufgebaut werden, also A-B-C. Dazu soll ein Tunnel zwischen A-B, B-C und A-C bestehen.
Wenn also ein Routing von A nach C gehen soll, soll das eben nicht über B laufen.

Wie realisiere ich das mit opnenvpn?
Ich könnte ja eine FB mit proto tcp-server in den Servermodus versetzen und die anderen FBs mit tcp-client und remote in den Clientmodus. Das würde ich aber gern umgehen.

Kann man openvpn nicht gleichzeitig mit proto tcp-server und proto tcp-client betreiben? Gelesen habe ich auch was mit nur proto tcp, kann mir hier aber keinen Reim drauf machen, wie die Verbindungen aufgebaut werden.

Wer hat sowas schonmal realisiert? Übrigens, ich würde gern tun-devices verwenden.

Ich bitte sehr um Eure Hilfe.

MfG
belu
 
Mal ein Versuch...

Voraussetzung ist, dass die LANs hinter den Boxen disjunkte IP-Kreise haben.
Damit die Konfig möglichst einfach ist, sollten diese pro box möglichst ähnlich sein.
Mein Vorschlag:
- Auf jeder box sowohl server als auch Client laufen lassen mit unerschiedlichen Konfigs.
- Alle Server lauschen auf den gleichen Port 1194 TCP (ist einfacher zu debuggen (telnet IP 1194 zum testen der Verbindung))
- Auf allen boxen das gleiche static.key
Es sind also folgende 3 Verbindungen zu konfigurieren (der erste Buchstabe ist der Server, der 2. der Client) macht 6 Konfigs (jeweils 2 configs pro box in /mod/etc/)
AB, BC, CA

AB-server.conf (auf box A)
------------------------
proto tcp-server
port 1194
daemon
secret /tmp/flash/static.key

ifconfig 10.0.0.1 10.0.0.2
dev-type tun
dev-node /dev/misc/net/tun

float
comp-lzo
tun-mtu 1400
mssfix

persist-key
persist-tun
ping 15
ping-restart 120
push "ping 15"
push "ping-restart 120"
------------------------
Auf der A-Box muss dann ein Portforwarding
eingerichtet werden:
port: 1194 /TCP
Ziel: 10.0.0.1

AB-client.conf (auf box B)
------------------------
proto tcp-client
remote A.dyn.dns
dev tun
ifconfig 10.0.0.2 10.0.0.1

route $LAN A-Netz und Maske$
push "route $LAN B-Netz und Maske$"

tun-mtu 1400
comp-lzo

secret /tmp/flash/static.key
persist-key
persist-tun
------------------------

Configs für BC und CA:
- Für BC statt 10.0.0.1 und 10.0.0.2
als Peer IPs 10.0.0.5 10.0.0.6 verwenden,
CA Peer IPs 10.0.0.9 10.0.0.10
- dyn.dns in XY-client.config anpassen

dann auf der A box:
openvpn --config /mod/etc/ab-server.conf &
auf der B-box:
openvpn --config /mod/etc/ab-client.conf &

Damit sollte AB stehen, die anderen entsprechend.

Versuch es zuerst mit den Boxen A und B, wenn das klappt dann die 3. einbinden. Wenn sich die Peer IP der Gegenstelle pingen läßt, aber das dahinter liegende Netz nicht erreichbar ist, mussen ggf die Routen manuel
hizugefügt werden. Wenn alles klappt, dann das ganze in den DS-Mod mit reinbiegen, damits auch nach dem Reboot klappt...

Korrekturen und Verbesserungsvorschläge willkommen.

Gruß
Tom

PS: Keine Korrektur: Routen werden jetzt auf ClientSeite gesetzt und MTU auf 1400
 
Zuletzt bearbeitet:
Hallo.
vielen Dank für Deine Antwort. Ich werde Deinen Vorschlag testen.
Trotzdem noch ein paar Unklarheiten.
1. wieso die MTU auf 1400?
2. push setzt doch voraus, das die Gegenstelle mit pull die Anfrage startet. pull hingegen geht nur mit der Einstellung tls-client (also Certificate). Helf mir mal auf die Sprünge.
3. läuft den auf der Fritzbox Version von openvpn überhaupt comp-lzo ?
4. Du verwendest auf der Clientseite nur einen remote Befehl. Damit dürfte doch kein Dreieck zustandekommen.

Vielen Dank nochmals für Deine Mühe. Ich hoffe Du kannst mir auch bei meinen neuen Fragen Licht ins Dunkel bringen.
MfG
Belu
 
Hallo Belu,

zu 1. da bin ich dann relativ sicher unter maximalen grösse, je nach Einwahlkonstrukt. Wenns tut, kannst Du tunen.
Die Meldung mit "MTU 1500" Bytes ist am DSL-Anschluss nicht sinnig, sondern nur an einem Ethernet nach aussen.
zu 2. Offensichtlich nicht sauber, bei mir läuft eine Mischkonfig von 2.1 und 2.0
zu 3. Ja, Anleitung im Forum aber wenns auch ohne erstmal geht...
zu 4. Jede box ist Client und Server
Für Verbindung AB ist Box A Server und Box B Client
Für Verbindung BC ist Box B Server und Box C Client
Für Verbindung CA ist Box C Server und Box A Client
--> aka: Macht einen Kreis

Gruß
Tom

BTW: Hast du schon eine Stecke stehen?
 
Zuletzt bearbeitet:
Hallo Tom,
zu 1. Hast Du völlig recht, DSL würde sonst die Pakete fragmentieren. Danke für den Hinweis.

zu 2. Muestest Du mal hier kurz Deine Konfig von Client und Server posten, wie gesagt bei mir sind beide Enden des VPN-Tunnels FBF7050. Vielleicht geht der pull Befehl ja bei einer neueren VPN Version auch im modus tcp-client.

zu 3. Verstehe ich nicht so ganz. Ist die nun angebotene Version von beta.the-construct.com mit comp-lzo kompiliert oder nicht? Habe mir einfach von fritzbox.the-construct.com/files/openvpn/ die binaries gezogen und auf dem eigenen webserver eingespielt.

zu BTW: Hast du schon eine Stecke stehen?
Du meinst sicherlich Strecke. Ja, aber z.Z. nur als herkömmliche Client-Server mit preshared keys.

Warum ich so sehr an der Push/pull Anweisung interessiert bin lässt sich schnell erklären. In einem Netz (client-Seite) habe ich keinen dns-Server. Ich möchte auch nicht auf den Wks. überall hosts und lmhosts Einträge pflegen. Für den Internetverkehr soll der DNS in der FBF benutzt werden. Wenn nun der VPN Tunnel steht (und nur dann), könnte openvpn-server dem openvpn-client mittels push "DHCP option DNS x.x.x.x" mitteilen, das jetzt ein anderer DNS für die Namesauflsung mit mittels push "DHCP option WINS x.x.x.x" ein WINS Server für die Netbios Auflösung benutzt wird. Leider kann man nämlich in der FBF keinen Namenserver hinterlassen.

Gruß Belu

zu 4. Hab ich nun Verstanden, danke!
 
zu BTW: Hast du schon eine Stecke stehen?
Du meinst sicherlich Strecke. Ja, aber z.Z. nur als herkömmliche Client-Server mit preshared keys.

--> Dann bist Du ja fast fertig

Warum ich so sehr an der Push/pull Anweisung interessiert bin lässt sich schnell erklären. In einem Netz (client-Seite) habe ich keinen dns-Server. Ich möchte auch nicht auf den Wks. überall hosts und lmhosts Einträge pflegen. Für den Internetverkehr soll der DNS in der FBF benutzt werden. Wenn nun der VPN Tunnel steht (und nur dann), könnte openvpn-server dem openvpn-client mittels push "DHCP option DNS x.x.x.x" mitteilen, das jetzt ein anderer DNS für die Namesauflsung mit mittels push "DHCP option WINS x.x.x.x" ein WINS Server für die Netbios Auflösung benutzt wird. Leider kann man nämlich in der FBF keinen Namenserver hinterlassen.

Das hast Du bei Deiner Anfrage nicht geschrieben.
Bitte stell doch einfach Deine Anforderungen klar, deutlich und vollständig heraus. Das reduziert den Overhead.

Was ich nicht verstehe: Du hast in Deiner ersten Mail von 3 FBF 7050 gesprochen.
ds-Mod mit dnsmasq sollte doch auch auf den tun? Oder welchen dnsd willst Du einsetzen? Der von der FB liest leider nicht die /etc/hosts (afaik), falls das Deine Idee war.
Bitte schreib doch einfach die vorhandene HW, Zugangstypen (FLAT/Volumen/Zeit, BB) und Dein Ziel sauber auf.
Meistens kommt der (er)lösende Gedanke neben bei.

Gruß
Tom
 

Zurzeit aktive Besucher

Statistik des Forums

Themen
246,229
Beiträge
2,248,412
Mitglieder
373,799
Neuestes Mitglied
Gracesorlie
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.