Fritzbox.jpg

Fritzbox подключить к VPN, не очень просто. В сети мануалов по нему не много, и все в основном о том, как поднять на нем VPN сервер для домашней сети, а не как сделать из него VPN клиента. 

Нашлись две статьи на немецком о подключение Fritzbox по OpenVPN и L2TP/IPSec. Если вам удалось подключиться одним из нижеприведенных способов, проcьба отписаться!

UPD спустия 2 недели.

Выяснилось, что OpenVPN невозможно поднять на стандартной прошивке, а можно либо на старой прошивке Фрица, либо на кастомной Freetz прошивке (что потребует неслабых тех. знаний от пользователя). Проблема в том, что новые прошивки Фрица не поддерживают изменение настроек NAT. Как объясняют разработчики - якобы из-за каких-то ошибок. Однако, есть подозрение, что таким образом, провайдеры лочат Фрицы под себя. 

По прежнему, приглашаем описать настройку подключения Фрица к VPN, если у кого получится.

Статья 1: OpenVPN

Disclaimer

Die hier beschriebenen Änderungen an der Fritzbox-Konfiguration werden von AVM nicht unterstützt. AVM bietet keinen Support für modifizierte Geräte an und kann ggf. Gewährleistungs- und Garantie-Ansprüche ablehnen.

Ich habe diese Änderungen an inzwischen drei Fritzboxen durchgeführt, ohne dass irgendwelche Probleme im Betrieb aufgetreten wären. Dennoch übernehme ich keine Verantwortung für aufgrund dieser Anleitung vorgenommene Änderungen und deren Folgen.

Anschaffung

Mein alter Router hat gerade die Grätsche gemacht, mein DSL-Modem langweilt mich seit ich es habe, und mein Provider verteilt jetzt selbst auch Fritzboxen (die 3170) statt den grausligen Sphairon-Dingern, also hab ich mir eine Fritz!Box angeschafft.
Eine Fon sollte es sein, damit ich auch meinen PC-ISDN-Anrufbeantworter ersetzen kann; die 7270 ist es geworden, weil dann auch gleich meine Gigaset-Anlage für die DECT-Telefone überflüssig ist.

Über die Kiste ist genug geschrieben worden, ich kann mich der Mehrheit der Reviews nur anschließen: Das Teil ist spitze.
Die einzige Funktion, die die Fritzbox im Vergleich zu meinem alten Router nicht mehr bietet, sind einstellbare Paketfilterregeln; die habe ich aber nur benutzt, um die NAT-Portmappings auch zu erlauben, und das macht die Fritzbox automatisch. Falls ich das doch mal brauche, kann man das sicher über die Konsole manuell einrichten.

OpenVPN

Ich hab meine Familie über OpenVPN vernetzt (mit einem zentralen Root-Server als Einwahlknoten), da ist es natürlich praktisch, dass man auf der Fritzbox auch gleich OpenVPN laufen lassen kann, dann muss das kein Windows machen.
Die meisten Anleitungen (z.B. die bei TecChannel, die ich als Basis genommen habe)laden dabei beim Booten der Box die notwendigen Binärdateien sowie Zertifikate und Schlüssel per WGET von einem Webserver herunter. Das ist etwas unschön: Entweder ich leg das Zeug auf einen Webserver bei mir lokal, dann kann der auch gleich das OpenVPN machen, oder ich leg den privaten Schlüssel zu meiner VPN-Verbindung auf einen öffentlichen Webserver (örks) und hole ihn mir jedesmal unverschlüsselt (örks örks).
Zum Glück haben die neueren Boxen ja einen USB-Anschluss, an den man einen Stick einstecken kann, auf dem dann die Daten liegen...

Installation

  1. Telnet einschalten (#96*7* an einem angeschlossenen Telefon wählen)
  2. USB-Stick (oder Festplatte) an den PC anschließen
  3. mit einem Unix-Format-tauglichen Editor (ich nehme notepad++) auf dem USB-Stick eine Textdatei namens debug.cfg mit Unix-Zeilenenden (ggf. über "Format -> Konvertiere zu UNIX" ändern) erstellen mit folgendem Inhalt:
    mkdir /var/usb mount /dev/sda1 /var/usb /var/usb/startup.sh
  4. eine zweite Unix-Textdatei namens startup.sh auf dem Stick erstellen mit folgendem Inhalt:# Start des telnet-daemons echo Starting telnetd /usr/sbin/telnetd -l /sbin/ar7login # warten, bis das DSL da ist echo Waiting for internet connection while !(ping -c 1 www.google.de); do sleep 5 done # tun-Device anlegen, falls noch nicht vorhanden echo Creating TUN device mknod /var/tmp/tun c 10 200 # start OpenVPN (Dateinamen ggf. anpassen) echo Starting OpenVPN cd /var/usb/vpn ./openvpn --config vpn.conf --daemon
  5. ein Unterverzeichnis "vpn" auf dem USB-Stick anlegen und die benötigten Dateien hineinkopieren:
    • vpn.conf-Datei (ggf. Dateinamen in der startup.sh ändern, falls eure config anders heißt)
    • ggf. CA-Zertifikat, persönliches Zertifikat, persönlicher Schlüssel (falls keine statischen Schlüssel verwendet werden)
    • OpenVPN-Binary für den Kernel 2.6
  6. USB-Stick an die Fritzbox anschließen und freigeben
  7. per Telnet auf die Fritzbox verbinden, ggf. Web-Passwort eingeben
  8. im Telnet-Fenster folgendes eingeben:mkdir /var/usb mount /dev/sda1 /var/usb cat /var/usb/debug.cfg > /var/flash/debug.cfg

Erläuterungen

Jetzt ist die Fritzbox soweit vorbereitet: 
Wir haben eine debug.cfg erstellt, die im Flash der Fritzbox abgelegt ist und bei jedem Reboot den USB-Stick unter /var/usb mountet und dann von dort ein Skript namens startup.sh startet, das die weiteren Aktionen ausführt.
Das hat den Vorteil, dass man die startup.sh bequem unter Windows über die USB-Freigabe bearbeiten kann (dabei immer auf das Unix-Format achten!), ohne sich auf der telnet-Konsole mit nvi oder cat oder sonstwas rumzuschlagen.
Bootet die Box mal nicht mehr, weil das Skript kaputt ist, zieht man einfach den Stick ab und hat wieder (fast) den Originalzustand - das mount in der debug.cfg schlägt dann halt fehl, das stört aber nicht weiter.
Bei einem OpenVPN-Update legt man das neue Binary einfach auf den Stick und startet die Box neu - fertig.

Ich gehe davon aus, dass eine funktionierende OpenVPN-Konfiguration vorliegt, dazu gibt es ja genug Howtos auf openvpn.net.

Test 1

Zum Testen kann man den Inhalt der startup.sh in die telnet-Konsole eintippen oder (viel einfacher) den Parameter --daemon aus der startup.sh vorübergehend entfernen und dann das Skript einfach per/var/usb/startup.shmanuell aufrufen. Am Ende des Skripts sollte OpenVPN gestartet werden und seine üblichen Meldungen ausgeben - falls es soweit kommt und dann Fehlermeldungen spotzt, liegt das an eurer vpn.conf.

Test 2

Jetzt das --daemon ggf. wieder in die startup.sh eintragen und die Fritzbox neustarten.
Nachdem der Reboot durch ist, wieder per Telnet auf die Fritzbox verbinden (das sollte jetzt funktionieren, ohne dass der telnetd per Telefon eingeschaltet wurde - das hat die startup.sh ja übernommen), ggf. Web-Passwort eingeben
Auf der Konsole ps eingeben - dort sollte ein Prozess "./openvpn --config vpn.conf --daemon" aufgelistet sein.

Источник: http://www.cswpro.de/Howto/FritzBox_OpenVPN.aspx

Комментарий:

Насколько я понимаю, нужно скачать сертификаты и конфигурационный файл на флешку и подключить ее к Fritzbox`у. Затем, зайти телнетом на Фритцбокс, создать каталог монтирования, подмонтировать к нему каталог с файлами OpenVPN на флешке. Прописать автозапуск в startup.sh . В строке ./openvpn --config vpn.conf --daemon ,"vpn.conf" заменить на "ваш_конфиг.ovpn".



Статья 2: L2TP

VPN mit der AVM Fritzbox

Markus Meschederu

Konfiguration des in neuere Fritzboxen integrierten VPN Client. Die Installation ist nur für erfahrene Nutzer geeignet. Wir können leider keine weitere Unterstützung geben.

Neuere Fritzboxen (ab 7170)  haben die Möglichkeit eine VPN-Verbindung zu den VPN-Servern des LRZ aufzubauen.

Dazu muss untenstehende Konfigurationsdatei angepasst und gemäß folgender Anleitung in die Fritzbox importiert werden.

http://www.avm.de/de/Service/Service-Portale/Service-Portal/VPN_Praxis_und_Tipps/step_by_step_fernzugang.php?portal=VPN

Weitere Informationen finden Sie unter http://www.avm.de/de/Service/Service-Portale/Service-Portal/index.php?portal=VPN

VPN-Konfiguration in FRITZ!Box importieren

Rufen Sie die Benutzeroberfläche der FRITZ!Box auf:

fritz_ipsec1.png

Suchen Sie unter "Einstellungen" > "Erweiterte Einstellungen" > "Internet" > "Freigaben" bzw. "Fernzugang" > "VPN" die entsprechende CFG-Datei.

fritz_ipsec2.png

Klicken Sie auf "VPN-Konfiguration importieren" und dann auf "OK". Die FRITZ!Box ist nun bereit, VPN-Verbindungen mit dem entfernten Benutzer aufzubauen.

fritz_ipsec3.png

Nach erfolgreicher Verbindung wird folgendes angezeigt:

fritz_ipsec4.png

Konfigurationsdatei (Beispiel):

roter Text muss ggf. angepasst werden, grauer Text ist Kommentar und muss gelöscht werden. GRUPPENKENNUNG undPRESHARED KEY können unter https://www.lrz.de/services/netz/mobil/vpnpda eingesehen und dann in der Konfiguration angepasst werden, BENUTZERNAME ist Ihr Login, z.B vorname.nachname@mytum.devorname.nachname@campus.lmu.de,PASSWORT das dazu gehörende Kennwort.

vpncfg {
        connections {
                enabled = yes;
                conn_type = conntype_lan;
                name = "VPN LRZ Tunnel"; <<< Name, wie er in der Fritzbox erscheint
                always_renew = no;
                reject_not_encrypted = no;
                dont_filter_netbios = yes;
                localip = 0.0.0.0;
                remoteip = 129.187.254.40<<< IP-Adresse des VPN-Servers
                localid {
                        user_fqdn = "GRUPPENKENNUNG"; <<< Hier mwnpda eintragen
                }
                mode = phase1_mode_aggressive;
                phase1ss = "all/all/all";
                keytype = connkeytype_pre_shared;
                key = "PRESHARED_KEY"; <<< Hier wird das Preshared Secret eingetragen
                cert_do_server_auth = no;
                use_nat_t = no;
                use_xauth = yes;
                xauth {
                      valid = yes;
                      username = "BENUTZERNAME"; <<< Benutzername hier eintragen
                      passwd = "PASSWORT"; <<< Passwort hier eintragen
                }
                use_cfgmode = yes;
                phase2ss = "esp-all-all/ah-all/comp-all/no-pfs";
                accesslist = "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

Источник: http://www.lrz.de/services/netz/mobil/vpn/ipsec-avm/

Комментарий:

Подключение называется LZR, но судя по конфигу, это L2TP/IPSec

Здесь, remoteip=наш_L2TP_сервер, key="vpn", username, password - логин, пароль учетной записи PPTP/L2TP подключения.


blog comments powered by Disqus