Telefonieren mit Serval für Android und Probleme mit der Gluon Broadcast Firewall

Hi,
ich habe mich heute nocheinmal etwas mit Serval für Android beschäftigt.

Mit serval sind verschlüsselte Telefongespräche sowie Kurznachrichtenversand ohne Server Infrastruktur möglich.

Die App gibts in einer etwas älteren Version kostenlos im PlayStore.
Ich nutze die Version 0.92 von dieser Seite.
Andere Versionen sind noch nicht verschlüsselt oder stürzen bei mir ab.

Leider musste ich feststellen, das man nur Endgeräte auf dem selben Router sieht.
Dies liegt natürlich an der Broadcast sperre, die das Funknetz und die DSL-Uploads entlastet.

Serval nutzt Broadcasts um ca. alle 5 sekunden nach neuen Teilnehmern zu suchen.
Die eigentlichen Nutzdaten laufen danach über unicast Verbindungen.

Um dieses Problem zu lösen, habe ich auf meinen Gluon Nodes eine neue firewall Regel

/lib/gluon/ebtables/110-mcast-allow-serval

erstellt.
Mit dem Inhalt

rule ‚MULTICAST_OUT -p IPv4 --ip-protocol udp --ip-destination-port 4110 -j RETURN‘

Ist es möglich diese Regel in allen zukünftigen Gluon Versionen einzusetzen?

Die Möglichkeit ohne Server Infrastruktur zu telefonieren oder Textnachrichten zu versenden wäre sicher eine Bereicherung für das Funknetz.

Gruß
Jan

1 Like

Mir wäre das egal, ich habe 10MBit/s Upstream
(Warum Broadcasts, die nicht von lokal kommen auch Upstream kosten ist mir nach wie vor nicht klar, aber sei’s drum)
Ärgerlich wird es nur für User mit einem DSL-lite oder 3G-Mobil-Usern, die dort einen FF-Node ideln lassen.

Ich würde dazu ein Issue im Gluon GIT erstellen.

Hier der Link um ein neues Issue zu erstellen

1 Like
1 Like

Vielleicht kann man mit den Entwicklern von Serval mal sprechen und denen IPv6 Multicast nahelegen. Dann haben wir auch 'ne Chance den Traffic effizient im Mesh zu verteilen. Oder nutzen die das evtl. sogar schon?

Wenn es wirklich IPv4 Broadcast ist, sollte man da in größeren Meshes sehr vorsichtig sein.

1 Like

Ich bin mir der Probleme bewusst.
Jedoch ist Serval nicht ein Dienst der unterstützt werden sollte?

Die Größe der udp pakete beträgt 7byte ca. alle 5sec pro Endgerät.

Oft wird über interne Dienste gesprochen, die bei einem Inet Ausfall weiterhin genutzt werden können.
Da Serval batman mesh funktionalität mitbringt(benötigt root und oftmals Cyanogenmod), serverfrei benutzbar ist und von jedem ohne großes Know How im playstore (oder von anderen serval Endgeräten an port 8080) kostenlos runtergeladen und sofort im normalen Wlan benutzt werden kann, ist es doch DIE Software für Freifunk.

Falls Internet mal nicht mehr ist, wird in gut vermaschten Gegenden so der Freifunk zum Notfunk.
Mir fällt kein anderer Dienst ein, der im Fall der Fälle so nützlich sein könnte und so wenig Aufwand/Pflege benötigt.

Was halten unsere Firmwarebäcker denn davon, die Firewall Regel in die nächsten RuhrgebietsVersionen einzubauen?

Klar, der Dienst ist sinnvoll und passt super zu Freifunk. Wir sollten nur aufpassen, dass wir uns damit nicht das Mesh kaputt machen. Ein Paket zu 7byte alle 5s pro Endgerät mag wenig erscheinen, kann aber bei größeres Meshes eine enorme Last erzeugen. Mit avahi hatten wir in Lübeck ähnliche Probleme, obwohl avahi im Mesh nach 'ner echt tollen Idee aussah und wir es gerne behalten hätten. Auch so ein ping6 ff02::1%mesh ist nicht zu verachten.

Vergesst auch nicht, dass Broadcasts im WLAN pro Knoten dreimal gesendet werden und zudem noch mit sehr viel langsamerer Bitrate als Unicast (bei Gluon häufig 12MBit/s). Das 7byte Paket + Header (12 Byte UDP/IP, WLAN, WIFI-Preamble, batman-adv, …) mit sagen wir 50byte belegt also pro Knoten etwa 100µs Sendezeit bei 12 MBit/s. Wenn sich zwei Knoten sehen oder zumindest sich gegenseitig stören, wären es schon 200µs.

