[HowTo] Site 2 Site/ LAN 2 LAN: Fritzbox (mit DS-Lite) mit Strongswan Server Kopplung

davidwohnthier

Neuer User
Mitglied seit
21 Nov 2018
Beiträge
26
Punkte für Reaktionen
0
Punkte
1
Ich hab mich relativ lange... circa eine Woche um ehrlich zu sein mit dem Verbinden von verschiedenen Fritzboxen an einen VPS herumgeärgert. Ziel war es, mehrere Fritzboxen an einen Server zu verbinden, um es Roadwarrior zu ermöglichen sich zu diesem zu verbinden und in Folge dessen Zugriff auf die verschiedenen Netzwerke der Fritzboxen zu bekommen. Die Konfiguration mit "normalen" Fritzbox, welche einen Ipv4 Anschluss besitzen ging aus irgend einem Grund relativ problemlos (Konfiguration dieser angehängt). Problematisch war die Fritzbox, welche hinter einem DS-Lite Anschluss hängt und ein Vodafone Leihgerät ist (Formware 7.12). Tatsache ist: AVM ändert wieder irgend etwas zwischen 7.12 und 7.19Labor. Was bei 7.19Labor funktioniert, funktioniert aus irgend einem Grund nicht bei 7.12. Hin oder her. Hier jetzt erst einmal die Konfiguration für die Verbindung einer Vodafone Fritzbox 6490 7.12 (kdg), welche per DS-Lite Tunnel verbunden ist.

Kurzfassung:
- Es funktioniert nur im aggressive Modus
- Es müssen mehrere Einstellungen in der Fritzbox vpncfg geändert werden - wichtige Stellen sind fettgedruckt

Server-Seite Teil 1/3:

/etc/ipsec.conf
Code:
config setup
    uniqueids=no
   
conn AVM1-AGGRO
    keyexchange=ikev1
    aggressive=yes                     # wird unbedingt benötigt bei meinen 7.12er Fritzboxen
    authby=psk
    auto=add
    left=%defaultroute
    [email protected]                 # hier steht in meinem Fall die Server-"DYNDNS" z.B. beispiel.no-ip.com
    leftsourceip=192.168.42.1
    leftsubnet=192.168.42.0/24
    right=%any
    [email protected]             # hier steht in meinem Fall die beispiel.myfritz.net Adresse
    rightsubnet=192.168.177.0/24     # hier muss das Subnet der Fritzbox eingetragen werden, in meinem Fall eben 192.168.177.0/24
    ike=aes256-sha-modp1024          
    esp=3des-sha
Server-Seite Teil 2/3:
Es muss eine neue Datei im Ordner "strongswan.d" (in meinem Fall /etc/strongswan.d/) erstellt werden.
Die Datei "local.conf" nennen und folgenden Inhalt reinkopieren:

Code:
charon {
    # Allow IKEv1 Aggressive Mode with pre-shared keys as responder.
    i_dont_care_about_security_and_use_aggressive_mode_psk = yes
}
Server-Seite 3/3:
Da wir für die Authentifizierung PSK verwenden brauchen wir natürlich auch einen Schlüssel in der ipsec.secrets Datei. In meinem Fall liegt diese in /etc/ipsec.secrets und schaut wie folgt aus:

Code:
: PSK "XXXXXXXXXXXXXX" # unbedingt einen langen, nicht brutforce-baren Key verwenden!!
%any  %any  : PSK "XXXXXXXXXXXXXX" # hier der selbe Key - eventuell nicht benötigt, egal
Fritzbox Seite:
Ich für meinen Teil habe den umständlichen Weg gewählt erst einmal im Web-Interface eine neue Verbindung mit den passenden Parametern anzulegen und dann die Sicherung dieser Konfiguration herunterzuladen und die Datei dann zu editieren. Nach Abschluss der Edit-Arbeiten muss der Inhalt der Datei dann auf folgender Seite hochgeladen werden, dann auf "Berechnen" drücken um die Checksumme neu zu berechnen, dann auf herunterladen drücken. Die heruntergeladene Datei ist die richtige Datei um dann wieder bei der Fritzbox eingespielt zu werden. Ohne die neue Checksumme akzeptiert die Fritzbox die Sicherungsdatei nicht. Link zur Seite um die Checksumme neu zu berechnen: https://www.mengelke.de/Projekte/FritzBox-JSTool
--> Ich füge hier gerne eine bequemere Lösung ein. So hab ich es gemacht.
Edit mit Info von eisbaerin:
Die Verbindung im WebGUI löschen und dann nur den vpncfg Teil in einer Datei speichern und dann unter VPN-Verbindungen diese Datei hochladen. Das ist wirklich deutlich bequemer :)
Einfach aus der Sicherungsdatei den VPN-Teil ausschneiden.
Den dann beliebig ändern und in der GUI unter VPN als Datei reinladen.
Vorher den alten Eintrag löschen.

In der Konfigurationsdatei den "vpncfg" Abschnitt suchen und die richtige VPN Verbindung anschauen und editieren, nach folgendem Schema. Damit es mit der DS-Lite Box von Vodafone funktioniert hat waren vor allem die Änderungen in phase1ss und phase2ss unabdingbar. Der Mode bleibt auf aggressive, aber jetzt im Detail. :

WICHTIG: NICHT DIE "#.... [Anmerkung" ÜBERNEHMEN!!!!!

