- Mitglied seit
- 21 Nov 2018
- Beiträge
- 27
- 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
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:
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:
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
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!!!!!
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
Und die vpncfg einer 7.19er Fritzbox im idp-Modus und an einem ipv4 Anschluss:
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
dpdaction=restart
dpddelay=5
dpdtimeout=25
ikelifetime=1h
keylife=1h
keyexchange=ikev1
aggressive=yes # wird unbedingt benötigt bei meinen 7.12er Fritzboxen
authby=psk
auto=add
left=%defaultroute
leftid=@XXXXXXX # 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: