POSTS

Freifunk Auf Dem ESX Virtualisiert

Dies ist keine Schritt-für-Schritt-Anleitung, sondern dient nur der Dokumentation bzw. Hilfestellung!

Seit geraumer Zeit habe ich mein Gäste-WLAN mittels eines Freifunk-Routers realisiert.

Hierzu wurde beim Freifunk-Plasterouter das WLAN abgeschaltet und nur das Freifunk-Netz in meinen Router von MikroTik (http://mikrotik.com) eingespeist. Auf das Meshing verzichte ich.

Dieser provisioniert das Freifunk WLAN an die vorhandenen Accesspoints mit eigener SSID “Freifunk”.

Im Rahmen der Optimierung und Kabelreduzierung kam mir der Gedanke, dass man dies doch auch in eine VM verlagern könnte. Der ESX läuft sowieso 724 ! Das kann ich dann auch meinen Kunden anbieten.

Einige Hürden gibt es zu meistern:

  • Das passendes Freifunk Firmwareimage muss gefunden werden.

  • Die VM muss eingerichtet werden.

  • Der Netzwerk-Stack vom ESX muss in den “promiscous mode” geschaltet werden.

  • Die virtuellen Netzwerk-Interfaces müssen passend der VM zugeordnet werden.

Freifunk Image (Gluon)

Da die Offloader-VM in Hamburg läuft nahm ich die entsprechende Firmware. Diese ist (Info von Freifunk HH!) auf den Update-Servers zu finden: https://updates.hamburg.freifunk.net/

In meinem Fall unter /ffhh-ost/stable/factory/ das Image mit der Endung x86-64.vmdk

Fragt bitte bei Eurer lokalen Community nach!

Einrichtung der VM

Bei meinem ESX 6.7 habe ich eine neue VM ohne Festplattte angelegt:

  • Gastbetriebssystem Linux, Debian GNU/Linux 9 (64 Bit)

  • 1 CPU

  • 128MB RAM sollten reichen

  • 2 virtuelle Netzwerk-Adapter vom typ E1000e

  • Kein SCSI-Controller, CDROM, USB,…

Nach Erzeugung der VM wird das Firmware-Image (.vmdk) in das Verzeichnis der VM hochgeladen und an die VM gebunden

  • SATA-Controller

  • Festplatte: IDE-Controller 1 - Master

Promiscous Mode !

Ohne das Fundstück https://www.nico-maas.de/?p=1320 hätte ich es nicht geschafft !

“[…]On your ESXi Server, go to Configuration, Network and edit your vSwitch. Allow Promiscuous Mode, MAC Change and Fake Transmissions.

After that, go to Configuration, Software, Advanced Settings - to the “Net” section and change Net.ReversePathFwdCheckPromisc to 1[…]”

Zuordung der virtuellen Interfaces

Nun der knifflige Teil… Die Netzwerkarten werden wie folgt konfiguriert:

  • Zum Erst-Start/Config: Netzwerkatapter 1: so anschliessen, dass man sich mit dem dort gestarteten DHCP-Server verbinden kann!

  • Zum Betrieb: Netzwerkadapter 1 (vNIC1) wird der WAN-Port des Freifunk-Routers, Netwerkadapter 2 (vNIC2) wird Teil des Freifunk-Netztes

Die Erreichbarkeit des Adapters zur Configuration bzw. zum Betrieb habe ich in meinem Fall über ein VLAN und einen Accessport geregelt.

Im LEDE ist der vNIC2 aber “down”

ip a|more

(ein ping 9.9.9.9 sollte aber bereits funktionieren! Ist man sich nicht über die Zuordnung der Interfaces sicher, so schreibt man sich die MAC-Adressen auf.)

und nicht Teil des Freifunk-Clientnetztes. Also fügen wir ihn über die Shell hinzu:

uci add_list network.client.ifname=eth1
uci commit
/etc/init.d/network restart

Wenn dann alles läuft zeigt

batctl o

bereits andere Nodes!

Passwort

Mittels

passwd

setzt man noch ein Passwort, dann kann man die VM aus seinem Netzt heraus auch per SSH erreichen.