[Frage] AVM VPN zwischen zwei FritzBoxen (eine ohne öffentliche IP)

LittleNoMuc

Neuer User
Mitglied seit
11 Nov 2013
Beiträge
27
Punkte für Reaktionen
0
Punkte
0
Ich habe genau die gleiche Ausgangssituation wie der Kollege hier in seinem Thread, einen normalen DSL-Anschluss in Deutschland mit FritzBox 7412 und öffentlich erreichbarer IP-Adresse, und einen billig-Anschluss in meinem Ferienhaus in Tschechien mit FritzBox 7390, der zwar auch DSL ist, aber ohne öffentliche IP (quasi wie im Mobilfunk-Netz). Und auch ich möchte Überwachungskamera und Hausautomation von zuhause im Ferienhaus erreichen. Dazu wollte ich jetzt einen VPN-Tunnel vom Ferienhaus zu mir nach Hause dauerhaft aufbauen lassen.

Wenn ich die Konfiguration in beiden FritzBoxen über den eingebauten Assistenten im Webinterface mache, kommt gar kein Verbindungsaufbau zustande. Deshalb habe ich also Konfigurationsdateien mit "Fritz Fernzugang einrichten" erstellt. (aktuell Teste ich bei mir zuhause mit einer weiteren FritzBox 7390 die über UMTS-Stick online ist, weil die Anfahrt von 300km für jeden kleinen Versuch etwas weit wäre). Beide FritzBoxen zeigen das VPN als verbunden an und geben keine Fehlermeldungen aus, aber eine Kommunikation ist nicht möglich. (Mir ist bewusst das die beiden Fritz-Box-Netzwerke in unterschiedlichen IP-Adressbereichen sein müssen, und Geräte im entfernten Netz nur über IP-Adresse erreichbar sind. Ein ping auf die IP-Adresse der jeweils anderen FritzBox funktioniert in beiden Richtungen schon nicht (timeout))

Weil ich jetzt schon 2 Tage drüber brüte und nicht rausfinde woran das noch liegen kann, bitte ich euch hier um Hilfe. Könnte einer von euch bitte über meine Konfigurations-Dateien drüber schauen?


