Hybrider Access Point (WPA2/privat + Freifunk)

Aus Freifunk Franken
Wechseln zu:Navigation, Suche


Intro

Mit vielen Routern ist es möglich, mehr als ein Funknetz aufzuspannen. So spannen die Freifunk Franken Router in Ihrer Grundkonfiguration zwei Wifi Netze auf: batman.franken.freifunk.net zum vermeshen und franken.freifunk.net als Access Point.

Es lassen sich unter Umständen weitere Netze hinzufügen. Der Artikel beschreibt das Einrichten eines privaten WPA2 verschlüsselten Funknetzes auf einem Freifunk Franken Router. Der Traffic, der dann über das private WPA2 verschlüsselte Netz läuft, wird hierbei nicht ins Freifunk Netz (fffVPN) geroutet, sondern verlässt das Heimnetz über den Heimrouter (z.B. Fritzbox, Kabelmodem, Speedport, etc..) direkt in das Netz des privaten Internetproviders. Voraussetzung hierfür ist, dass auf dem Freifunk Router ein WAN Port verfügbar ist, und der Router über den WAN Port an den Heimrouter und damit an das Internet angeschlossen ist.

An dem so umkonfigurierten Freifunk Router (mit WAN/ Netzwerkkabel Anbindung) lässt sich per Funkanbindung ein weiterer Freifunk Router anschliessen, der das Heimnetz weiterspannt. Der per Funk angeschlossene Freifunk Router fungiert hierbei als Repeater für den über WAN angeschlossenen Freifunk Router, wobei der Repeaterbetrieb auf das private Funknetz beschränkt ist. Das Freifunk-Funknetz wird parallel dazu weiterhin über die Meshing Funktionalität aufgespannt.

Die Konfiguration (WAN Anschluss) wurde bislang auf folgenden Routern erfolgreich getestet:

  • Ubiquiti PicoStation M2HP
  • Ubiquiti NanoStation Loco M2
  • TP-Link WR841N(D)v9
  • TP-Link WR1043ND v2

Die Konfiguration (Repeater Anschluss) wurde bislang auf folgenden Routern erfolgreich getestet:

  • TP-Link WR841N(D)v9

Voraussetzungen

  • Funktionsfähiger und angeschlossener WAN Port am Freifunk Router (Für die Konfiguration eines WAN Ports auf der Ubiquiti PicoStation M2HP oder NanoStation Loco M2 siehe bitte die Ubiquiti Freifunk Firmware Installationsanleitung)
  • Sicheres Passwort auf dem Freifunk Router ("Wie ändere ich das Passwort für den Router?")
  • SSH Zugriff auf den Router ("Wie kann ich mich auf den Router einloggen?")
  • Die Anleitung hat einen mittleren Schwierigkeitsgrad: Jemand ohne bisherige Linux-Berührungspunkte wird möglicherweise verzweifeln, Pros werden sich nicht ganz ernst genommen fühlen


Vor- und Nachteile

Pro:

  • Evtl. lässt sich der Kauf eines zusätzlichen privaten WiFi-Routers vermeiden, indem der Freifunk Router mitgenutzt wird
  • Manche Freifunk-Router zeigen deutlich ansprechendere Leistungscharakteristiken als Router, die üblicherweise in Betrieb sind. Die eigenen 4 Wände werden besser ausgeleuchtet.
  • Die eigene WiFi-Homezone lässt sich auf mehrere Wifi-Router abstützen, sofern die Konfigurationsparameter SSID, Key und das Verschlüsselungsverfahren auf allen verwendeten Routern identisch sind. Viele Endgeräte unterstützen Roaming zwischen den so konfigurierten Access Points. Die private Homezone wird auf das von euch umkonfigurierte Freifunk Netz erweitert, eine bessere Ausleuchtung wird erreicht.

Con:

  • Der Freifunk Router wird nicht in Standardkonfiguration betrieben. Zwar gibt es auch so keine Funktionsgarantien, aber die Funktionszuverlässigkeit steigt jenseits der Standardkonfiguration nicht unbedingt. Evtl. geht was kaputt.
  • Jeder Freifunk Router, der per WAN über das Internet ans Freifunk Franken VPN (Interface fffVPN) angeschlossen wird, erzeugt einen geringen Grundlast-Traffic im Up- und Download.
  • Repeater übermitteln jedes Datenpaket 2xmal. Die vorhandene Bandbreite halbiert sich, wenn der Client an dem Repeater angeschlossen ist.

Routeranschluss via WAN Port

Dieser Abschnitt beschreibt die Konfiguration für einen Freifunk-Router, der per WAN port (Netwerkkabel) an den Heimrouter angeschlossen wird.

Einloggen und Check der Konfiguration (WAN)

Zunächst loggt man sich auf dem Router per ssh ein.

Dann kann man mit "route" kurz überprüfen... route ... inwieweit der Freifunk-Router per WAN Port mit dem Internet verbunden ist:

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         fritz.box       0.0.0.0         UG    0      0        0 eth1
192.168.178.0   *               255.255.255.0   U     0      0        0 eth1

Hier sollte der Heimrouter als Default-Gateway eingetragen sein (IP oder DNS Name). Den Namen des WAN-Interfaces (in diesem Beispiel wird der Default-Gateway "fritz.box" über das WAN-Interface "eth1" angesprochen) sollte man sich für später aufschreiben.

Ein ping ... ping freifunk-franken.de

...sollte beantwortet werden (Abbruch mit "STRG-C"):

PING freifunk-franken.de (31.172.113.113): 56 data bytes
64 bytes from 31.172.113.113: seq=0 ttl=52 time=26.216 ms
64 bytes from 31.172.113.113: seq=1 ttl=52 time=24.924 ms
^C
--- freifunk-franken.de ping statistics ---
2 packets transmitted, 2 packets received, 0% packet loss
round-trip min/avg/max = 24.924/25.570/26.216 ms

Da ein Default-Gateway definiert ist und der ping beantwortet wird, kann man davon ausgehen, das der Freifunk Router direkt über den WAN Port mit dem Internet verbunden ist.

Privates verschlüsseltes WiFi Netz im FF-Router konfigurieren (WAN)

Sicherheitskopien (WAN)

Zunächst sind Sicherheitskopien der später veränderten Dateien empfehlenswert: cp /etc/config/network /etc/config/network.sik-orig

cp /etc/config/wireless /etc/config/wireless.sik-orig

cp /etc/config/nodewatcher /etc/config/nodewatcher-orig


Falls später gewünscht, ist ein Zurückspielen der gesicherten Konfiguration umgekehrt über cp /etc/config/network.sik-orig /etc/config/network

cp /etc/config/wireless.sik-orig /etc/config/wireless

cp /etc/config/nodewatcher-orig /etc/config/nodewatcher möglich. Dies macht unten durchgeführte Änderungen rückgängig.

Editieren von /etc/config/network (WAN)

Mittels eines Texteditors (auf allen Freifunk Routern gibt es den etwas speziellen Editor vi) muss an die vorhandene Konfigurationsdatei /etc/config/network ein Konfigurationsblock angefügt werden. Die bestehenden Konfigurationsblöcke müssen unbedingt erhalten bleiben.

Aufruf des Texteditors: vi /etc/config/network


Mittels "i" kann der Editor in den Einfügemodus versetzt werden. Folgender Konfigurationsblock sollte am Ende der Datei angefügt werden. Der Eintrag erstellt eine zusätzliche Bridge zum WAN-Interface des FF-Routers:

config interface            'privnet'
        option ifname       'eth1'  
        option type         'bridge'  
        option proto        'dhcp'

Hierbei ist zu beachten, dass der Name des WAN-Interfaces genommen wird (Hier im Beispiel "eth1"). Dieser wurde oben unter "Einloggen und Check der Konfiguration" ermittelt.

Mit "Esc" beendet man den Einfügemodus. Mit ":x" speichert man die Datei. Mit ":q!" verwirft man die Änderungen, falls etwas schief gegangen sein sollte. Der Editor wird in beiden Fällen beendet.

Info: Weitere Konfigurationsmöglichkeiten sind hier dokumentiert.

Editieren von /etc/config/wireless (WAN)

Auch hier muss die Konfiguration mittels Texteditor angepasst werden:

vi /etc/config/wireless

Wieder muss der Texteditor mit "i" in den Einfügemodus versetzt werden und folgender Konfigurationsblock angefügt werden. Die bestehenden Einträge müssen erhalten bleiben.

config wifi-iface
        option device       'radio0'
        option network      'privnet'
        option ifname       'privwifi'
        option mode         'ap'
        option ssid         'MyHomeIsMyCastle'
        option key          '12345678123456781234'
#        option encryption   'psk2+tkip+aes'
        option encryption   'psk2+ccmp'
        option wds          '1'

Der Eintrag erstellt ein neues verschlüsseltes Wifi mit dem Namen (SSID) "MyHomeIsMyCastle" und dem Schlüssel (Key) "12345678123456781234". Key und SSID müssen unbedingt persönlich angepasst und notiert werden. Wer die Parameter "SSID", "Key" und "Encryption" identisch zu einem im Heimnetz bestehenden Wifi-Router wählt, ermöglicht ggf. ein Roaming zwischen den Wifi-Routern seines Heimnetzes (s.o.).

Als Network wird der Name der vorher definieren Bridge "privnet" eingetragen. Wer stattdessen hier "mesh" einträgt, routet sein neu erstelltes privates und verschlüsseltes Wifi über das Freifunk Netz und nicht über seinen privaten Internetprovider.

Der Name des Funk-Devices "radio0" sollte bereits in den bestehenden Konfigurationsblöcken von /etc/config/wireless erwähnt sein.

Hinweis: Soll kein weiterer Freifunk-Router per Funk an diesen Router angeschlossen werden, der ebenfalls das private Funknetz im Repeaterbetrieb aufspannt, kann auf die Zeile "option wds '1'" verzichtet werden.

Mit "Esc" beendet man den Einfügemodus. Mit ":x" speichert man die Datei. Mit ":q!" verwirft man die Änderungen, falls etwas schief gegangen sein sollte. Der Editor wird in beiden Fällen beendet.

Info: Weitere Konfigurationsmöglichkeiten sind hier dokumentiert.

Ausblenden der neuen Interfaces im Netmon (WAN)

Wir editieren die Datei nodewatcher: vi /etc/config/nodewatcher


Und tragen die oben neu definierten Interfaces (br-privnet, privwifi) in die Blackliste der Interfaces ein, die nicht an den Netmon durchgereicht werden. Mittels "i" kann der Editor in den Einfügemodus versetzt werden. Folgender Konfigurationsblock kann angepasst werden:

.
.
config network
	option mesh_interface 'br-mesh'
	option iface_blacklist 'lo ifb0 br-privnet privwifi'
	option ip_whitelist 'br-mesh'
	option client_interfaces 'w2ap'

Mit "Esc" beendet man den Einfügemodus. Mit ":x" speichert man die Datei. Mit ":q!" verwirft man die Änderungen, falls etwas schief gegangen sein sollte. Der Editor wird in beiden Fällen beendet.

Reboot des Freifunk Routers (WAN)

Die Änderungen werden nach Neustart des Routers aktiv:

reboot & exit

Abschlusscheck der Konfiguration (WAN)

Zunächst loggt man sich wieder auf dem Router per ssh ein.

Mit Aufruf von ifconfig... ifconfig

...sollten die neuen Interfaces privwifi und br-privnet eingetragen sein. Exemplarisch:

.
.
br-privnet Link encap:Ethernet  HWaddr 68:72:51:43:67:FA  
          inet addr:192.168.178.37  Bcast:192.168.178.255  Mask:255.255.255.0
          inet6 addr: fe80::6a72:51ff:fe31:87ff/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1222913 errors:0 dropped:0 overruns:0 frame:0
          TX packets:460641 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:236426915 (225.4 MiB)  TX bytes:80415509 (76.6 MiB)
.
.
privwifi  Link encap:Ethernet  HWaddr 68:72:51:43:67:FA  
          inet6 addr: fe80::68:72:51:43:67:fa/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:11921 errors:0 dropped:0 overruns:0 frame:0
          TX packets:15364 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:1646145 (1.5 MiB)  TX bytes:8456964 (8.0 MiB)

Ein Aufruf von iwconfig ... iwconfig

...sollte das neu konfigurierte private Funknetz anzeigen:

privwifi  IEEE 802.11bgn  Mode:Master  Tx-Power=22 dBm   
          RTS thr:off   Fragment thr:off
          Power Management:off

Nun kann man sich ausloggen: exit


Repeaterbetrieb

Sofern oben ein Freifunkrouter an dem Heimrouter per WAN/ Netzwerkkabel angeschlossen wurde, können weitere Freifunk-Router, die sich in Funkreichweite zum ersten befinden, das private Funknetz (und das Freifunknetz) weiter aufspannen. Hierfür kann der zweite Freifunk Router als Repeater des ersten Freikfunk-Routers (mit WAN Anschluss) konfiguriert werden. Der Repeaterbetrieb gilt hierbei für das private Funknetz, das Freifunk-Funknetz wird weiterhin parallel über die Mesh-Funktionalität aufgespannt.

Die Anleitung orientiert sich hierbei an diesem OpenWRT Receipt.

Einloggen und Check der Konfiguration (Repeater)

Zunächst loggt man sich auf dem Router per ssh ein.

Dann kann man kurz überprüfen... iw dev w2mesh station dump .. inwieweit beide Freifunk-Router sich in Funkreichweite zueinander befinden und wie die Verbindungsqualität ist.

Möchte man z.B. das Signal des FF-Router mit der MAC 68:72:51:43:67:fa repeaten, findet man exemplarisch die Ausgabe:

Station 68:72:51:43:67:fa (on w2mesh)
	inactive time:	10 ms
	rx bytes:	24762511
	rx packets:	193483
	tx bytes:	4109
	tx packets:	77
	tx retries:	122
	tx failed:	0
	signal:  	-70 [-73, -72] dBm
	signal avg:	-69 [-73, -71] dBm
	tx bitrate:	36.0 MBit/s
	rx bitrate:	36.0 MBit/s
	authorized:	yes
	authenticated:	yes
	preamble:	long
	WMM/WME:	yes
	MFP:		no
	TDLS peer:	no

Im Repeater-Betrieb wird als Verbindungsqualität zwischen beiden Freifunk-Routern eine Signalstärke nicht kleiner als ca. -70dBm .. -75dBm empfohlen, wenn man nennenswerte Datenraten in seinem privatem Funknetz erzielen möchte.

Privates verschlüsseltes WiFi Netz im FF-Router konfigurieren (Repeater)

Sicherheitskopien (Repeater)

Zunächst sind Sicherheitskopien der später veränderten Dateien empfehlenswert: cp /etc/config/network /etc/config/network.sik-orig

cp /etc/config/wireless /etc/config/wireless.sik-orig

cp /etc/config/nodewatcher /etc/config/nodewatcher-orig


Falls später gewünscht, ist ein Zurückspielen der gesicherten Konfiguration umgekehrt über cp /etc/config/network.sik-orig /etc/config/network

cp /etc/config/wireless.sik-orig /etc/config/wireless

cp /etc/config/nodewatcher-orig /etc/config/nodewatcher möglich. Dies macht unten durchgeführte Änderungen rückgängig.


Editieren von /etc/config/network (Repeater)

Mittels eines Texteditors muss an die vorhandene Konfigurationsdatei /etc/config/network ein Konfigurationsblock angefügt werden. Die bestehenden Konfigurationsblöcke müssen unbedingt erhalten bleiben.

Aufruf des Texteditors: vi /etc/config/network


Mittels "i" kann der Editor in den Einfügemodus versetzt werden. Folgender Konfigurationsblock sollte am Ende der Datei angefügt werden. Der Eintrag erstellt eine zusätzliche Bridge zum WAN-Interface des FF-Routers:

config interface            'privnet'
        option ifname       'eth0'  
        option type         'bridge'  
        option proto        'dhcp'

Hierbei ist zu beachten, dass nicht der Name des WAN-Interfaces genommen wird, sondern das Interface, welches in den Abschnitten mesh bzw. ethmesh referenziert ist. Das Interface wird hier ohne die VLAN Zusätze (also nicht als eth0.1 oder eth0.3 sondern als eth0) eingetragen. Im Beispiel ist das Interface "eth0".

Mit "Esc" beendet man den Einfügemodus. Mit ":x" speichert man die Datei. Mit ":q!" verwirft man die Änderungen, falls etwas schief gegangen sein sollte. Der Editor wird in beiden Fällen beendet.

Info: Weitere Konfigurationsmöglichkeiten sind hier dokumentiert.


Editieren von /etc/config/wireless (Repeater)

Auch hier muss die Konfiguration mittels Texteditor angepasst werden:

vi /etc/config/wireless

Wieder muss der Texteditor mit "i" in den Einfügemodus versetzt werden und folgender Konfigurationsblock angefügt werden. Die bestehenden Einträge müssen erhalten bleiben.

config wifi-iface
        option device       'radio0'
        option network      'privnet'
        option ifname       'privwifi'
        option mode         'ap'
        option ssid         'MyHomeIsMyCastle'
        option key          '12345678123456781234'
#        option encryption   'psk2+tkip+aes'
        option encryption   'psk2+ccmp'
        option wds          '1'
        option mode         'sta'

Der Eintrag erstellt ein neues verschlüsseltes Wifi mit dem Namen (SSID) "MyHomeIsMyCastle" und dem Schlüssel (Key) "12345678123456781234". Key, SSID und Encryption müssen identisch zu der Konfiguration des Freifunk-Routers sein, dessen Signal "repeated" wird. In der Regel wird dies der Router sein der via WAN / Netzwerkkabel an den Heimrouter angeschlossen ist.

Als Network wird der Name der vorher definieren Bridge "privnet" eingetragen.

Der Name des Funk-Devices "radio0" sollte bereits in den bestehenden Konfigurationsblöcken von /etc/config/wireless erwähnt sein.

Mit "Esc" beendet man den Einfügemodus. Mit ":x" speichert man die Datei. Mit ":q!" verwirft man die Änderungen, falls etwas schief gegangen sein sollte. Der Editor wird in beiden Fällen beendet.

Info: Weitere Konfigurationsmöglichkeiten sind hier dokumentiert.


Ausblenden der neuen Interfaces im Netmon (Repeater)

Wir editieren die Datei nodewatcher: vi /etc/config/nodewatcher


Und tragen die oben neu definierten Interfaces (br-privnet, privwifi) in die Blackliste der Interfaces ein, die nicht an den Netmon durchgereicht werden. Mittels "i" kann der Editor in den Einfügemodus versetzt werden. Folgender Konfigurationsblock kann angepasst werden:

.
.
config network
	option mesh_interface 'br-mesh'
	option iface_blacklist 'lo ifb0 br-privnet privwifi'
	option ip_whitelist 'br-mesh'
	option client_interfaces 'w2ap'

Mit "Esc" beendet man den Einfügemodus. Mit ":x" speichert man die Datei. Mit ":q!" verwirft man die Änderungen, falls etwas schief gegangen sein sollte. Der Editor wird in beiden Fällen beendet.


Reboot des Freifunk Routers (Repeater)

Die Änderungen werden nach Neustart des Routers aktiv: reboot & exit


Abschlusscheck der Konfiguration (Repeater)

Zunächst loggt man sich wieder auf dem Router ein, der als Repeater des privaten Funknetzes konfiguriert ist.

Mit Aufruf von ifconfig... ifconfig

...sollten die neuen Interfaces privwifi und br-privnet eingetragen sein. Exemplarisch:

.
.
br-privnet Link encap:Ethernet  HWaddr 14:CC:20:A3:E3:99  
          inet addr:192.168.178.22  Bcast:192.168.178.255  Mask:255.255.255.0
          inet6 addr: fe80::16:cc:20:a3:e3:99/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:810004 errors:0 dropped:0 overruns:0 frame:0
          TX packets:461103 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:146832306 (140.0 MiB)  TX bytes:78939185 (75.2 MiB)
.
.
privwifi  Link encap:Ethernet  HWaddr 14:CC:20:A3:E3:99  
          inet6 addr: fe80::14cc:20ff:20a3:e399/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:814851 errors:0 dropped:0 overruns:0 frame:0
          TX packets:455180 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:159286107 (151.9 MiB)  TX bytes:90036840 (85.8 MiB)

Ein Aufruf von iwconfig ... iwconfig

...sollte das neu konfigurierte private Funknetz anzeigen und Aufschluss über den Access Point geben (MAC) dessen Signal repeated wird.

Exemplarisch:

privwifi  IEEE 802.11bgn  ESSID:"MyHomeIsMyCastle"  
          Mode:Managed  Frequency:2.412 GHz  Access Point: 68:72:51:43:67:FA   
          Bit Rate=36 Mb/s   Tx-Power=19 dBm   
          RTS thr:off   Fragment thr:off
          Encryption key:off
          Power Management:off
          Link Quality=37/70  Signal level=-73 dBm  
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:1133  Invalid misc:144796   Missed beacon:0

Darüberhinaus ... route

...sollte eine default-Route zum Heimrouter eingetragen sein:

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
default         fritz.box       0.0.0.0         UG    0      0        0 br-privnet
192.168.178.0   *               255.255.255.0   U     0      0        0 br-privnet

Wir loggen uns aus: exit

Loggt man sich nun wieder auf dem Freifunk-Router ein, dessen privates Funknetz repeated wird, kann man über den Aufruf von iwconfig

das neu eingerichtete sta1-Interface finden:

privwifi.sta1  IEEE 802.11bgn  Mode:Secondary  Tx-Power=22 dBm   
          RTS thr:off   Fragment thr:off
          Power Management:off

Nun kann man sich ausloggen: exit


Hat es geklappt ?

Wenn alles geklappt hat, sieht ein Wifi-Endgerät (z.B. Handy, Notebook, Tablet) jetzt das verschlüsselte Wifi mit dem eingerichteten Namen. In unserem Beispiel ist das "MyHomeIsMyCastle".

Wir verbinden uns mit unserem neuen privaten Funknetz und geben den vorher von uns definierten Schlüssel an (in unserem Beispiel ist das "12345678123456781234"). Um sicherzustellen, dass man sich mit dem richtigen Router (Evtl. identische SSID, Key) verbindet, begibt man sich am besten in unmittelbare Nähe des Geräts.

Mit einem Aufruf von z.B. Utrace oder einem IP-Lokalisator sollte der eigene Internet-Provider und Standort auftauchen. Das Routing findet also nicht über das Freifunk Netz statt. Alternativ tut es auch ein schnelles traceroute.

Wenn man sich jetzt stattdessen mit freifunk.franken.net verbindet und wieder z.B. Utrace oder einen IP-Lokalisator aufruft, sollte eine andere IP und einer anderen Standort gemeldet bekommen, und zwar den des verwendeten Freifunk -> Internet Gateways.

War es das schon ?

Nein. Man könnte z.B. noch:

  • eine Konfiguration für einen hybriden Access Point für Freifunk Router entwickeln, die nicht über den WAN port, sondern allein über B.A.T.M.A.N eingebunden sind
  • weitere Routermodelle auf Kompatibilität mit der Anleitung prüfen