[Problem] Kabel-Fritzbox blockiert gewisse UDP-Pakete

leseratte10

Mitglied
Mitglied seit
23 Apr 2012
Beiträge
394
Punkte für Reaktionen
1
Punkte
18
Hallo zusammen,

ich habe seit ca. 1 Monat ein verdammt merkwürdiges Problem an meinem Unitymedia-Anschluss mit Fritzbox 6591 07.13, und ich weiß absolut nicht mehr weiter, und ich bin mir auch nicht sicher was jetzt alles relevant dafür ist. Vielleicht hat ja einer der Fritzbox-Spezialisten in diesem Forum noch eine Idee.

Angefangen hat das ganze vor ca. einem Monat. Ich habe einen Server im Internet, wenn ich diesem ein speziell formatiertes UDP-Paket schicke, antwortet dieser mit einem anderen Paket (mit einer Datei die auf dem Server liegt). Das hat auch schon ne ganze Weile so funktioniert. Dann habe ich den Inhalt dieser Datei auf dem Server geändert (gleiche Dateigröße, nur anderer Inhalt) und es hat plötzlich nicht mehr funktioniert. Nach einigem herumspielen habe ich es geschafft, einen Testfall zu isolieren - zwei Dateien, die sich nur in einem einzigen Byte unterscheiden. Eine Datei kommt an, die andere nicht.

Testfall:
Code:
( echo get-ap=test.bin; sleep 1 ) | ncat -u 95.217.77.151 27900 | xxd
( echo get-ap=test2.bin; sleep 1 ) | ncat -u 95.217.77.151 27900 | xxd
Diese Befehle weisen den Server an, die entsprechende Datei zu senden. Frage ich den Server nach der "test2.bin", klappt alles wunderbar - ich sehe den Hexdump der Datei.
Frage ich den Server nach der "test.bin", klappt es nicht. Ich sehe keine Ausgabe, und in einem tcpdump auf dem Server sehe ich, dass von meiner öffentlichen IP ca. 30 Sekunden später ein "ICMP ip reassembly time exceeded" empfangen wird. Die Fritzbox ist also anscheinend nicht in der Lage, dieses Paket - dessen Inhalt sich nur um ein Byte unterscheidet (gleiche Dateigröße) von dem funktionierenden - zusammenzusetzen.

Probiere ich das ohne Fritzbox, also z. B. indem ich meinen Laptop an einen Handy-Hotspot hänge, klappt alles.

Ich habe im Unitymedia- und im Vodafone-Forum nachgefragt, weil ich das zuerst für eine Störung an meinem Anschluss oder im Vodafone-Netz hielt:
https://www.unitymediaforum.de/threads/39732/
https://www.vodafonekabelforum.de/viewtopic.php?f=52&t=42824

Dort haben dann mehrere Leute die Situation nachgestellt, und folgendes ist dabei rausgekommen:
- Es liegt nicht am Bundesland bzw. dem Provider-Netz im entsprechenden Bundesland, denn es gab zwei Tester aus Hessen, bei einem hat es funktioniert, beim anderen nicht.
- Es liegt nicht am Unterschied "eigenes Endgerät" / "Provider-Endgerät", denn ein Tester mit ConnectBox hatte Erfolg, und ein anderer mit eigenem TC4400 auch.

Bleibt meiner Meinung nach eigentlich nur die Fritzbox 6591 als Ursache - die anderen beiden Tester, bei denen es nicht funktioniert hat, hatten beide auch eine Fritzbox 6591.
Die AVM-Hotline hat mir daraufhin erklärt dass das ja gar nicht sein kann, und dass eine Fritzbox ja nicht solche Filter hätte die sowas blocken würden.

Daher die Frage, hat zufällig noch jemand eine Idee, was das für ein merkwürdiges Problem ist?
Könnten ein paar der hier Anwesenden das evtl. mal mit verschiedenen DSL-Fritzboxen (oder auch anderen Kabel-Fritzboxen) testen und Rückmeldung geben, ob das vielleicht ein generelles Fritzbox-Problem ist? Ich habe leider keinen anderen Anschluss mit Fritzbox zur Verfügung.
Dazu einfach die beiden Befehle oben im Code-Block nacheinander (auf einer Linux-Maschine) ausführen - im Erfolgsfall sollten dann für beide ein Hexdump angezeigt werden.
Im Fehlerfall würde nur die test2.bin als Hexdump angezeigt werden, die test.bin gar nicht.

So langsam habe ich keine andere Idee mehr ...

Leseratte10
 
Zuletzt bearbeitet:

koyaanisqatsi

IPPF-Urgestein
Mitglied seit
24 Jan 2013
Beiträge
12,696
Punkte für Reaktionen
351
Punkte
83
Moinsen