Code:
vpncfg {
        vpncfg_version = 1;
        connections {
                enabled = yes;
                editable = no;                                    # editable von yes auf no ändern
                conn_type = conntype_lan;
                name = "LAN2SERVER";                  # Hier steht der individuelle Name der Verbindung
                boxuser_id = 0;
                always_renew = yes;                         # hier von no auf 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 = 192.168.42.1;      # falls nicht eh schon, hier die Virtual IP des Servers
                remotehostname = "beispiel.no-ip.com";        # hier den dyndns der Server-Seite
                keepalive_ip = 192.168.42.1;            # hier eine - am besten vom Server - IP aus dem Server-Subnet
                localid {
                        fqdn = "beispiel.myfritz.net";               # hier die, auch in der Server-Config verwendete "rightID", also beispiel.myfritz.net
                }
                remoteid {
                        fqdn = "beispiel.no-ip.com";                   # hier die leftID aus der Server-Config, in meinem Fall beispiel.no-ip.com
                }
                mode = phase1_mode_aggressive;        # der Modus bleibt Aggressive
                phase1ss = "LT8h/all/all/all";        # hier muss LT8h vor das standardmäßige all/all/all hinzugefügt werden
                keytype = connkeytype_pre_shared;
                key = "XXXXXXXXXXXXXXX";            # hier muss der individuelle UNBEDINGT lange und nicht brute-forcebare PSK Schlüssel aus der ipsec.secrets eingetragen werden
                cert_do_server_auth = no;
                use_nat_t = yes;
                use_xauth = no;
                use_cfgmode = no;
                phase2localid {
                        ipnet {
                                ipaddr = 192.168.177.0;
                                mask = 255.255.255.0;
                        }
                }
                phase2remoteid {
                        ipnet {
                                ipaddr = 192.168.42.0;
                                mask = 255.255.255.0;
                        }
                }
                phase2ss = "esp-3des-sha/ah-no/comp-no/no-pfs";                # hier muss der Eintrag so angepasst werden, wie er hier in diesem beispiel steht!
                accesslist = "permit ip any 192.168.42.0 255.255.255.0";
                app_id = 0;
        }
}
Mit dieser Konfiguration funktioniert die Verbindung einer Fritzbox 6490 7.12 (kdg) an einem DS-Lite Anschluss mit einem Strongswan Server 5.7.2. Ich konnte die 7.19er Fritzboxen auch im nicht aggressive Modus verbinden - bei den 7.12er hat das einfach nicht funktioniert. Die Phase2 ist immer abgerissen. Warum? Ich hab es nicht rausgefunden. Vor allem, falls jemand Anmerkungen bezüglich Sicherheit hat, baue ich die sehr gerne ein!!!

Hier noch schnell die Konfigurationen für den nicht-aggressive Modus, der bei mir bei 7.19er Fritzboxen funktioniert:

ipsec.conf

Code:
conn avm  
    keyexchange=ikev1  
    authby=psk  
    auto=add  
    left=%defaultroute
    [email protected]    
    leftsourceip=192.168.42.1
    leftsubnet=192.168.42.0/24
    right=%any  
    rightsubnet=192.168.0.0/24
    [email protected]
    ike=aes256-sha-modp1024!
    esp=3des-md5!
    ikelifetime=3600s
    keylife=3600s
Und die vpncfg einer 7.19er Fritzbox im idp-Modus und an einem ipv4 Anschluss:
Code:
vpncfg {
        vpncfg_version = 1;
        connections {
                enabled = yes;
                editable = no;
                conn_type = conntype_lan;
                name = "LAN2VPS";
                boxuser_id = 0;
                always_renew = yes;
                reject_not_encrypted = no;
                dont_filter_netbios = yes;
                localip = 0.0.0.0;
                local_virtualip = 0.0.0.0;
                remote_virtualip = 192.168.42.1;
                remotehostname = "beispiel.no-ip.com";
                keepalive_ip = 192.168.42.1;
                localid {
                        fqdn = "beispiel.myfritz.net";
                }
                remoteid {
                        fqdn = "beispiel.no-ip.com";
                }
                mode = phase1_mode_idp;
                phase1ss = "all/all/all";
                keytype = connkeytype_pre_shared;
                key = "XXXXXXXXXXXXXXXXXXXXXXXXXX";
                cert_do_server_auth = no;
                use_nat_t = yes;
                use_xauth = no;
                use_cfgmode = no;
                phase2localid {
                        ipnet {
                                ipaddr = 192.168.0.0;
                                mask = 255.255.255.0;
                        }
                }
                phase2remoteid {
                        ipnet {
                                ipaddr = 192.168.42.0;
                                mask = 255.255.255.0;
                        }
                }
                phase2ss = "esp-all-all/ah-all/comp-all/no-pfs";
                accesslist = "permit ip any 192.168.42.0 255.255.255.0";
                app_id = 0;
        }
}
 
Zuletzt bearbeitet:

eisbaerin

IPPF-Promi
Mitglied seit
29 Sep 2009
Beiträge
7,999
Punkte für Reaktionen
392
Punkte
83
Ich füge hier gerne eine bequemere Lösung ein.
Einfach aus der Sicherungsdatei den VPN-Teil ausschneiden.
Den dann beliebig ändern und in der GUI unter VPN als Datei reinladen.
Vorher sicherheitshalber den alten Eintrag löschen.
 
Zuletzt bearbeitet:
  • Like
Reaktionen: davidwohnthier
3CX

Statistik des Forums

Themen
235,892
Beiträge
2,067,347
Mitglieder
356,881
Neuestes Mitglied
LTH-doc