[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