Einrichtung Site-to-Site-VPN zwischen Linux (Strongswan) und Fritz!Box (Fritz!OS 7.29)

hoitschau

Member
Hallo Zusammen

Ich beschäftige mich gerade mit IPSec (Fritzbox zu Linux-Server, Netz zu Netz, Linux IPSec strongSwan).
Gibt es von AVM hierzu irgendwo technische Informationen bezüglich eingesetzter Technik,
damit ich ableiten kann wie ich den Linux-Server konfigurieren muss?

Meine Fritzbox hat gerade die Laborfirmware 7.39 auf der Fritzbox installiert, und ich meine gelesen zu haben, dass da bei IPSec einige Änderungen implementiert wurden.
Ich finde aber nirgends eine Dokumentation.

Und leider bekommt die Fritzbox vom LTE-Provider keine öffentliche IP-Adresse, weshalb auch dyn-dns nicht funktioniert.
Ich sehe in den IPSec Logs des Linux Servers, dass er das erkennt, und dann die öffentliche IP-Adresse nutzt, wo die Anfrage her kam (Fritzbox).
In allen Anleitungen, welche ich bis jetzt gefunden habe, werden für beide Seiten jeweils die Domains konfiguriert (left = ; right =).
Kann man da irgend wie auch konfigurieren, dass eine Seite dynamische IPs ohne Domain-Name nutzt?
Oder lässt man den Eintrag dann einfach weg?

Mit freundlichen Grüssen
hoitschau
 
Gibt es von AVM hierzu irgendwo technische Informationen bezüglich eingesetzter Technik,
damit ich ableiten kann wie ich den Linux-Server konfigurieren muss?
Schau mal hier: https://avm.de/service/vpn/tipps-tricks/fritzbox-mit-einem-firmen-vpn-verbinden/ ;)

Kann man da irgend wie auch konfigurieren, dass eine Seite dynamische IPs ohne Domain-Name nutzt?
Musst darauf achten, welche Seite die Verbindung initiiert. Einwahl zum LTE-Standort wird dann wohl spontan einfach mal "garnicht" funktionieren, andersrum würde es funktionieren, sofern die Gegenstelle nicht auch noch hinter einem NAT, dann stehen die Chancen ziemlich schlecht... vllt wäre da Wireguard noch eine Lösung, aber davon hab ich keine Ahnung. Bzgl. OpenVPN gilt das gleiche wie für IPSec, wenn Du via LTE nur eine private IP bekommst, der LTE-Standort "muss" sich anderswo einwählen (da es andersrum nicht funktionieren kann).
 
ok, aber wieso erschliesst sich mir nicht.
https://digitalrepublic.ch/de/

Die Frage gaht ja aber nicht um das LTE sondern um die Einstellungen der Fritzboxen bezüglich IPSec.
Glaube IKEv1 und IKEv2 oder so, bin mit den Begrifflichkeiten noch nicht so vertraut.

Aber danke trotzdem

Musst darauf achten, welche Seite die Verbindung initiiert. Einwahl zum LTE-Standort wird dann wohl spontan einfach mal "garnicht" funktionieren, andersrum würde es funktionieren, sofern die Gegenstelle nicht auch noch hinter einem NAT, dann stehen die Chancen ziemlich schlecht... vllt wäre da Wireguard noch eine Lösung, aber davon hab ich keine Ahnung. Bzgl. OpenVPN gilt das gleiche wie für IPSec, wenn Du via LTE nur eine private IP bekommst, der LTE-Standort "muss" sich anderswo einwählen (da es andersrum nicht funktionieren kann).
Ja die Fritzbox verbindet sich mit dem Linux-Server (fixe IP und eigene Domain).
Ich sehe die Aushandlung auch in den IPSec-Logs des LInux-Servers, aber die wird schon im Schritt 1 abgelehnt.
Ok damit komme ich schon mal etwas weiter.
Somit scheint IKEv1 und IKEv2 aktiv zu sein.
Jetzt frag ich mich natürlich ob das bei der Labor-Firmware 7.39 gleich ist?

In allen Anleitungen, welche ich bis jetzt gefunden habe, werden für beide Seiten jeweils die Domains konfiguriert (left = ; right =).
Kann man da irgend wie auch konfigurieren, dass eine Seite dynamische IPs ohne Domain-Name nutzt?
Oder lässt man den Eintrag dann einfach weg?
Hat dazu jemand noch eine Idee?
Auf dem Linuxserver scheint rechts = meinedomain.example.ch korrekt zu sein.
Aber was mache ich mit der linken Seite (Fritzbox)?
Lässt man das leer wenn man keine IP oder Domain hat?
 
Weil, zumindest hier in D, sich manchmal was über den APN drehen läßt, damit trotz LTE eine öffentliche IPv4 erhalten werden kann, was so manches bezüglich VPN und DynDNS etwas einfacher macht.
Leider nein, hab da schon mit dem Anbieter rumdiskutiert, nicht mal IPv6 bekomme ich eine öffentliche Adresse.
Aber ich glaub das ist nicht so tragisch, ich sehe ja die Anfragen der Fritzbox beim Linux-Server eingehen.
Ich glaub wenn ich die richtigen Parameter konfiguriere funktioniert es dann auch.
 
Nein auch nicht für Business-Kuinden. Die arbeiten mit einem Dienstleister zusammen, der natürlich Geld dafür will, und einen kleinen Router liefert, den man dann ins Netz hängt, und der dann glaub per Tunnel nach aussen eine Verbindung zu nem Server aufbaut, der dann die öffentlichen IPs verwaltet.
Die kennen also nur cg-NAT mit internen Adressen, oder per exernen Dienstleister fixe IPs.
Öffentliche dynamscihe IPs kennen die nicht.
Liegt wohl daran, dass das Abo nur 6.- unlimitiert, aber in der Geschwindigkeit begrenzt, kostet.

Der zugrundeliegende Netzbetreiber bietet das schon an, aber die Abos sind teurer.
 
Ach, machen die das auch mit diesem VIIRB, oder wie das Ding heißt? Davon hatte ich schon mal gehört, aber so weit habe ich jetzt die DR-Werbung nicht verfolgt.
 
So, hab mich nun mal mit IPSec beschäftigt.
Nun weiss ich, wieso Wireguard als einfach in Betrieb zu nehmen beschrieben wird ;-)

Folgendes Szenario hab ich getestet:

IPSec Server:
strongswan 5.5.3
erreichbar unter ipsec.meinedomain.com

Fritzbox 6850 LTE
FritzOS 7.29
keine öffentliche IP-Adresse vom Provider, CG-NAT

Server Konfiguration:
ipsec.conf
Code:
config setup
        
conn %default

        ikelifetime=50m
        keylife=50m
        rekeymargin=1m

        ike=aes256-sha1-modp2048
        esp=aes256-sha1-modp2048

        keyexchange=ikev1
        authby=secret

conn Fritzbox
        left=192.168.0.49
        leftid=ipsec.meinedomain.com
    
        right=0.0.0.0
        rightid=ab1aabababab1212.myfritz.net
        rightsubnet=192.168.1.0/24
        auto=add

ipsec.secrets

Code:
@ipsec.meinedomain.com @ab1aabababab1212.myfritz.net : PSK "14ZeichenXXX14"

strongswan.conf (unverändert, Aggressive Mode nicht aktiviert)