Selbe Ergebnis von einem 1&1 Anschluss ( 100/40 ) mit einer 7590 mit 7.21, nur test2.bin wird geladen/angezeigt.
 

leseratte10

Mitglied
Mitglied seit
23 Apr 2012
Beiträge
394
Punkte für Reaktionen
1
Punkte
18
Okay, vielen Dank für den Test. Also ist das wohl ne generelle Macke in allen Fritzboxen? Interessant... aber wie kommt sowas zu Stande?

Kannst du auf der Box mal einen Paketdump auf der WAN-Schnittstelle machen damit man mal sieht was genau da ankommt oder wieder gesendet wird? Am besten den Dump dann auch danach noch 1 Minute oder so weiter laufen lassen bis der ICMP reassembly timer abgelaufen ist. Den Dump kannst du ja danach auf die Server-IP filtern.

Mit meiner Kabelbox kann ich ja leider keinen Netzwerkdump machen (ist gesperrt).
 

koyaanisqatsi

IPPF-Urgestein
Mitglied seit
24 Jan 2013
Beiträge
12,696
Punkte für Reaktionen
351
Punkte
83
Hier mal die Aktionen insgesamt in einer Ausgabe meines...
Screenshot_20201005-140720.png
...darkstat.

Und einen Dump, auch wie Obiges, von einem Raspberry Pi aus gemacht...
Code:
tcpdump -vvv -i eth0 -n udp -tttt portrange 27900
tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes
2020-10-05 14:25:24.373415 IP (tos 0x0, ttl 64, id 13705, offset 0, flags [DF], proto UDP (17), length 44)
    192.168.188.9.48118 > 95.217.77.151.27900: [bad udp cksum 0x2a4c -> 0x881b!] UDP, length 16
2020-10-05 14:25:25.485368 IP (tos 0x0, ttl 64, id 13758, offset 0, flags [DF], proto UDP (17), length 45)
    192.168.188.9.51518 > 95.217.77.151.27900: [bad udp cksum 0x2a4d -> 0xa970!] UDP, length 17
2020-10-05 14:25:25.531693 IP (tos 0x0, ttl 56, id 31714, offset 0, flags [+], proto UDP (17), length 1492)
    95.217.77.151.27900 > 192.168.188.9.51518: UDP, bad length 1476 > 1464
^C
3 packets captured
3 packets received by filter
0 packets dropped by kernel
...nach 3m abgebrochen.

Habe 2 NATs, 1 NAT macht bei mir eine 7560 mit 7.12.
 
Zuletzt bearbeitet:

otto58

Mitglied
Mitglied seit
9 Jan 2007
Beiträge
203
Punkte für Reaktionen
1
Punkte
18
Ich würde test.bin in test1.bin oder socke.bin umbenennen. Ist es der Inhalt oder der Name?
 

leseratte10

Mitglied
Mitglied seit
23 Apr 2012
Beiträge
394
Punkte für Reaktionen
1
Punkte
18
Es ist definitiv der Inhalt.
Der Dateiname wird ja nur an den Server gesendet, damit der weiß, mit welcher der beiden Dateien er antworten soll. Habe auch schon probiert die Dateinamen mal zu tauschen - keine Änderung.
 

fesc

Mitglied
Mitglied seit
14 Mai 2016
Beiträge
299
Punkte für Reaktionen
59
Punkte
28
So mal auf die schnelle, wenn ich einen tcpdump auf der 6591 laufen lasse sehe ich das:

Code:
tcpdump -i cni0 host 95.217.77.151
19:44:13.943173 IP XXX > static.151.77.217.95.clients.your-server.de.27900: UDP, length 17
19:44:26.646334 IP XXX > static.151.77.217.95.clients.your-server.de.27900: UDP, length 17
19:44:26.784961 IP static.151.77.217.95.clients.your-server.de.27900 > XXX.35252: UDP, bad length 1476 > 1472
19:44:26.785018 IP static.151.77.217.95.clients.your-server.de > XXX: udp
Das 2te ist ein fragment von 4 bytes.

Bei ersten kommt also tatsaechlich nix zurueck, bein 2ten ein etwas zu grosses paket (das sehe ich auch nur box-intern, auch das wird nicht ins LAN weitergereicht). Ich weiss ja nicht wie du deine Pakete schickst, aber ich würde spontan vermuten das die etwas zu gross sind ...

Edit: Sollte das so sein, eine MTU von 1480 oder 1476 für UDP pakete ist "gewagt", um es vorsichtig auszudrücken. Wenn du sicher sein willst, nimm 576, oder besser gleich TCP.
 
Zuletzt bearbeitet: