[Problem] VPN-Koppelung zweier 6490 (LAN-LAN-Koppelung)

Also ich erzeuge einen Node 215 mit dem Inhalt "CONFIG_BETA_RELEASE=1" und dann sehe ich die Capture-Seite? Probier ich :)

EDIT:
Also das nun erzeugte Image ist noch kleiner als 128kb (126.976 Bytes - zuvor mit provideradditive.tar waren es zufällig? genau 131.072). Das Flashen blieb fehlerlos hängen:
Code:
# ./tffs_add_file ../../Downloads/support\ FRITZ.Box\ 6490\ Cable\ \(kdg\)\ 141.06.65_18.01.18_2104.txt -o 1 215 ../../featovl.cfg >../../newdump.img
..............................................................................................................................
# cd ../eva_tools/
# ./eva_store_tffs mtd4 ../../newdump.img
Found AVM bootloader: AVM EVA Version 1.2099 0x0 0x36409

Und in der eva_store_tffs.log steht
Code:
220 ADAM2 FTP Server ready
USER adam2
331 Password required for adam2
PASS adam2
230 User adam2 successfully logged in
SYST
215 AVM EVA Version 1.2099 0x0 0x36409
TYPE I
200 Type set to BINARY
MEDIA FLSH
200 Media set to MEDIA_FLASH
P@SW
227 Entering Passive Mode (192,168,178,1,54,69)
STOR mtd4
150 Opening BINARY data connection

Auch das Flashen des originalen Dumps läuft nicht weiter... oder muss ich Stunden warten? :-D
 
Zuletzt bearbeitet:
Ich würde mich zuvor noch davon überzeugen, daß der Provider keine FRITZ!Box-Features per SNMP ein- oder ausgeschaltet hat ... dann wäre die existierende Datei nicht leer und man müßte die eigenen Werte hinzufügen, weil ansonsten der Prüfmechanismus in "boxfeaturedisable" die Provider-Werte neu setzt und die eigenen dabei verloren gehen könnten - das "Mischen" hat AVM irgendwann mal geändert, keine Ahnung, wie das in den beiden hier diskutierten Versionen aussieht.

Und wenn Du das bei der KDG-Box machst, könnte es immer noch sein, daß dort die "menu_data.lua" wieder anders aussieht - KDG hat eben einen "eigenen Zweig" bei der Firmware für die 6490. Diese Version 06.65 habe ich hier im Moment auch nicht im Zugriff - eine Speicher-HDD für weniger wichtige Dateien hat einigermaßen den Geist aufgegeben und nach fsck war vom ext4-Dateisystem nicht mehr viel übrig.

Die Zeile aus der "menu_data.lua" mit den Bedingungen für die Aufnahme von "cap" in die Liste, war jedenfalls aus der 06.50-avm+lgi und ich kann nicht garantieren, daß die in der 06.65-kdg genauso aussieht.
 
Also im originalen Dump existiert kein Node 215. Aber der Flash-Fehler könnte an meiner Linux-VM liegen, womit der dann dort offene Port für die passive FTP-Übertragung nicht erreichbar ist. Muss ich jetzt doch mal Linux native booten.
 
Wobei man auch wissen muß, daß beim "STOR" für eine Flash-Partition tatsächlich die Daten bereits gelöscht werden - da wird nicht erst abgewartet, bis die Übertragung in die Box abgeschlossen ist. Es wird sogar der Start der Datenübertragung dann jeweils so lange verzögert, bis das "erase" durch ist - bei der 6490 lange nicht so gut zu beobachten wie bei anderen Modellen mit NOR-Flash für das System ... da wurde/wird diese Wartezeit dann vom AVM-Recovery-Programm mit der Ausschrift "Lösche Partition ..." begleitet, obwohl es (afaik) gar kein gesondertes FTP-Kommando zum Löschen gibt und das dort ebenfalls nur mit "STOR" für die jeweilige Zielpartition arbeitet.
 
Es lag nicht an der VM (die hat ja auch ein gebridgetes Netzwerk, also kein Problem), sondern an meiner Distribution (Fedora Rawhide). Dort ist ja das richtige :D netcat enthalten. Schon für dein eva_get_environment musste ich "nc -d" durch "nc --no-shutdown" austauschen. Warum jetzt eva_store_tffs nicht läuft, ist offen.

Nach einigen Flash- und Reboot-Durchläufen weiß ich nun folgendes:

Selbst wenn ich einen unveränderten (nicht mal den Counter an Offset 0x4 angepasst) Dump flashe, ist nach dem Reboot sofort in der anderen Partition ein neues Image(rein vom Counter her).

Flashe ich jedoch ein Image mit featovl.cfg an Node 215 findet nach dem ersten Boot noch ein Reboot statt und es werden beide Partitionen erneuert. Aber schon bei der ersten Partition ist meine 00d7.inflate 0 Byte groß (00d7.bin enthält noch 0x78 0x9c 0x02 0x00 0x00 0x00 0xff 0x03 0x00 0x00 0x00 0x00 0x01).
Zwischen den beiden Reboots ist die GUI nicht erreichbar und Internet nicht nutzbar. Die Box sieht aber ganz normal aus (LEDs, verteilt IP-Adresse, DECT). Nach ca. 2 Minuten startet sie neu und auch dann ist alles erst wieder normal, wenn die Box ungefähr 1 Minute online war.
 
Zuletzt bearbeitet:
Das ist vermutlich die KDG-Box?

Ich hatte ja geschrieben, daß da ggf. der Provider PACM verwendet und dann die "featovl.cfg" komplett neu aufgebaut wird ... findet man in der "boxfeaturedisable" in jeder x-beliebigen aktuellen Firmware, da ist (iirc) am Anfang ein "cat /dev/null > any_temp_file" enthalten, mit dem die "Maske" erst mal geleert wird, bevor die Variablen vom Aufruf ausgewertet und ggf. in die Datei übernommen werden.

Wenn man den Kabel-Anschluß entfernt, sollte es aber nicht zur Konfiguration über PACM kommen und in der Folge auch der ganze Ablauf über "docsis_feature_disable" und "boxfeaturedisable" gar nicht erst gestartet werden. Zumindest als Test würde ich das mal probieren - allerdings wird das dann vermutlich auf diesem Weg nichts mit dem dauerhaften Überschreiben der Variablen. Und das brauchst Du halt, wenn Du die Box mit aktivem Kabel-Anschluß und Paketmitschnitt betreiben willst ... also wird wohl doch nichts anderes bleiben, als die Firmware selbst so zu modifizieren, daß einfach die "menu_data.lua" überlagert wird mit einer Version, die bei den Testbedingungen zur "capture.lua"-Seite (und ggf. auch in der Seite selbst, falls da weitere Abfragen lauern) etwas relaxter an die Sache herangeht. Wobei man schon noch mal in die "capture.lua" schauen sollte, denn mit so einer "menu_data.lua" hat man dann noch nicht alles gewonnen und die Änderung des "Firmware-Typs" wirkt da wesentlich nachhaltiger - die kann man ja auch über die "rc.conf" vornehmen (schließlich geschieht das da bei einer "echte" Beta-Version ja auch).

Welche Abhängigkeiten da direkt in der "capture.lua" noch existieren, ist für die 06.5x-Versionen auch kein wirkliches Geheimnis (bei der 06.65 könnte man vermutlich mit der - ebenfalls mal erhältlichen - 06.64 für die Retail-Boxen vergleichen), denn diese Dateien sind tatsächlich wieder über alle Modelle identisch und die "capture.lua" in der 113.06.51 ist dieselbe wie in der 06.50 für "kdg" und "avm+lgi" und auch die Bedingungen zur Freischaltung der Datei (die wird zusätzlich gebraucht, sonst kann man die nicht direkt anspringen) in der "menu_data.lua" sind identisch.
 
Ich weiß es nicht genau ... Du könntest das Datum der Firmware (das sollte in der Support-Datei irgendwo zu sehen sein) mit dem Zeitablauf für die entsprechende Lücke in meinem Repository vergleichen. Bei dieser Lücke mit der "provideradditive.tar" hatte AVM es ja versäumt, auf die Meldung überhaupt angemessen zu reagieren - erst nach der, mehr oder weniger deutlichen, Veröffentlichung Anfang Okt. 2016 irgendwo hier hatte AVM sich dann Anfang November 2016 doch noch entschlossen, die Lücke zu schließen. Je nach Firmware-Datum kann die also in der 06.65 noch offen sein oder auch nicht.

Ansonsten kann man auch - bei "abgestöpselter Box" - eine Retail-Firmware in der anderen Partition installieren und die 06.65 von dieser aus so modifizieren (oder einfach auslesen lassen), daß die Änderungen am Ende an der 06.65 erfolgen können.

Die Frage wäre am Ende vermutlich, wieviel Aufwand Du wirklich treiben willst und ob es noch um den Paket-Mitschnitt bzw. ja eigentlich das Ausgangsproblem mit dem VPN geht oder eher um den Einstieg in diese Firmware.

Wenn der Zugang über die "provideradditive.tar" funktioniert, hast Du eine gut funktionierende und ausgetestete Möglichkeit (bis dann direkt über den Bootloader geschrieben wurde beim "Retailen" der alten Provider-Boxen) - alles weitere und jeder andere denkbare Weg, ist wieder mit Probieren verbunden. Vielleicht hilft ja auch der Weg über das Export-Kennwort aus einem anderen Fall - das ist noch einen Monat später erst von AVM gefixt worden, wobei das mein erster Anlauf mit "full disclosure" war und quasi im Handumdrehen von AVM gefixt wurde.

Aber das alles hilft natürlich nicht direkt, die Variablen schon zu einem Zeitpunkt zu setzen, wo das notwendig ist - nämlich direkt beim Start des Systems. Dazu muß man am Ende eben die "rc.conf" ändern und da die schon ziemlich am Anfang von der S09-config aufgerufen wird, sind viele andere Stellen (sowohl "provideradditive.tar" als auch das erwähnte Export-Kennwort) deutlich zu spät für eine "dynamische" Änderung und man muß wieder zum Mittel der statischen Modifikation greifen - möglichst ohne die Provider-Firmware dabei zu verlieren, denn nur mit dieser kann der KNB die Telefonie korrekt einrichten.

Diese ganzen alten Versionen, wo der Hauptteil des Systems noch auf dem ARM-Core läuft, sind halt inzwischen fast 8 Monate nicht mehr relevant bei den Retail-Boxen, seit Anfang Mai 2017 die 06.83 rauskam und die ganzen Dienste auf den ATOM-Core umgezogen sind. Daher habe ich den Großteil davor wieder von der Platte geputzt und zu einem guten Teil auch aus dem Gedächtnis gestrichen - das macht Aussagen zu diesen Versionen noch vager, als ich sie meinerseits aus persönlichen Gründen schon halten will.
 
Zuletzt bearbeitet:
Also ich hab's mit Node 29 versucht. update_firmware habe ich so verändert, dass eine Datei im NAS erzeugt wird. Reboot auf der GUI ausgelöst, danach keine neue Datei.

Und du hast Recht, es reicht bis hierhin. Denn selbst nach einem Paketmitschnitt wartet wahrscheinlich nur die Erkenntnis, dass die UM-Box evtl. falsch bzgl. mtu provisioniert ist. Und die Provider-FW will ich auch nicht gefährden.

Anbei noch meine gesammelten Erkenntnisse für dich, falls du deine Skripte anpassen möchtest:
  • nc -d --> nc --no-shutdown, dann läuft zumindest eva_get_environment auch mit dem anderen nc
  • curl ftp://adam2:[email protected]/{env,count} --no-epsv -Q "MEDIA SDRAM" -O -m 1 entspricht eva_get_environment
  • curl ftp://adam2:[email protected]/mtd4 --no-epsv -Q "MEDIA FLSH" -T mein.img entspricht eva_store_tffs
  • curl ftp://adam2:[email protected]/ --no-epsv -Q "REBOOT" -I startet die Box neu
 
Die Optionen, welche jede "nc"-Implementierung versteht, sind sehr unterschiedlich ... die BSD-Variante kennt m.W. gar keine langen Optionen und auch kein "--no-shutdown".

Das könnte man noch ein wenig anders regeln an dieser Stelle, indem man nur noch mit FIFOs arbeitet (dann kann es kein EOF auf STDIN geben und man braucht gar keine Optionen - so, wie es "juis_check" auch macht), aber dazu bin ich immer noch nicht gekommen, auch wenn es an einigen Stellen schon von mir als "Plan" erwähnt wurde.

Daß man die FTP-Funktionen der Skript-Dateien auch mit "curl" oder etwas anderem substituieren könnte, ist klar ... aber es geht lange nicht alles mit anderen Programmen und irgendwo braucht man dann doch wieder einen eigenen FTP-Client - z.B. für's automatische Umschalten von "linux_fs_start" und auch für das Laden von Images in den Hauptspeicher der Box, wo man erst Daten auslesen, dann ein wenig rechnen und dann wieder Daten setzen muß, bevor man das Image an die Box sendet.

Auch "curl" kennt eben die Kommandos für EVA nicht, die nicht ganz dem FTP-Standard entsprechen. Zwar kann man jedes dieser Kommandos mit -Q an den Server senden, aber schon die Syntax an dieser Stelle, wenn es um die Fehlerbehandlung und die Frage "Abbruch oder nicht" geht (-,+,*), macht das noch einmal unhandlicher - zumindest in meinen Augen. Und braucht man am Ende ohnehin den eigenen FTP-Client, dann kann man auch gleich alles auf diesem Weg umsetzen und sich die zusätzliche Abhängigkeit von "curl" ersparen, was auf den wenigsten "embedded devices" direkt zur Verfügung steht.

Diese Skript-Dateien haben ja auch eine Historie und sind ursprünglich auch mal nur als "proof of concept" entstanden (ich betone das alle drei Wochen aufs Neue), wie man am kompletten Fehlen jeder (umfangreicheren) Fehlerbehandlung genauso ersehen kann, wie am Fehlen eines "Hilfetextes" zur korrekten Anwendung.

Hier sehe ich also die Notwendigkeit eher nicht und anders als meine Skript-Dateien (die noch den Prompt des FTP-Servers checken können und das auch tun) erkennt "curl" auch nicht, wenn die Box gar nicht im Bootloader steht, sondern der "richtige" FTP-Server antwortet, weil die Box so weit gestartet wurde - es gibt genug Anfänger, welche die Box gar nicht im Bootloader festhalten und hinterher mit FTP-Kommandos auf den "ftpd" aus dem FRITZ!OS losgehen wollen.
 
@Chatty: der in #5 genannte Test mit DSL-Box würde ebenfalls bestättigen, dass ein Bug (z.B. der zitierte MTU1460) in DS-Lite-Kabel-Fritte vorliegt, die eine LAN-to-LAN-VPN-Verbindung verhindert.
interessant ware hier auch eine DSL-FritzBox hinter FB6490-UM Box zu hängen und dann LAN-to-LAN VPN testen; natürlich vorher sämtliche VPN-Verbindungs-Konfigurationen in FB6490-UM deaktivieren und Freigabe (Port-Forwarding) udp/4500 von FB6490-UM auf diese DSL-FritzBox (z.B. FB7490) auch auf Port udp/4500 einzurichten.

der Aufwand ist überschaubar und eigentlich ohne Risiko.


Bitte auch mal MTU von PC aus checken: http://www.letmecheck.it/mtu-test.php
und Ergebnisse posten:

Beispiel:
Sending 1454 bytes to aaa.bbb.ccc.ddd <- not fragmented
...
Sending 1467 bytes to aaa.bbb.ccc.ddd <- not fragmented
Sending 1468 bytes to aaa.bbb.ccc.ddd <- not fragmented
Sending 1469 bytes to aaa.bbb.ccc.ddd <- FRAGMENTED!
Sending 1468 bytes to aaa.bbb.ccc.ddd <- not fragmented


From the tests we did, we can assume that 1468 bytes is the largest unfragmented packet size. The MTU size would be 1496, made up from 1468 payload and 28 ICMP/IP Headers and payload information.
The current maximum payload size is not divisible by 8. The actual size of the payload (data) will be limited to: 1464

The maximum MTU size for aaa.bbb.ccc.ddd is: 1496
 
Zuletzt bearbeitet:
@Shirocco88: Wie bereits beschrieben, habe ich aktuell keine IPv4-Box im Zugriff und hatte um Unterstützung gebeten. Wollte mir leider niemand ermöglichen.

Deine Webseite ist gerade down und konnte die Grenze auch mit Ping ermitteln:
Code:
> ping ip.der.um.box -l 1432

Ping wird ausgeführt für ip.der.um.box mit 1432 Bytes Daten:
Antwort von ip.der.um.box: Bytes=1432 Zeit=47ms TTL=51

> ping ip.der.um.box -l 1433

Ping wird ausgeführt für ip.der.um.box mit 1433 Bytes Daten:
Zeitüberschreitung der Anforderung.

Weitere Tests ergaben:
  • von kdg zu um: größtes Paket 1432 Bytes
  • von t-dsl zu um: größtes Paket 1464 Bytes
  • von o2 zu um: größtes Paket 996 Bytes
  • von kdg zu google: größtes Paket 1432 Bytes
  • von t-dsl zu google: größtes Paket 65500 Bytes
  • von o2 zu google: größtes Paket 996 Bytes
 
Zuletzt bearbeitet:
Das generelle MTU-Handling funktioniert offenbar auch bei der 6490 korrekt, ansonsten würde es noch viel mehr Funktionen und Sites geben, die man nicht nutzen bzw. nicht erreichen kann.

Wenn es das angenommene MTU-Problem wirklich geben sollte und das auch hier beteiligt ist, dann beschränkt es sich vermutlich auf das Setzen oder automatische Ermitteln der korrekten MTU-Angabe für einen VPN-Tunnel - wobei ich das eben in älteren Versionen der 6490-Firmware auch am KDG-Anschluß mit DS-Lite auf die Reihe gekriegt hatte (zu einem Server mit "racoon", Weihnachten 2014) - nur hatte ich diesen DS-Lite-Anschluß und die Box vom Provider nicht lange genug (in Kombination), um das mit späterer Firmware weiterhin beobachten zu können.

Wenn das wirklich nur bei der 6490-Firmware auftritt (bzw. für alle DOCSIS-Boxen, aber nur bei UM), dann bringt auch ein Test mit einer DSL-Box im LAN1-Modus hinter der 6490 nicht wirklich etwas, wenn die "Fehlerstelle" richtig als "VPN-Tunnel-MTU" diagnostiziert wurde, denn dann baut die 6490 selbst gar keinen Tunnel auf und das Ergebnis wäre ja erneut nur, daß es ohne die 6490 von UM eben geht (was m.E. auch im "inoffiziellen Unitymedia-Forum" schon nachzulesen ist).

Da würde es also auch ausreichen, zu irgendeiner beliebigen anderen FRITZ!Box an irgendeinem anderen Anschluß (natürlich nicht erneut zu einer 6490 am UM-Anschluß) eine funktionierende VPN-Verbindung aufzubauen ... und zwar genau von der KDG-Box am DS-Lite-Anschluß, weil man dann ein "generelles Problem" der 6490 bei einer MTU < 1500 ausschließen kann.

Wobei nach meiner eigenen Beobachtung die anderen Boxen das tatsächlich auch richtig behandeln ... wenn ich mit einer 7490 hinter einer 6490 (Retail, kein DS-Lite) einen VPN-Tunnel aufbauen lasse, dann hat der - im Gegensatz zum Betrieb der 7490 am DSL-Anschluß, wo dank PPPoE eine geringere MTU angesagt ist - die erwartete MTU von 1500 Bytes ... es geht eben nichts für PPP-Kapselung ab von der max. Größe, weil der Kabel-Anschluß volle 1500 Bytes bietet. Außer er hängt halt hinter einem DS-Lite-Anschluß ... dann muß er die MTU um die entsprechende Anzahl von Bytes reduzieren, die für die zusätzliche Kapselung der IPv4-Pakete in IPv6 notwendig sind.

EDIT: Ach so ... man darf sich hier auch nicht allzu sehr auf die "Anzeige" unter "/proc/kdsld/dsliface/internet/ipsec/connections" verlassen. Da steht auch bei einer 7490 hinter der erwähnten 6490 die Angabe von 1500 Bytes (und der Tunnel funktioniert trotzdem), wenn der Peer eine FRITZ!Box am 1&1-Anschluß ist und dort nur 1492 Bytes über die Leitung können, weil natürlich PPPoE verwendet wird. Man darf also nicht nur auf die MTU-Ausgabe in den Support-Daten schielen, sondern muß sich daran orientieren, welche Größe "volle" ESP-Pakete tatsächlich haben bzw. bei DS-Lite ist ja immer NAT-T angesagt, daher gibt es keine "raw ESP"-Pakete und die Daten landen in UDP-Paketen, die zumindest auf einer Seite an Port 4500 gehen sollten.

Wollte mir leider niemand ermöglichen.
Das kann man - meines Erachtens - aber auch nachvollziehen ... jeder andere müßte seine Box erst entsprechend konfigurieren (und zwar von Hand), damit diese passiv als Responder eine solche eingehende VPN-Verbindung von Dir akzeptiert und das ist - für den Ungeübten genauso wie für jemanden, der das schon mehrfach gemacht hat - ein nicht unerheblicher Aufwand. Das dann auch noch für jemanden, den man nicht persönlich kennt und von dem man nicht weiß, was er so anstellt.

Kennst Du tatsächlich niemanden in Deinem Umfeld, der einen Internet-Anschluß mit einer FRITZ!Box hat und den Du gut genug kennst (und der auch Dich gut genug kennt), um diese Bitte zu äußern (bzw. um Dir diesen Gefallen zu tun)?

Je nachdem, was da hinter den UM-Routern noch so an Komponenten beteiligt ist an einem Datentransfer, könnte es auch funktionieren, die MTU für die Pakete, die am Ende über den Tunnel sollen, schon beim Sender entsprechend zu begrenzen (z.B. unter Linux mit "ip route" und MTU-Option) ... theoretisch sollte eigentlich die FRITZ!Box ihrerseits keine kürzeren Pakete zusammenfügen und neu fragmentieren, wenn die bei ihr eintreffen. Das aber bitte wirklich nur als theoretische Überlegung sehen ... getestet habe ich es nicht bzw. nicht in vollem Umfang. Bei mir gehen halt aus einem Linux-Server keine Pakete mit Payload > 972 Byte raus, wenn ich die MTU für eine IPv4-Route auf 1000 Bytes festlege. Was davon auf der anderen Seite (des FRITZ!Box-VPN-Tunnels) dann ankommt, kann ich im Moment auch nicht testen, weil ich keine Mitschnitte über Fernwartung mache (Schneeball-Effekt, wenn der Mitschnitt ebenfalls über das Interface geht).

Allerdings muß man dann ggf. schon beim Verbindungsaufbau eingreifen ... wenn die kompletten Proposals am Ende bereits Paketgrößen ergeben, die jenseits der MTU am DS-Lite-Anschluß liegen, dann funktioniert auch P1/P2 nicht. Aber da kann man ja gegensteuern, indem man erst mal ein Proposal-Set wählt, das nur eine oder zwei Alternativen bietet - das sollte nicht an die Grenzen der MTU stoßen, da die FRITZ!Boxen hier ja keine Zertifikate o.ä. austauschen.
 
Zuletzt bearbeitet:

Zurzeit aktive Besucher

Statistik des Forums

Themen
246,690
Beiträge
2,256,045
Mitglieder
374,664
Neuestes Mitglied
verrücktetmongo
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.