Code:
charon {
    load_modular = yes
    plugins {
        include /stat/etc/strongswan/strongswan.d/charon/*.conf
        #include strongswan.d/charon/*.conf
    }
}

include /stat/etc/strongswan/strongswan.d/*.conf
#include strongswan.d/*.conf

Fritzbox.conf

Code:
vpncfg {
        connections {
              enabled = yes;
              conn_type = conntype_lan;
              name = "Fritzbox";
              always_renew = yes;
              reject_not_encrypted = no;
              dont_filter_netbios = yes;
              localip = 0.0.0.0;
              local_virtualip = 0.0.0.0;
              remoteip = 0.0.0.0;
              remote_virtualip = 0.0.0.0;
              remotehostname = "ipsec.meinedomain.com";
              localid {
                      fqdn = "ab1aabababab1212.myfritz.net";
              }
              remoteid {
                      fqdn = "ipsec.meinedomain.com";
              }
              mode = phase1_mode_idp;
              phase1ss = "dh14/aes/sha";
              keytype = connkeytype_pre_shared;
              key = "14ZeichenXXX14";
              cert_do_server_auth = no;
              use_nat_t = no;
              use_xauth = no;
              use_cfgmode = no;
              phase2localid {
                      ipnet {
                              ipaddr = 192.168.1.0;
                              mask = 255.255.255.0;
                      }
              }
              phase2remoteid {
                      ipnet {
                              ipaddr = 192.168.0.0;
                              mask = 255.255.255.0;
                      }
              }
              phase2ss = "esp-aes-sha/ah-sha/comp-lzjh/pfs";
              accesslist = "permit ip any 192.168.0.0 255.255.255.0";
              app_id = 0;
      }
      ike_forward_rules = "udp 0.0.0.0:500 0.0.0.0:500",
                          "udp 0.0.0.0:4500 0.0.0.0:4500";
}

Meine Erfahrungen:
- Aggressive Mode ist nicht nötig
- Auf der Fritzbox hab ich trotz CGNAT eine MyFritz-Adresse generiert. Hab gelesen dass es gut ist wenn man einen fqdn verwendet, der zu einer IP-Adresse aufgelöst werden kann.
Für die Verbindungsaufnahme scheint der fqdn aber nicht nötig, da strongswan die IP-Adresse erkennt und dorthin antwortet.

Frage:

Ist das so korrekt oder löst man das besser anders?

Könnte man die Sicherheit noch erhöhen, oder ist das so das maximum was FritzOS 7.29 her gibt?

phase2ss = "esp-aes-sha/ah-sha/comp-lzjh/pfs";
Was konfiguriert man mit der Option "comp_"?

Bringt xauth ein Sicherheitsgewinn, oder wird das einfach für Multiuser Setups benötigt?

conn_type = conntype_lan;
Was konfiguriert man mit dieser Einstellung, und welche Syntax kann man nutzen?

Wie viele Zeichen lang darf das Passwort sein?

Hoffe dies hilft, wenn jemand ein schnelles Setup mit einer LTE Fritzbox aufsetzen will.
Mit freundlichen Grüssen
hoitschau
 
- Aggressive Mode ist nicht nötig
Mussteste ja der Fritzbox auch erstmal austreiben, der Parameter ist ja nicht umsonst gesetzt ☺️

Was konfiguriert man mit der Option "comp_"?
Da geht es um die Komprimierung (wer hätte es gedacht ☺️). Schauste mal generell hier https://www.rfc-editor.org/rfc/rfc4464.html bzw. konkreter hier https://www.rfc-editor.org/rfc/rfc4464.html#section-4.1.5 🙃

Könnte man die Sicherheit noch erhöhen, oder ist das so das maximum was FritzOS 7.29 her gibt?
Musste halt schauen, was die Proposals so hergeben...

Bringt xauth ein Sicherheitsgewinn, oder wird das einfach für Multiuser Setups benötigt?
XAuth ist eher für User, sowas braucht man in Site2Site-Setups eher nicht...

Tja, da schweigt sich selbst AVM drüber aus... Was die sonstigen Parameter angeht, das nächste mal z.B. einfach mal Google "conn_type site:avm.de", da purzeln dann Beispiel-Configs raus, wo "teilweise" die Parameter dokumentiert sind, wie z.B. https://avm.de/fileadmin/user_upload/DE/Service/VPN/box_box.pdf. Ein paar undokumentierte Dinge sind sicherlich selbsterklärend, wenn man ein bisschen in die Materie eingestiegen ist (z.B. NAT-T, oder die Proposals der beiden Phasen), manche Dinge sind halt so. Würde ich mir bei so einer Fritzbox aber auch keine großen Gedanken drüber machen, ausser Dich juckt es privat so richtig in den Fingern 😁
 
Da geht es um die Komprimierung (wer hätte es gedacht ☺️). Schauste mal generell hier https://www.rfc-editor.org/rfc/rfc4464.html bzw. konkreter hier https://www.rfc-editor.org/rfc/rfc4464.html#section-4.1.5 🙃
Haha danke, ich liebe es, RFC's zu studieren :ROFLMAO:.
Werd ich mal noch nachholen wenn ich mehr Lust hab.
Weisst du ev. ob das überhaupt einen Einfluss hat wenn ich Server-Seitig compress = yes nicht aktiviert hab?

Musste halt schauen, was die Proposals so hergeben...
Ja hab ich in etwa so versucht, AVM bezeichnet nur leider alles etwas anders, was das ganze nicht ganz einfach macht.

Tja, da schweigt sich selbst AVM drüber aus... Was die sonstigen Parameter angeht, das nächste mal z.B. einfach mal Google "conn_type site:avm.de", da purzeln dann Beispiel-Configs raus, wo "teilweise" die Parameter dokumentiert sind, wie z.B. https://avm.de/fileadmin/user_upload/DE/Service/VPN/box_box.pdf. Ein paar undokumentierte Dinge sind sicherlich selbsterklärend, wenn man ein bisschen in die Materie eingestiegen ist (z.B. NAT-T, oder die Proposals der beiden Phasen), manche Dinge sind halt so. Würde ich mir bei so einer Fritzbox aber auch keine großen Gedanken drüber machen, ausser Dich juckt es privat so richtig in den Fingern 😁
Ja ich hab in meiner Beispiel-Konfiguration die Sicherheit sicher schon höher konfiguriert, als es in den meisten Anleitungen beschrieben ist. Da ich aber noch Anfänger bin würde mich schon interessieren, was andere so für Konfigurationen nutzen.
Z.B. phase1ss = "dh14/aes/sha"; oder all/all/all

modp2048 hab ich auch in keiner Anleitung gefunden, aber beim Fehlersuchen gesehen dass die Fritzbox das anfragt.

Ist das effektiv besser so?

Und dann hab ich die Einstellungen allgemein noch auf das Minimum reduziert, aber so dass die Fritzbox noch verbindet.
Hab nicht gerne Dinge in der Konfiguration, die zwar alle empfehlen, aber eigentlich nicht nötig sind.
Da bin ich mir aber nicht sicher, ob es da Einstellungen gibt, die man besser drin hat, aber nicht zwingend nötig sind.
 
Weisst du ev. ob das überhaupt einen Einfluss hat wenn ich Server-Seitig compress = yes nicht aktiviert hab?
https://wiki.strongswan.org/projects/strongswan/wiki/connsection:
A value of yes causes the daemon to propose both compressed and uncompressed, and prefer compressed. A value of no prevents the daemon from proposing or accepting compression.
Die Fritzbox kennt halt 3 Möglichkeiten "Compression: None, LZJH, or deflate", wenn nicht komprimiert wird, sollte das also auch kein Thema sein... Steht per default wohl auf "no". LZJH nutzt Du ja anscheinend derzeit, zumindestens die Fritzbox, die Gegenseite nutzt es dannwohl nicht... :unsure: Und btw... https://datatracker.ietf.org/doc/html/rfc3173#section-4....
Two nodes may choose to negotiate IPComp in either or both
directions, and they may choose to employ a different compression
algorithm in each direction. The nodes MUST, however, negotiate a
compression algorithm in each direction for which they establish an
IPCA: there is no default compression algorithm.
...😜

modp2048 hab ich auch in keiner Anleitung gefunden
Das ist die Diffie-Hellmann-Gruppe... modp2048 müsste DH14 sein... und... also jetzt tut es mir echt schon fast leid, aber ich hab da grade mal was rausgesucht... https://datatracker.ietf.org/doc/html/rfc3526 (das ist auch nicht ganz so schlimm, versprochen! 😁). Halt als kleine Übersicht 🙃

Da ich aber noch Anfänger bin würde mich schon interessieren, was andere so für Konfigurationen nutzen.
Naja, denke, das ist schon ein wenig weiter als "Anfänger"... "Anfänger" ist via Web-Assistent 2 Fritzboxen miteinander zu verbinden. Mit irgendwelchen "unter-der-Haube"-IPSec-Konfigurationen setzt sich da niemand auseinander, denn die meisten sind einfach nur happy, wenn es funktioniert 😉

Da bin ich mir aber nicht sicher, ob es da Einstellungen gibt, die man besser drin hat, aber nicht zwingend nötig sind.
Lesen, lesen, lesen...(RFCs, man-Files und etwas Hirnschmalz sind schon eine gute Kombi) und halt auch nachträglich mal schauen... Logs durchschauen, Performance ein bisschen analysieren, ggf. mal was umstellen, wieder testen, usw. Auch ruhig mal ein Auge drauf haben, ob die Tunnel wirklich solange bestehen bleiben, wie Du es Dir vorgestellt hast (mal abgesehn von irgendwelchen 24h-Disconnects), oder ob es da ggf. noch Probleme gibt, denn von der Lifetime (IKE+IPSec) hab ich bei der Fritzbox nix gesehen (den Parameter hast Du bei Strongswan ebenfalls (lifetime = ... per default auf 1h)), keine Ahnung, wie die Fritzbox das so handhabt... könnte aber ggf. auch einfach 1 Stunde sein, dass würde das schon automagisch passen.
 

Zurzeit aktive Besucher

Letzte Anleitungen

Statistik des Forums

Themen
4.383
Beiträge
45.256
Mitglieder
3.984
Neuestes Mitglied
Blitzkriegbob90
Zurück
Oben