Wenn man stattdessen Multicast verwenden würde, müssten viele Knoten die Pakete garnicht verteilen.

3 Likes

Was wäre denn, wenn ich meine Fritzbox über den Gluon mit einen SIP Account vebinde und darüber telefonieren will - muss ich dafür auch entsprechende Vorkehrungen treffen?

lg
funky

Nö, das geht problemlos.
(mal abgesehen von den CGN/IPv6/MTU-Problemen bei Anbietern wie Sipgate… Aber das ist die Story von der die DS-Lite-Geschädigten bei KDG und UM ein Lied singen können.)

Gibt’s eigentlich einen Thread zu VoIP und SIP im Freifunk? Ich hoffe ich störe hier, wo es ja um Serval geht, nicht mit meinen Voip-Fragen,.

Ich würde gern wissen ob ich an einen Gluon Router mit UMTS-Uplink eine Fritzbox anstöpseln und damit über SIP-Accounts telefonieren kann.

Mein Gluon ist ein TL-WR841N, der hat kein eigenes USB-Port, dehalb steckt der Surfstick in einer Fritzbox, die ich mit dem WAN-Port des Gluon verbinde. An dessen LAN-Port hängt die zweite Fritzbox mit dem Telefon.

Normalerweise kann ich über den UMTS-Internetzugang nicht telefonieren, weil die Telekom die VoIP-Pakete filtert und stört. Wie sie das genau machen weiß ich nicht, aber es ist sehr wirkungsvoll. Würde das Telefonieren über das VPN funktionieren?

Nein, kannst Du nicht, zumindest nicht sinnvoll.
Denn ein Gluon-Router an einem UMTS-Uplink ist allenfalls sinnvoll, wenn Du >60GB Freikontigent auf der SIM-Karte hast und 300kBit/s an Idle-Traffic ertragen kannst.

Ja, aber siehe @adorfer, Freifunk ist ein schlechtes VPN bei Drosseltarifen

Ständig? Also auch im nutzlastfreien Betrieb, wenn niemand bei mir eingeloggt (eingemescht?) ist und nur Statusmeldungen ausgetauscht und ein paar verirrte Pakete verworfen werden? Oder kriegt jeder Router grundsätzlich alle Pakete aus seiner „Umgebung“?

Wie sieht eigentlich meine Mesh-Umgebung bei Telekom-UMTS-Zugang aus, kann ich das irgendwie visualisieren?

Ja.
2-4GB/Tag. Ohne dass ein einziger Client eingelogt wäre an dem Freifunk-Node.

Das ist der Preis für ein „Zero-Config“-Protokoll und eine Layer2-„Domain“ von mehr als 400 Routern.
Die Netzteilung ist leider beizeiten versäumt worden. (Dieser Overhead wächst exponentiell mit der Zahl der Router)

Wenn Du sowieso keine Nachbarn zu Wifi-Meshen hast, dann wäre eine Abhilfe, statt „Ruhrgebiet“ eine Freifunk-Domain mit 200 und weniger Routern zu nehmen, z.B. Frankfurt oder Nordwest/Oldenburg.

Das würde ja heissen, dass wir irgendwann einmal soviel overhead haben das nichts anderes mehr geht bzw. nur noch seeeeeehr seeeeeeehr langsam. Gibt es Ansätze daran etwas zu ändern?

  • Subdomänen, die könnte man irgendwann aushängen oder erst auf Layer 3 aka mit einem Router verbinden oder
  • neue Routing-Protokolle, die gerade entworfen, getestet, implementiert etc. werden

Bei Leuten, die DSL-lite (also weniger als 512kBit/s Upstream haben) ist das jetzt schon ein echtes Problem.

Ja, Domains teilen/splitten.
Das ist leider lange versäumt worden. (Ich unterstelle nicht, dass einige Admins dachten „je größer meine Kollisionsdomain desto schöner funkt es hier frei“)
Was realistisch fehlt sind Leute, die das auch wirklich administrieren wollen und können.
Das ist nämlich in der Praxis ganz fürchterliche Server-Hausmeisterei.

1 Like

Die Domäne „Wupper“ ist da sozusagen ein Pilotprojekt. Dort wird jeder „Landkreis“ in eine extra fastd Instanz mit eigener Routerfirmware gepackt. Siehe auch hier.

Telefonieren würde dann allerdings wohl nur innerhalb der eigenen Stadt oder Kreis funktionieren.

Ich denke mal, Du hast Dich von der Offtopic-Diskussion verwirren lassen.
(Aber ich werde hier keine Threads mehr teilen, damit mir nicht vorgeworfen werden kann, ich würde den Willen der Schreiber nicht respektieren.)

Und da hab ich extra noch diesen Satz dazu gemacht um nicht zu sehr offtopic zu sein :wink: