Mini-Howto: Kompletten Internetverkehr über AVM VPN routen

Standort1 -> Fritzbox1 <-> Internet <-> Speedport <- Fritzbox2 <- Standort2 <- angeschlossenes Gerät

Das angeschlossene Gerät am Standort2 soll sich im gleichen Netz wie die Geräte am Standort1 befinden bzw mit der gleichen externen IP im Internet sein.

Hallo schorter,
diese Anforderung läßt sich mit AVM-IPsec-VPN nicht machen;

es gibt nur 4 supportete VPN-Configuationen bei Fritzboxen:

  • conntype_user ( FritzBox als VPN-Einwahl-Router für Roadwarrior)
  • conntype_lan (FritzBox LAN2LAN-VPN)
  • conntype_lan mit ipsecbridges (FritzBox als VPN-Einwahl-Router mit ipsecbridges)
  • conntype_out (FritzBox als VPN-Client für Zugriff auf Firmenlan, FritzBox als "Site2Host"-Router mit NAT/IP-Masquerading)
somit sind diese Anforderungen "unrealistisch"; auch ist mir die Sinnfrage dieser Konstellation unklar;
möchtest Du wirklich den gesamten Multicast- und Broadcast-Traffic Bidirektional-tunneln ?
heutzutage können doch alle wichtigen Applikationen über Layer3-Übergänge hinweg arbeiten.

Um zwei Netze auf Layer2 Ebene zu verbinden, dies wäre u.a. per Freetz-Modding der FritzBox und Nutzung von OpenVPN-Bridging-Mode (tap-device) möglich;
siehe http://www.wehavemorefun.de/fritzbox/OpenVPN

LG
Tuxedonet
 
Zuletzt bearbeitet:
so mit den beiden letzten Konfigs funktioniert es.

beide Standorte sind per VPN verbunden und die Geräte am Standort2 bekommen per wieistmeineip die externe IP von Standort1 angezeigt.

was mir jetzt aufgefallen ist, dass die Fritzbox an Standort2 nicht mehr per dyndns erreichbar ist, also die Weboberfläche. Ist jetzt kein großes Problem, da ich die Oberfläche ja mit der lokalen IP aufrufen kann. Aber auch eine VPN-Verbindung mit iPhone zur Box geht jetzt nicht mehr, was aber nicht zwingend benötigt wird.
 
@Micha0815:
Es ging ja darum, daß er bis dahin der Meinung war, es würde sich um eingehenden Verkehr handeln und den kriegt man eben ohne Kenntnis von Port und Protokoll nicht einmal hinter die erste FRITZ!Box, geschweige denn durch das VPN.

@schorter:
Die hat ja auch gar keine öffentliche IP-Adresse (wie ich schon ein paar Beiträge weiter vorne angemerkt hatte). Entweder Du richtest DynDNS auf dem Speedport davor ein und machst von dort eine Portweiterleitung auf die FRITZ!Box oder Du riskierst es (und das ist tatsächlich als "Risiko" gemeint), daß die FRITZ!Box weiterhin ständig versucht, ihre Adresse beim Anbieter auf die interne 192.168.2.irgendwas zu ändern.

Irgendwann hat der dann in der Regel die Faxen dick und dreht dem Account die Updates ganz ab (abusive updates - so etwas wie dyn.com hier hat praktisch jeder DynDNS-Service) - dann klappt so ein Update nicht einmal mehr dann, wenn sich die externe IP tatsächlich geändert hat.

Da die FRITZ!Box bei einer DynDNS-Aktualisierung immer die per DNS aufgelöste Adresse mit der von ihr "gewünschten" vergleicht (das wäre hier eben ihre Adresse im LAN des Speedport), gibt die auch dann keine Ruhe, wenn der Provider beim Update gar nicht diese interne Adresse einträgt (macht er das klaglos, geht natürlich erst recht keine sinnvolle Auflösung) sondern die externe Adresse, von der so ein Update-Request aus seiner Sicht kommt (das wäre dann die externe IP des Speedport).
 
@peter pawn

Der dyndns Eintrag ist ja auch auf dem speedport eingetragen und die portweiterleitung auf die fritzbox gesetzt. Bis zum einspielen der konfig war da auch der Zugriff da, aber danach nicht mehr. Aber damit kann ich leben.
Danke euch beiden für die hilfe
 
Hallo, vielen Dank für die Anleitung.

Ich habe aber noch ein Problem und komme nicht weiter

2 Fritzboxen mit den IPs:
F1 192.168.1.100 mit fester IP
F2 192.168.2.100 mit dynamischer IP und no-IP-Account

Die cfgs habe ich mit der Fernzugangssoftware erstellt und angepasst eingespielt. Der Traffic wird wie gewollt von F2 auf die F1 und der öffentlichen IP übertragen. Funktioniert.
Ich habe allerdings noch einen Webserver hinter F2, den ich von extern erreichen will. Die Portfreigaben habe ich in F1 sowohl an die IP von F2 bzw. direkt an den WEbserver (192.168.2.11) eingestellt. Auch in der F2 habe ich die Portweiterleitungen auf den Webserver gestellt. Aber ich komme nicht drauf. Was muss ich noch einstellen, damit das funktioniert?

cfg F1
Code:
vpncfg {
        connections {
                enabled = yes;
                conn_type = conntype_lan;
                name = "Aufbau zu F1";
                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 = "dyn. IP";
                localid {
                        ipaddr = festeIP;
                }
                remoteid {
                        fqdn = "dyn-IP";
                }
                mode = phase1_mode_aggressive;
                phase1ss = "all/all/all";
                keytype = connkeytype_pre_shared;
                key = "sectretkey";
                cert_do_server_auth = no;
                use_nat_t = yes;
                use_xauth = no;
                use_cfgmode = no;
                phase2localid {
                        ipnet {
                                ipaddr = 192.168.1.0;
                                mask = 255.255.255.0;
                        }
                }
                phase2remoteid {
                        ipnet {
                                ipaddr = 192.168.2.0;
                                mask = 255.255.255.0;
                        }
                }
                phase2ss = "esp-all-all/ah-none/comp-all/pfs";
                accesslist = "permit ip any 192.168.2.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";
}




// EOF

cfg F2
Code:
vpncfg {
        connections {
                enabled = yes;
                conn_type = conntype_lan;
                name = "Aufbau zu F2";
                always_renew = no;
                reject_not_encrypted = no;
                dont_filter_netbios = yes;
                localip = 0.0.0.0;
                local_virtualip = 0.0.0.0;
                remoteip = festeIP;
                remote_virtualip = 0.0.0.0;
                localid {
                        fqdn = "dyn IP";
                }
                remoteid {
                        ipaddr = festeIP;
                }
                mode = phase1_mode_aggressive;
                phase1ss = "all/all/all";
                keytype = connkeytype_pre_shared;
                key = "secret Key";
                cert_do_server_auth = no;
                use_nat_t = yes;
                use_xauth = no;
                use_cfgmode = no;
                phase2localid {
                        ipnet {
                                ipaddr = 192.168.2.0;
                                mask = 255.255.255.0;
                        }
                }
                phase2remoteid {
                        ipnet {
                                ipaddr = 192.168.1.0;
                                mask = 255.255.255.0;
                        }
                }
                phase2ss = "esp-all-all/ah-none/comp-all/pfs";
                accesslist = "deny ip any 192.168.2.0 255.255.255.0", "permit ip any any";
        }
        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";
}




// EOF


Oder sind die configs verkehrt? Es soll der ganze Traffic von F2 an F1 weitergeleitet werden, damit ich von F2 aus, die öffentliche IP von F1 verwenden kann.

Danke im Voraus für eure Hilfe

Gruß

Karlhubert
 
Zuletzt bearbeitet:
2 Fritzboxen mit den IPs:
F1 192.168.1.100 mit fester IP
F2 192.168.2.100 mit dynamischer IP und no-IP-Account
...
Die Portfreigaben habe ich in F1 sowohl an die IP von F2 bzw. direkt an den WEbserver (192.168.2.11) eingestellt.


Hallo Gerhard,
wie hast Du das gemacht ?
eine Portweiterleitung in Fritzbox1 kann doch nur an ein Gerät im LAN erfolgen,
d.h. die FB1 kann m.W. nur an eine IP aus Netzwerk 192.168.1.x forwarden und nicht an eine IP 192.168.2.x !!!

auch sieht die accesslist in F2.cfg
Code:
accesslist = "[COLOR=#ff0000]deny ip any 192.168.2.0 255.255.255.0"[/COLOR], "permit ip any any";
seltsam aus,
warum sollen hier Pakete mit beliebiger Src-IP an die Dst-Netz 192.168.2.0/24 am Tunneleingang denied werden

Gruß
Pokemon20021

PS: Bitte auch dringend den key, die feste IP und den fqdn aus deinem Posting anonymisieren

EDIT: Text bzgl. F2.cfg accesslist angepasst
 
Zuletzt bearbeitet:
Hallo,

ich habe ein Route angelegt, die auf das andere Subnet verweist und dann konnte ich Freigaben anlegen. Aber sie funktionieren leider nicht. Das ist mein Problem. Ist die Frage, ob es generell nicht funktionier oder ob ich irgendwas Falsches einstelle.

Soll ich dann das deny ... aus der accesslist rausnehmen und nur
"permit ip any any"

reinschreiben?


Ich habs anonymisiert.

Danke!
 
Zuletzt bearbeitet:
ich habe ein Route angelegt, die auf das andere Subnet verweist

Bitte konkret angeben wie du das implementiert hast; evtl. Screenshot oder Auszug/Routing-Table aus supportdata.txt
Hast Du etwa die LAN-IP-Adresse der lokalen Fritzbox als Gateway für die Route ins andere Subnetz angegeben ?

Soll ich dann das deny ... aus der accesslist rausnehmen und nur
"permit ip any any"
reinschreiben?

üblicherweise wird bei FB2 der DNS-Traffic (UDP/53) sowie den nativen IPsec-Traffic (UDP/500, UDP/4500) excluded:
Code:
accesslist = "reject udp any any eq 53",
             "reject udp any any eq 500",
             "reject udp any any eq 4500",
             "permit ip any any";
ggf. noch weitere Dienste excluden;
die Anforderung "der komplette Traffic aus LAN_2 soll in den Tunnel geschickt werden und den Internet-Zugang von FB_1 nutzen" ist damit erfüllt (DNS-Traffic mal außen vor gelassen).

EDIT: Jedoch denke ich, dass die Portfreigabe bei FB1 durch den Tunnel ins Remote-LAN von FB2 NICHT funktionieren wird;
gerne lasse ich mich eines besseren überzeugen, wenn dies inzwischen mit Fritz!OS => 06.30 funktionieren sollte;
hier wäre m.W. Freetz, ..., OpenWRT z.B. mit iptables
Code:
iptables -t nat -I PREROUTING -p tcp -d $(nvram get wan_ipaddr) --dport 80 -j DNAT --to 192.168.2.11:80
iptables -I FORWARD -p tcp -d 192.168.2.11 --dport 80 -j ACCEPT
#
iptables -t nat -I PREROUTING -p tcp -d $(nvram get wan_ipaddr) --dport 443 -j DNAT --to 192.168.2.11:443
iptables -I FORWARD -p tcp -d 192.168.2.11 --dport 443 -j ACCEPT
erforderlich
 
Zuletzt bearbeitet:
Hallo,

danke für deine Mühen. Ich habe mir jetzt 2 Lancom geholt, da funktioniert das ohne Problemchen und Umschrieben der configs.
 
Hallo Zusammen,

habe hier auch ein VPN zwischen einer Fritzbox 7330 und einer Endian Firewall.

Das Fritz Netzwerk ist die 192.168.250.0 / 24 (USA)
Die IP des Netzwerks hinter der Enidan Firewall 192.168.11.0 /24

Leider steht vor der Firtzbox noch ein Cisco Router. 192.168.1.1 (und der LAN1 Anschluss der Fritzbox hat in diesem Netzwerk die 192.168.1.250)

Die erforderlichen Ports sind an die Fitzbox weitergeleitet und das VPN kommt auch Zustande. Wenn ich also z.B. auf eine IP im 11er Netzwerk zugreifen will, komme ich drauf.

Jetzt hätte ich es noch gerne dass alle Clients die im Netz der Fritzbox sind auch Ihren Traffic an die Endian Firewall senden. Geht einfach um z.B. FireTV Sticks usw. Hätte also gerne die deutsche IP.

Will aber nicht bestimmte CLients eintragen sondern einfach alle aus dem 192.168.250.0 /24 Netzwerk.

Die Angeschlossenen Dect / Sip Telefone sollen jedoch normal über die Fritzbox an den Cisco und ins netz.
Wie müsste hierbei meine Accesslist aussehen?

Vielen Dank im Voraus

Gruß
 
Guten Abend,

obwohl es meine Konfiguration sicherlich hier im Forum bereits gegeben hat, ich bekomme es einfach nicht hin. Und der Hinweis das es total einfach ist, hilft mir erst mal nicht. Ansonsten würde ich nicht fragen. Ich möchte auch nichts geschenkt haben. Wenn mir bitte jemand bei den beiden .cfg Dateien helfen kann wäre das super. Hier im Ausland bin ich ziemlich aufgeschmissen.
Eine der beiden Fritzboxen 1 (die in Deutschland) hat eine IP über Myfritz. Die im Ausland befindliche Fritzbox 2 ist hinter einem Modem und bekommt keine. Letztendlich würde es mir reichen, wenn sich die Fristbox 2 als Benutzer an der Fritzbox 1 anmeldet und der gesamte Traffic darüber geht.

Ich habe hier bestimmt schon 20 CFG Dateien mit dem Fernzugang erstellt. Sie verbinden sich nicht oder lassen sich nicht importieren. Konfigurationen über die einzelnen Clients funktionieren ohne Probleme. Leider kann ich das nicht bei allen meinen Netzwerkgeräten einrichten. Darum bin ich auf den Tunnel zwischen den beiden Fritzboxen angewiesen.
Es soll auch nicht umsonst sein.

Gruß und Dank
 
Ich hatte es allerdings in den Anleitungen bei AVM so verstanden, dass es durchaus reicht, wenn nur eine Fritzbox eine feste IP hat. Aber ich habe es auch nicht hinbekommen.
Ich glaube nicht, dass es so einfach möglich ist. Der ISP kauft in China ein und lässt recht wenig zu.
 
Eine feste IP-Adresse ist auf keiner Seite notwendig. Du hast aber geschrieben, dass die Fritzbox gar keine IP-Adresse bekommt. Poste mal einen Screenshot der Übersichtsseite der Fritzbox.
 
Ok. Da war ich wohl ungenau. Natürlich bekommt die FB eine IP. Und zwar vom Router des ISP. Aber dadurch kann sie halt nicht bei myfritz oder noip eine IP durchgeben.
Ich habe grundsätzlich Internet. Aber mit sehr starken content Filtern. Alle grossen sozial media Dienste sind gesperrt oder eingeschränkt. Bei WhatsApp funktionieren z.b nur Texte. Für Fotos und Videos muss ich VPN aktivieren.
Andere Seiten, z.b. Amazon sind ganz gesperrt usw.
 
Guten Tag,

Ich bin leider völliger Anfänger was das ganze Gebiet hier angeht, habe aber soweit mitgelesen, dass das, was ich vorhabe irgendwie gehen kann.

Ich habe folgendes Problem:
Ich lebe in der Schweiz, habe aber nach wie vor mit meinen Eltern und Freunden zusammen ein SkyAbo zum Beispiel.
Dieses ist normal über SkyGo in der Schweiz nicht nutzbar.
Da meine Eltern und ich beide eine FritzBox besitzen möchte ich diese verbinden über einen VPN.
Dafür habe ich meine Schweizer Box als Client konfiguriert und die Deutsche Box ist als Server konfiguriert.

Die VPN Verbindung funktioniert auch. Ich kann auf alle Geräte im Deutschen Heimnetz von hier in der Schweiz zugreifen.
Das Problem ist nur, dass ich mit dieser Verbidnung immer noch eine Schweizer IP habe. Ich kann SkyGo also immer noch nicht nutzen.
Wenn ich den VPN direkt über den Laptop einrichte und verbinde, bekomme ich eine Deutsche IP und kann SkyGo nutzen.

Ich hätte aber gerne die VPN Verbindung nach Deutschland über die Fritzbox, damit alle Geräte im Heimnetz eine Deutsche IP bekommen, da der TV zum Beispiel keine eigenen VPN Verbindungen herstellen kann.

Ist dies überhaupt möglich mit dem Verstecken der Schweizer IP? Wie muss ich die Client-Server Verbindung konfigurieren?

Tut mir Leid, wenn das Basics sind.

Liebe Grüße
 
Wenn die accesslist korrekt ist für den "kompletten I-Net-Verkehr", sollte es keine Probleme geben.
LG
 
Ich kann in der Maske der FritzBox allerdings nur DNS Namen für Sachen eingeben, die über den Tunnel laufen sollen. Eine Accesslist habe ich nicht.
Ich habe die Verbindung über das FritzOS in der Box eingerichtet.
Wie kann ich da die Accesslist bearbeiten.
 
Erstelle auf beiden Fritzboxen eine export-datei und suche dort mit einem Linuxformat-fähigen Editor (Notepad++ ist sehr beliebt) nach dem "vpn-abschnitt". Mache die keys unkenntlich u.U. den fqdn-Abschnitt und poste die Zeilen hier in code-tags. Dann kann Dir mutmasslich schneller geholfen werden, falls Du Deinen Fehler nicht selbst erkennst.
LG
 
Code:
**** CFGFILE:vpn.cfg
/*
 * /var/tmp.cfg
 * Sun Jan 14 21:31:31 2018
 */

meta { encoding = "utf-8"; }

vpncfg {
        vpncfg_version = 1;
        connections {
                enabled = yes;
                editable = no;
                conn_type = conntype_user;
                name = "xxx";
                boxuser_id = 11;
                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 = 192.168.178.201;
                keepalive_ip = 0.0.0.0;
                remoteid {
                        key_id = "xxx";
                }
                mode = phase1_mode_aggressive;
                phase1ss = "LT8h/all/all/all";
                keytype = connkeytype_pre_shared;
                key = "xxx";
                cert_do_server_auth = no;
                use_nat_t = yes;
                use_xauth = yes;
                xauth {
                        valid = yes;
                        username = "$$$$TFD5QP5OJZZEIY2SIJLPGKA4LUPX5LKXQ3LPNSEVOLK3QQ5C4F2MT4ILZEMU4XTPLL44Y3NNXFF1JMAB";
                        passwd = "xxx";
                }
                use_cfgmode = yes;
                phase2localid {
                        ipnet {
                                ipaddr = 0.0.0.0;
                                mask = 0.0.0.0;
                        }
                }
                phase2remoteid {
                        ipaddr = 192.168.178.201;
                }
                phase2ss = "LT8h/esp-all-all/ah-none/comp-all/no-pfs";
                accesslist =
                             "permit ip 0.0.0.0 0.0.0.0 192.168.178.201 255.255.255.255";
                app_id = 0;
        } {
                enabled = yes;
                editable = yes;
                conn_type = conntype_out;
                name = "3uli8qpualbjqkq4.myfritz.net";
                boxuser_id = 0;
                always_renew = no;
                reject_not_encrypted = no;
                dont_filter_netbios = no;
                localip = 0.0.0.0;
                local_virtualip = 0.0.0.0;
                remoteip = 0.0.0.0;
                remote_virtualip = 0.0.0.0;
                remotehostname = "3uli8qpualbjqkq4.myfritz.net";
                keepalive_ip = 192.168.179.1;
                localid {
                        key_id = "xxx";
                }
                mode = phase1_mode_aggressive;
                phase1ss = "all/all/all";
                keytype = connkeytype_pre_shared;
                key = "xxx";
                cert_do_server_auth = no;
                use_nat_t = yes;
                use_xauth = yes;
                xauth {
                        valid = yes;
                        username = "$$$$26X3BUK4MA4TMQH542URIYBS3RHFVU3ZRSLADDO4V6H4EFKA3CWL3QWMWQIDQMJCZJRZ41FPO2PFTMAB";
                        passwd = "xxx";
                }
                use_cfgmode = yes;
                phase2localid {
                        ipnet {
                                ipaddr = 0.0.0.0;
                                mask = 0.0.0.0;
                        }
                }
                phase2remoteid {
                        ipnet {
                                ipaddr = 0.0.0.0;
                                mask = 0.0.0.0;
                        }
                }
                phase2ss = "esp-all-all/ah-none/comp-all/no-pfs";
                accesslist = "permit ip any 192.168.179.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";
}


// EOF

**** END OF FILE ****

Das ist die vpn config aus der VPN client fritzbox

Und hier noch die config aus der Server FritzBox:
Code:
**** CFGFILE:vpn.cfg
/*
 * /var/tmp.cfg
 * Sun Jan 14 21:33:23 2018
 */

meta { encoding = "utf-8"; }

vpncfg {
        vpncfg_version = 1;
        connections {
                enabled = yes;
                editable = no;
                conn_type = conntype_user;
                name = "xxx";
                boxuser_id = 11;
                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 = 192.168.179.201;
                keepalive_ip = 0.0.0.0;
                remoteid {
                        key_id = "xxx";
                }
                mode = phase1_mode_aggressive;
                phase1ss = "LT8h/all/all/all";
                keytype = connkeytype_pre_shared;
                key = "xxx";
                cert_do_server_auth = no;
                use_nat_t = yes;
                use_xauth = yes;
                xauth {
                        valid = yes;
                        username = "$$$$N3EOC1TIRUQBQ3QKU1U5M6E6JDR42XSXSDEADRVWRJ3Z1IUAWYSIHU5LEDMBNPHXLDBCAW1DD1M6M452";
                        passwd = "xxx";
                }
                use_cfgmode = yes;
                phase2localid {
                        ipnet {
                                ipaddr = 0.0.0.0;
                                mask = 0.0.0.0;
                        }
                }
                phase2remoteid {
                        ipaddr = 192.168.179.201;
                }
                phase2ss = "LT8h/esp-all-all/ah-none/comp-all/no-pfs";
                accesslist =
                             "permit ip 0.0.0.0 0.0.0.0 192.168.179.201 255.255.255.255";
                app_id = 0;
        }
}


// EOF

**** END OF FILE ****

Einer der VPNs aus der Client Box ist ein Fernzugang vom iPhone auf meine Box und hier irrelevant.
 
Zuletzt bearbeitet:
Kostenlos!

Statistik des Forums

Themen
248,906
Beiträge
2,304,640
Mitglieder
378,608
Neuestes Mitglied
Ra67