FritzBox in Deutschland mit öffentlicher IP:
Code:
vpncfg {        connections {
                enabled = yes;
                conn_type = conntype_lan;
                name = "CZ";
                always_renew = no;
                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 = "none";
                localid {
                        fqdn = "DYNDNS_Name_Deutschland";
                }
                remoteid {
                        fqdn = "none";
                }
                mode = phase1_mode_aggressive;
                phase1ss = "all/all/all";
                keytype = connkeytype_pre_shared;
                key = "gleicherKeyInBeidenFBs";
                cert_do_server_auth = no;
                use_nat_t = yes;
                use_xauth = no;
                use_cfgmode = no;
                phase2localid {
                        ipnet {
                                ipaddr = 192.168.3.0;
                                mask = 255.255.255.0;
                        }
                }
                phase2remoteid {
                        ipnet {
                                ipaddr = 192.168.20.0;
                                mask = 255.255.255.0;
                        }
                }
                phase2ss = "esp-all-all/ah-none/comp-all/pfs";
                accesslist = "permit ip any 192.168.20.0 255.255.255.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";
}


FritzBox in Ferienhaus, ohne öffentliche IP:
Code:
vpncfg {        connections {
                enabled = yes;
                conn_type = conntype_lan;
                name = "Home";
                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 = "DYNDNS_Name_Deutschland";
                localid {
                        fqdn = "none";
                }
                remoteid {
                        fqdn = "DYNDNS_Name_Deutschland";
                }
                mode = phase1_mode_aggressive;
                phase1ss = "all/all/all";
                keytype = connkeytype_pre_shared;
                key = "gleicherKeyInBeidenFBs";
                cert_do_server_auth = no;
                use_nat_t = yes;
                use_xauth = no;
                use_cfgmode = no;
                phase2localid {
                        ipnet {
                                ipaddr = 192.168.20.0;
                                mask = 255.255.255.0;
                        }
                }
                phase2remoteid {
                        ipnet {
                                ipaddr = 192.168.3.0;
                                mask = 255.255.255.0;
                        }
                }
                phase2ss = "esp-all-all/ah-none/comp-all/pfs";
                accesslist = "permit ip any 192.168.3.0 255.255.255.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";
}

Im "Fritz Fernzugang einrichten" konnte ich den Domainnamen/Adresse für die Ferienhaus-FritzBox nicht leer lassen, deshalb habe ich hier "none" eingetragen. Versucht habe ich bereits den Eintrag von Hand aus der conf zu entfernen, dann wird die Verbindung aber gar nicht aufgebaut mit Fehler 0x2005.
 
Im "Fritz Fernzugang einrichten" konnte ich den Domainnamen/Adresse für die Ferienhaus-FritzBox nicht leer lassen, deshalb habe ich hier "none" eingetragen. Versucht habe ich bereits den Eintrag von Hand aus der conf zu entfernen, dann wird die Verbindung aber gar nicht aufgebaut mit Fehler 0x2005.
In beiden Boxen (über Kreuz) einen Wert bei "fqdn" eintragen, der auch wie ein FQDN aussieht, z.B. deutschland.meine-domain.de und tschechien.meine-domain.de ... in der vpn.cfg der Box in D den Eintrag "remotehostname" komplett entfernen und in der Konfigurationsdatei für das Ferienhaus den Eintrag beim "remotehostname" auf den DynDNS-Namen des Anschlusses in D setzen. Dann in diese Konfiguration noch einen Eintrag "keepalive_ip = <IP-Adresse im LAN in D>;" setzen (das müßte dann irgendwas aus 192.168.3.0/24 sein) und die Box in CZ sollte die Verbindung aufbauen.

Wenn das nicht funktioniert, die Namen nur so weit maskieren, daß man die Struktur noch erkennt (DYNDNS_Name_Deutschland kann eben kein FQDN sein) und an die Stelle einer "verbalen Beschreibung" einfach die IKE-Protokolle aus den Support-Daten setzen. Das liest sich erstens leichter und ist mit hoher Wahrscheinlichkeit auch aussagekräftiger/präziser als Prosa. Auch hier gilt allerdings, daß beide Boxen neu gestartet werden sollten, damit die IKE-Protokolle wirklich vollständig (von Beginn an) sind. Wenn Du es für notwendig erachtest, die Protokolle zu anonymisieren (eine dynamische IP-Adresse muß man sicherlich nur in den wenigsten Fällen unkenntlich machen), dann auch da nur in Maßen ... Anonymität/"Nicht-Wiedererkennen" ist das eine, eine falsche Angabe, weil man etwas mißverstanden hat, die man aber wieder "maskiert", wird leicht zur unendlichen Geschichte.
Auch noch einmal der Hinweis, daß so eine VPN-Verbindung eine zweiseitige Sache ist und daher gehören da immer die Konfigurationen und Protokolle beider Seiten (wenn da kein Firmen-VPN im Spiel ist, wo man an die Angaben nicht herankommt) zu einer kompletten Problembeschreibung.
 
sorry, mein Fehler, der FQDN war natürlich anonymisiert und entspricht im Original dem tatsächlich Funktionierenden. Ich stimme dir zu das übertriebene Anonymisierung nicht weiter hilft, aber da der Verbindungsaufbau in meinem Fall ja von Anfang an klappt, bin ich davon ausgegangen dass das nicht weiter wichtig ist. Die tschechische Seite kann aber keinen real existierenden FQDN haben mangels der öffentlichen IP-Adresse.

Dann in diese Konfiguration noch einen Eintrag "keepalive_ip = <IP-Adresse im LAN in D>;" setzen (das müßte dann irgendwas aus 192.168.3.0/24 sein) und die Box in CZ sollte die Verbindung aufbauen.
muss der an eine bestimmte Stelle? oder wie genau muss der Eintrag aussehen? Habs grade versucht, aber damit weigert sich die FritzBox die conf zu importieren.

Wie dem auch sei, die Kommunikation scheint zu funktionieren (habe ja aktuell nur den "remotehostname" aus der deutschen FB entfernt, was also wohl die Ursache war), ich kann es aktuell nur nicht gründlich testen weil jetzt die Datendrossel von meinem Versuchs-UMTS-Stick angesprungen ist :mad: Dann bräuchte ich nur noch den keepalive Eintrag damit die tschechische FB auch selbständig die Tunnel aufbaut
 
Zum Format bitte wieder die Suchfunktion benutzen, es gibt genug Templates und/oder funktionierende Konfigurationen, wo auch "keepalive_ip" gesetzt ist - alternativ kann man das auch in einer per GUI konfigurierten Verbindung (über Export und/oder Support-Daten) sehen, wenn man da "Verbindung immer halten" (o.ä.) konfiguriert hat.

EDIT: Man kann auch für P1 den real existierenden FQDN der deutschen Box verwenden ... es ist aber eben nicht notwendig. Das sind nur "Schlüssel", damit der korrekte VPN-Eintrag gefunden werden kann ... in aller Regel wäre die "local_id" ja der eigene Name und verschiedene Peers könnten dann eben nur anhand einer abweichenden "remote_id" unterschieden werden ... diese Werte für die Identifikation in P1 müssen nur der Syntax eines FQDN entsprechen (irgendjemand hatte mal Probleme mit der TLD "local", die von mDNS/Bonjour/avahi verwendet wird, deshalb würde ich die meiden) und haben aber auch gar nichts mit irgendeiner "Adressierung" im IP-Protokoll zu tun. Der richtige Peer wird nur auf der Basis der Angabe in "remotehostname" gesucht und gefunden, das muß keinesfalls derselbe Wert sein, der in den IDs für P1 steht.
 
Zuletzt bearbeitet:
vielen Dank, funktioniert.

Jetzt kommt die Anschlussfrage, die kommen muss ;): ein Routing bzw. eine Portweiterleitung eingehend bei meiner deutschen FritzBox durch den Tunnel auf ein Gerät im Netz der tschechischen FritzBox, sprengt vermutlich die Möglichkeiten des AVM VPN? oder gibts da einen Weg?
 
Nur mit Zusatzsoftware ... das AVM-VPN basiert darauf, daß sich die VPN-Verbindungen alle "hinter dev dsl" befinden und die FRITZ!Box akzeptiert nur Freigaben/Routen, die über "dev lan" gehen.
 
gib mal paar Infos, fürchte zwar das mir das zu hoch wird, aber ich würds gern versuchen
 
War leider bisschen zu früh gefreut: exakt die gleiche Conf-Datei, die im Versuchsaufbau über die UMTS-Verbindung jetzt funktioniert hat, funktioniert in der Realität im Ferienhaus nicht. Die dortige FritzBox spuckt dazu die Fehlermeldung "0x1c" aus
 
Na ja, da 0x001c für "invalid id" steht, bezweifele ich das mit dem "exakt" irgendwie ... aber auch hier gilt: Zeigt her eure Konfigurationen, zeigt her die Protokolle ... ich bin zu alt um nur zu raten, zu jung um ohne Ideen zu sein.
 
die deutsche Seite:
Code:
vpncfg {        connections {
                enabled = yes;
                conn_type = conntype_lan;
                name = "HHSL";
                always_renew = no;
                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;
                localid {
                        fqdn = "fqdn_de.de";
                }
                remoteid {
                        fqdn = "fqdn_cz.de";
                }
                mode = phase1_mode_aggressive;
                phase1ss = "all/all/all";
                keytype = connkeytype_pre_shared;
                key = "b51";
                cert_do_server_auth = no;
                use_nat_t = yes;
                use_xauth = no;
                use_cfgmode = no;
                phase2localid {
                        ipnet {
                                ipaddr = 192.168.3.0;
                                mask = 255.255.255.0;
                        }
                }
                phase2remoteid {
                        ipnet {
                                ipaddr = 192.168.178.0;
                                mask = 255.255.255.0;
                        }
                }
                phase2ss = "esp-all-all/ah-none/comp-all/pfs";
                accesslist = "permit ip any 192.168.178.0 255.255.255.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";
}


die Ferienhaus-Seite:
Code:
vpncfg {        connections {
                enabled = yes;
                conn_type = conntype_lan;
                name = "fqdn_de.de";
                always_renew = no;
                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;
                keepalive_ip = 192.168.3.1;
                remotehostname = "fqdn_de.de";
                localid {
                        fqdn = "fqdn_cz.de";
                }
                remoteid {
                        fqdn = "fqdn_de.de";
                }
                mode = phase1_mode_aggressive;
                phase1ss = "all/all/all";
                keytype = connkeytype_pre_shared;
                key = "b51";
                cert_do_server_auth = no;
                use_nat_t = yes;
                use_xauth = no;
                use_cfgmode = no;
                phase2localid {
                        ipnet {
                                ipaddr = 192.168.178.0;
                                mask = 255.255.255.0;
                        }
                }
                phase2remoteid {
                        ipnet {
                                ipaddr = 192.168.3.0;
                                mask = 255.255.255.0;
                        }
                }
                phase2ss = "esp-all-all/ah-none/comp-all/pfs";
                accesslist = "permit ip any 192.168.3.0 255.255.255.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";
}

Den Wert bei remoteid fqdn hab ich erst als von "none" auf die DynDNS-Namen geändert nachdem es nicht geklappt hat, weil ich ja nicht weiss welche ID dieser Fehlercode als "invalid" betreffen soll. Und ja, ich gestehe, der IP-Adressbereich im Ferienhaus ist mit 192.168.178.0 ein Anderer als im Versuch vorher mit 192.168.20.0, aber das dürfte hier ja nicht die Ursache des Problems sein.
 
Zuletzt bearbeitet:
Ich werde aus dem Satz unter den Konfigurationen nicht so richtig schlau:
LittleNoMuc schrieb:
Den Wert bei remoteid fqdn hab ich erst als von "none" auf die DynDNS-Namen geändert nachdem es nicht geklappt hat, weil ich ja nicht weiss welche ID dieser Fehlercode als "invalid" betreffen soll. Und ja, ich gestehe, der IP-Adressbereich im Ferienhaus ist mit 192.168.178.0 ein Anderer als im Versuch vorher mit 192.168.20.0, aber das dürfte hier ja nicht die Ursache des Problems sein.
Daher beziehe ich mich auf das, was da tatsächlich steht und dann sind die Angaben im Prinzip in beiden Konfigurationen falsch. Ich hatte den Hinweis gegeben, zumindest "pro forma" eine ID zu verwenden, die den Regeln für einen FQDN entspricht und das tut "none" ganz offensichtlich nicht. Wenn Du nicht wissen solltest, was ein FQDN ist, hilft eine Suchmaschine.

Und wenn das nicht wieder ein (mißlungener) Scherz bei der Maskierung von Angaben ist, ist die doppelte Angabe desselben Namens in der Box in CZ auch eher falsch ... selbst wenn das theoretisch sogar noch funktionieren könnte, weil es eben keinen Zusammenhang zu DNS-Namen gibt und im Protokoll schon genau zwischen lokaler und entfernter ID unterschieden wird. Aber zumindest müßte dann in der Box in D das genauso angegeben sein, nur eben gekreuzt (was dann natürlich bei identischen IDs wieder dasselbe ergibt und nicht eine remoteid->fqdn="none";, wie es oben zu lesen ist ... aber ich dachte auch, das hätte ich in #4 bereits geschrieben. Irgendwie verstehe ich daher die hier gezeigten Konfigurationen so gar nicht und die Protokolle fehlen ebenfalls.

Vielleicht probierst Du ja tatsächlich einmal das aus, was ich geschrieben habe ... und dann in vollem Umfang und nicht nur mit "trial&error", bis irgendetwas irgendwie funktioniert.

Macht man es richtig, klappt es (in den allermeisten Fällen) auch, die Mißerfolge lassen sich (wenn es tatsächlich lösbar war) problemlos mit einigermaßen gesunden Gliedmaßen im Abzählverfahren ermitteln.

Ich würde mich auch nicht per se (zumindest am Beginn nicht) darauf verlassen, daß die FRITZ!Box sauber arbeitet, wenn die entfernte und die lokale ID für P1 identisch sind ... das ist eher Theorie, daß es funktionieren könnte und es gibt praktisch keinen Grund (außer Wissensdurst), warum man das unbedingt so konfigurieren müßte.
 
Ich habe das jetzt - wie du es nennst - über Kreuz mit einem Fantasie-FQDN für die Ferienhaus-Box gemacht. Damit funktionierts. OK sehe ich ein, war mein Fehler es nicht gleich so zu machen - wie gesagt, war eben die Konfiguration die im Test funktioniert hatte.

Nur ganz so unbeachtet scheint dieser Wert ja dann doch nicht zu sein, wenn ihn das so stört.
 
Routing/Portweiterleitung durch VPN mit FritzBox

Auf die Gefahr hin das mich mein fleißiger VPN-Helfer PeterPawn hier jetzt gleich steinigt, würde mich das Thema doch sehr interessieren, mit welchen Tricks man mit dem AVM VPN ein Routing hinbekommt, aus dem Internet eingehend bei FritzBox A (welche über einen DynDNS-Namen öffentlich erreichbar ist) durch einen VPN Tunnel zu FritzBox B, zu einem Gerät im Netzwerk der FritzBox B (welche dadurch selber nicht mehr zwingend im Internet öffentlich erreichbar sein muss und es dadurch möglich wird, Geräte die auf diesem Weg an einem Internetanschluss ohne öffentliche IP hängen, öffentlich erreichbar zu machen, Problem-Stichwort "NAT bei Mobilfunk-Anschlüssen")
 
Nur noch als Hinweis für spätere Leser ... die Konfigurationen in #10 sind jetzt entsprechend geändert worden, damit stimmen meine Einwände in #11 natürlich auch nicht mehr - nur damit niemand sich im Nachgang den Kopf zerbricht, was ich denn damit nun wieder gemeint haben könnte.

@LittleNoMuc:
Ich habe auch nirgendwo geschrieben, daß dieser Wert "unbeachtet" wäre ... ganz im Gegenteil - in #4 habe ich noch einmal (nach #2) versucht zu erklären, daß die beiden Boxen (genauer "der Empfänger" aka "responder") anhand dieser Werte den passenden Eintrag in ihrer Konfiguration suchen, weil sie nur auf diesem Weg den richtigen PSK für diese Verbindung finden können. Im Extremfall (müßte man glatt auch noch einmal probieren) kann da schon der Unterschied bei Groß-/Kleinschreibung zu einem Problem werden ... ich hatte nur festgestellt, daß der eigentliche Wert (bei den IDs, natürlich nicht beim "remotehostname") keine Rolle spielt, solange er in beiden Boxen identisch ist.

Die "Sonderregel" mit dem Aufbau des Namens als FQDN ist auch nur aus der Beobachtung abgeleitet, daß es (zumindest den Berichten nach) bei einigen Leuten mit einfachen Namen (und mit der "local"-TLD) nicht funktionieren sollte ... ob da AVM tatsächlich irgendwann mal eine entsprechende Prüfung eingebaut hat, weiß ich nicht einmal genau - macht man die Angabe aber gleich richtig (es kostet ja nichts), stellt sich diese Frage gar nicht erst. Nur wenn man die Grenzen ausloten will, macht so etwas Sinn ... aber dann braucht man sicherlich auch keine Hilfe bei der Konfiguration so einer Verbindung, weil man dann schon genau wissen muß, welche Bedingung man mit welchem Parameter denn nun variiert.
 
Solange Du nicht dabei noch "Jehova" rufst ... ich bin ja mal auf die Antworten gespannt. Vielleicht solltest Du noch einmal klar herausstellen, daß es darum geht, wie man es mit dem AVM-VPN hinbekommt, denn mit OpenVPN ist das wieder Kinderkram.
 
Zuletzt bearbeitet:
steht zwar ziemlich deutlich da oben, aber ja, die Frage bezieht sich klar auf AVM VPN, aus dem einfachen Grund weil die FritzBoxen nun mal weit verbreitet sind und daher als Hardware in vielen Fällen schon vorhanden sind

- - - Aktualisiert - - -

@HabNeFritzbox: der von dir verlinkte Thread geht primär um ein anderes Thema, und weil es Hauptzweck eines Forums ist das auch andere nur-Mitleser was davon haben, macht es aus Gründen der Übersichtlichkeit Sinn für ein separates Thema einen eigenen Thread zu öffnen
 
Jetzt kommt die Anschlussfrage, die kommen muss ;): ein Routing bzw. eine Portweiterleitung eingehend bei meiner deutschen FritzBox durch den Tunnel auf ein Gerät im Netz der tschechischen FritzBox, sprengt vermutlich die Möglichkeiten des AVM VPN? oder gibts da einen Weg?

Hallo LittleNoMuc,
die Suche lieferte hierzu Thread 280377 #50 ff.
siehe http://www.ip-phone-forum.de/showthread.php?t=280377&p=2110759&viewfull=1#post2110759
hier wird ein Lösungsvorschlag für die Problemstellung "Portweiterleitung aus Internet in das remote-LAN einer site2site-Verbindung" am Beispiel von Port 40081/tcp vorgestellt;

LG Riverhopper
 
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.