[Berlin-wireless] IPv6-Unterstützung Freifunk-Firmware / IGMP snooping
Nils Wisiol
mail
Fr Okt 30 11:55:48 CET 2015
Liebe Freifunker,
ich habe vor kurzem die Freifunk-Firmware auf meinem TP-Link WDR4300
installiert und habe mich sehr über das schöne Web-Interface gefreut!
Auf meinem Android-Telefon musste ich jedoch eine massive
Verschlechterung der (privaten) WLAN-Geschwindigkeit feststellen. Ein
Seitenladevorgang im Webbrowser wurde um mindestens zehn Sekunden
verzögert, es war unbenutzbar. (Android hat das sogar von Zeit zu Zeit
selbst und zurück aufs Datennetz gewechselt -- sehr ärgerlich.) Das
Freifunk-WLAN ist soweit ich weiß nicht betroffen, da es kein IPv6
unterstützt. (Oder?)
Mein Setup sieht so aus (mit fixed width font anschauen):
Kabel Hitron TP-Link WLAN
Deutschland/ Router LAN WDR4300 (privat) End-
Vodafone ---------- von-------------- mit ------------ gerät
Internetanschluss KD Freifunk
|
| LAN
|
Test-
zugang
Es stellte sich heraus, dass manche ICMPv6 Neighbor Discovery vom
Endgerät nicht korrekt funktioniert. Der Grund dafür ist entweder, dass
die Neighbor Solicitation vom Endgerät von der Freifunk-Bridge nicht
korrekt an den Router geleitet wurde, oder das Neighbor Advertisement
nicht korrekt zurück (welches von beiden der Fall ist, konnte ich nicht
ermitteln).
Vom Test-Zugang funktioniert jedoch alles tadellos.
Schaltet man am Freifunk-Router das IGMP snooping [1] ab [2], das
eigentlich dafür gedacht ist, broad- und multicast-traffic nur an die
relevanten Schnittstellen der Bridge weiterzuleiten, ist das Problem
behoben -- alles funktioniert wunderbar. Warum das IGMP snooping versagt
und die ICMPv6-Pakete nicht korrekt weiterleitet, weiß ich leider nicht.
Mir ist nicht bewusst, dass man Setup vom Freifunk-Router irgendwie
signifikant vom Standard-Setup abweicht. Ich möchte daher fragen, ob
jemand das Problem kennt oder reproduzieren [3] kann? In diesem Fall
sollte ggf. die Firmware angepasst werden, um das Problem zu verhindern.
Ich kann gerne weitere Informationen zum Debugging bereitstellen!
Schöne Grüße
Nils
[1] https://en.wikipedia.org/wiki/IGMP_snooping
[2] echo 0 > /sys/devices/virtual/net/br-wan/bridge/multicast_snooping
[3] Zum Reproduzieren bitte folgendes beachten:
- Das Problem tritt bei mir nur auf Android-Endgeräten auf, mein
Linux Mint hat kürzere Timeouts oder kontaktiert den Router ohne ICMPv6
Neighbor Discovery.
- Um das Problem zu reproduzieren, bietet sich die Verwendung von
ndisc6 [4] an, das ICMPv6-Pakete versenden kann.
- Ich habe zum Traffic-mitschneiden am Freifunk Router verwendet:
$ wireshark -k -i <(ssh root at 192.168.0.33 tcpdump -i
wlan1-private-5 -s 0 -n -w - not port 22)
[4] http://manpages.ubuntu.com/manpages/natty/man8/ndisc6.8.html
Mehr Informationen über die Mailingliste Berlin