Hybrider Access Point (WPA2/privat + Freifunk): Unterschied zwischen den Versionen

Aus Freifunk Franken
Wechseln zu:Navigation, Suche
Keine Bearbeitungszusammenfassung
 
(155 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
[[Kategorie:Technik]]
[[Kategorie:Technik]]
{{Entwurf}}
{{Outdated}}


__TOC__
__TOC__


== Intro ==
= Intro =
Mit vielen Routern ist es grundsätzlich möglich, mehr als ein Funknetz aufzuspannen. So spannen die FF Router in Ihrer Grundkonfiguration zwei Wifi Netze auf: batman.franken.freifunk.net zum vermeshen und franken.freifunk.net als Access Point.
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 Router. Der Traffic, der dann über das private WPA2 verschlüsselte Netz läuft, wird hierbei nicht ins Freifunk Netz (FFF VPN) geroutet, sondern verlässt das Heimnetz über den Heimrouter (z.B. Fritzbox, Kabelmodem, Speedport, etc..) und 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.  
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.  


Die Konfiguration wurde bislang auf folgenden Routern erfolgreich getestet:
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 PicoStation M2HP
* Ubiquiti NanoStation Loco M2
* Ubiquiti NanoStation Loco M2
* TP-Link WR841N(D)v9
* TP-Link WR841N(D)v9
* TP-Link WR1043ND v2


== Voraussetzungen ==
Die Konfiguration (Repeater Anschluss) wurde bislang auf folgenden Routern erfolgreich getestet:
* TP-Link WR841N(D)v9
<br>
= 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 [[Anleitung:UbiquitiPicoStationM2HP|Ubiquiti Freifunk Firmware Installationsanleitung]])
* 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 [[Anleitung:UbiquitiPicoStationM2HP|Ubiquiti Freifunk Firmware Installationsanleitung]])
* Sicheres [[Anleitungen|Passwort]] auf dem Freifunk Router ("Wie ändere ich das Passwort für den Router?")
* Sicheres [[Anleitungen|Passwort]] auf dem Freifunk Router ("Wie ändere ich das Passwort für den Router?")
* [[Anleitungen|SSH Zugriff]] auf den Router ("Wie kann ich mich auf den Router einloggen?")
* [[Anleitungen|SSH Zugriff]] auf den Router ("Wie kann ich mich auf den Router einloggen?")
* Die Anleitung hat einen mittlerem Schwierigkeitsgrad: Jemand ohne bisherige Linux-Berührungspunkte wird möglicherweise verzweifeln, Pros werden sich nicht ganz ernst genommen fühlen
<br>
 
== Vor- und Nachteile ==
== Vor- und Nachteile ==
Pro:
Pro:
* Evtl. lässt sich der Kauf eines zusätzlichen privaten WiFi-Routers vermeiden, indem der Freifunk Router mitgenutzt wird
* 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.  
* 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 ist. 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.
* 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:
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.
* 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.
* 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.
== Einloggen und Check der Konfiguration ==
<br>
= Routeranschluss via WAN Port=
Dieser Abschnitt beschreibt die Konfiguration für einen Freifunk-Router, der per WAN port (Netwerkkabel) an den Heimrouter angeschlossen wird.
<br>
== Einloggen und Check der Konfiguration (WAN) ==
Zunächst [[Anleitungen|loggt]] man sich auf dem Router per ssh ein.
Zunächst [[Anleitungen|loggt]] man sich auf dem Router per ssh ein.


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


<pre>
<pre>
root@grashuepfer:~# route
Kernel IP routing table
Kernel IP routing table
Destination    Gateway        Genmask        Flags Metric Ref    Use Iface
Destination    Gateway        Genmask        Flags Metric Ref    Use Iface
Zeile 43: Zeile 55:
</pre>
</pre>


Hier sollte der Heimrouter als default Gateway eingetragen sein. Den Namen des WAN-Interfaces (in diesem Beispiel "eth1") auf dem verwendeten Freifunk-Router sollte man sich für später aufschreiben.
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 kurzer "ping freifunk-franken.de" sollte beantwortet werden (Abbruch mit "STRG-C"):
Ein ping ...
<code>
ping freifunk-franken.de
</code>
 
...sollte beantwortet werden (Abbruch mit "STRG-C"):
<pre>
<pre>
root@grashuepfer:~# ping freifunk-franken.de
PING freifunk-franken.de (31.172.113.113): 56 data bytes
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=0 ttl=52 time=26.216 ms
Zeile 57: Zeile 73:
</pre>
</pre>


Da ein Standard-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.
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.
<br>
== Privates verschlüsseltes WiFi Netz im FF-Router konfigurieren (WAN) ==
=== Sicherheitskopien (WAN) ===
Zunächst sind Sicherheitskopien der später veränderten Dateien empfehlenswert:
<code>
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.sik-orig 
</code>
 
 
Falls später gewünscht, ist ein Zurückspielen der gesicherten Konfiguration  umgekehrt über
<code>
cp /etc/config/network.sik-orig /etc/config/network
 
cp /etc/config/wireless.sik-orig /etc/config/wireless
 
cp /etc/config/nodewatcher.sik-orig /etc/config/nodewatcher
</code>
möglich. Dies macht unten durchgeführte Änderungen rückgängig.
<br>
=== Editieren von /etc/config/network (WAN) ===
Mittels eines Texteditors (auf allen Freifunk Routern gibt es den etwas speziellen [http://org.netbase.org/vi.html 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:
<code>
vi /etc/config/network
</code>
 
 
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:
 
<pre>
config interface            'privnet'
        option ifname      'eth1' 
        option type        'bridge' 
        option proto        'dhcp'
</pre>
 
'''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 [http://org.netbase.org/vi.html Editor] wird in beiden Fällen beendet.
 
Info: Weitere Konfigurationsmöglichkeiten sind [http://wiki.openwrt.org/doc/uci/network hier] dokumentiert.
<br>
=== Editieren von /etc/config/wireless (WAN)===
Auch hier muss die Konfiguration mittels Texteditor angepasst werden:
 
<code>
vi /etc/config/wireless
</code>
 
Wieder muss der [http://org.netbase.org/vi.html Texteditor] mit "i" in den Einfügemodus versetzt werden und folgender Konfigurationsblock '''angefügt''' werden. '''Die bestehenden Einträge müssen erhalten bleiben.'''
 
<pre>
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'
 
</pre>
 
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 [http://org.netbase.org/vi.html Editor] wird in beiden Fällen beendet.
 
Info: Weitere Konfigurationsmöglichkeiten sind [http://wiki.openwrt.org/doc/uci/wireless hier] dokumentiert.
<br>
=== Ausblenden der neuen Interfaces im Netmon (WAN, optional)===
Wir editieren die Datei nodewatcher:
<code>
vi /etc/config/nodewatcher
</code>
 
 
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:
<pre>
.
.
config network
option mesh_interface    'br-mesh'
option iface_blacklist  'lo ifb0 br-privnet privwifi'
option ip_whitelist      'br-mesh'
option client_interfaces 'w2ap'
</pre>
 
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.
<br>
=== Reboot des Freifunk Routers (WAN) ===
Die Änderungen werden nach Neustart des Routers aktiv:
 
<code>
reboot & exit
</code>
<br>
== Abschlusscheck der Konfiguration (WAN) ==
Zunächst [[Anleitungen|loggt]] man sich wieder auf dem Router per ssh ein.
 
Mit Aufruf von ifconfig...
<code>
ifconfig
</code>
 
...sollten die neuen Interfaces privwifi und  br-privnet eingetragen sein. Exemplarisch:
<pre>
.
.
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)
</pre>
 
Ein Aufruf von iwconfig ...
<code>
iwconfig
</code>
 
...sollte das neu konfigurierte private Funknetz anzeigen:
<pre>
privwifi  IEEE 802.11bgn  Mode:Master  Tx-Power=22 dBm 
          RTS thr:off  Fragment thr:off
          Power Management:off
</pre>
 
Nun kann man sich ausloggen:
<code>
exit
</code>
<br>
= 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 weiter aufspannen. Hierfür kann der zweite Freifunk Router (drahtlos) als Repeater des ersten Freikfunk-Routers (mit WAN Anschluss / Netzwerkabel) konfiguriert werden. Der Repeaterbetrieb gilt hierbei für das private Funknetz, das Freifunk-Funknetz wird weiterhin parallel über die Mesh-Funktionalität aufgespannt.


== Privates WiFi Netz im FF-Router konfigurieren  ==
Die Anleitung orientiert sich an diesem [http://wiki.openwrt.org/doc/recipes/atheroswds OpenWRT Receipt].


'''Hinweis:''' Um zu vermeiden, dass der Freifunkrouter das WLAN-Netz des Heimrouters doppelt (was gegenwärtig nicht sauber funktioniert), sollte das Heimnetz auf einen anderen 2.4 GHz Kanal als 1 funken.
<br>
== Einloggen und Check der Konfiguration (Repeater) ==
Zunächst [[Anleitungen|loggt]] man sich auf dem Router per ssh ein.


'''Sicherheitskopien'''
Dann kann man kurz überprüfen...
<code>
iw dev w2mesh station dump
</code>
.. 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:
<pre>
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
</pre>
Im Repeater-Betrieb wird als Verbindungsqualität zwischen beiden Freifunk-Routern eine Signalstärke nicht kleiner als ca. -75dBm empfohlen, wenn man nennenswerte Datenraten in seinem privatem Funknetz erzielen möchte.
<br>
== Privates verschlüsseltes WiFi Netz im FF-Router konfigurieren (Repeater) ==
=== Sicherheitskopien (Repeater) ===
Zunächst sind Sicherheitskopien der später veränderten Dateien empfehlenswert:
Zunächst sind Sicherheitskopien der später veränderten Dateien empfehlenswert:
<pre>
<code>
cp /etc/config/network /etc/config/network.sik-orig
cp /etc/config/network /etc/config/network.sik-orig
cp /etc/config/wireless /etc/config/wireless.sik-orig
cp /etc/config/wireless /etc/config/wireless.sik-orig
</pre>
 
cp /etc/config/nodewatcher /etc/config/nodewatcher.sik-orig 
</code>




Falls später gewünscht, ist ein Zurückspielen der gesicherten Konfiguration  umgekehrt über
Falls später gewünscht, ist ein Zurückspielen der gesicherten Konfiguration  umgekehrt über
<pre>
<code>
cp /etc/config/network.sik-orig /etc/config/network  
cp /etc/config/network.sik-orig /etc/config/network  
cp /etc/config/wireless.sik-orig /etc/config/wireless  
cp /etc/config/wireless.sik-orig /etc/config/wireless  
</pre>
möglich. Dies macht unten durchgeführte Änderungen rückgängig.


cp /etc/config/nodewatcher.sik-orig /etc/config/nodewatcher
</code>
möglich. Zusätzlich müssen ggf. durchgeführte Änderungen an der crontab rückgängig gemacht werden (s.u.: "Unterbinden des Fastd Start")


'''Editieren von /etc/config/network'''
'''Hinweis:''' Angesichts der Fülle von Änderungen, die ggf. rückgängig gemacht werden müssen, empfiehlt sich alternativ evtl. ein Neuflashen der Firmware.
 
<br>
Mittels eines Texteditors (auf allen Freifunk Routern gibt es den etwas speziellen Editor [http://org.netbase.org/vi.html vi]) muss an die vorhandene Konfigurationsdatei /etc/config/network ein Konfigurationsblock '''angefügt''' werden. '''Die bestehenden Konfigurationsblöcke müssen unbedingt erhalten bleiben'''.
=== 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:
Aufruf des Texteditors:
<pre>
<code>
vi /etc/config/network
vi /etc/config/network
</pre>
</code>


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 Device des FF-Routers:
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 Netzwerkinterface des FF-Routers:


<pre>
<pre>
config interface 'privnet'
config interface           'privnet'
    option ifname 'eth1'
        option ifname       'eth0'
    option type 'bridge'  
        option type         'bridge'
    option proto 'dhcp'
        option proto       'dhcp'
</pre>
</pre>


'''Hierbei ist zu beachten, dass der Interface-Name der WAN Schnittstelle genommen wird''' (Hier im Beipiel "eth1"). Dieser wurde oben unter "Einloggen und Check der Konfiguration" ermittelt.  
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.
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 [http://org.netbase.org/vi.html Editor] wird in beiden Fällen beendet.


Info: Weitere Konfigurationsmöglichkeiten sind [http://wiki.openwrt.org/doc/uci/network hier] dokumentiert.
Info: Weitere Konfigurationsmöglichkeiten sind [http://wiki.openwrt.org/doc/uci/network hier] dokumentiert.
 
<br>
 
=== Editieren von /etc/config/wireless (Repeater)===
'''Editieren von /etc/config/wireless'''
 
Auch hier muss die Konfiguration mittels Texteditor angepasst werden:
Auch hier muss die Konfiguration mittels Texteditor angepasst werden:


<pre>
<code>
vi /etc/config/wireless
vi /etc/config/wireless
</pre>
</code>


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.'''
Wieder muss der [http://org.netbase.org/vi.html Texteditor] mit "i" in den Einfügemodus versetzt werden und folgende Konfigurationsblöcke '''angefügt''' werden. '''Die bestehenden Einträge müssen erhalten bleiben.'''


<pre>
<pre>
Zeile 120: Zeile 332:
         option device      'radio0'
         option device      'radio0'
         option network      'privnet'
         option network      'privnet'
        option mode        'sta'
        option ifname      'privwds'
        option ssid        'MyHomeIsMyCastle'
        option key          '12345678123456781234'
#        option encryption  'psk2+tkip+aes'
        option encryption  'psk2+ccmp'
        option wds          '1'
config wifi-iface
        option device      'radio0'
        option network      'privnet'
        option mode        'ap'
         option ifname      'privwifi'
         option ifname      'privwifi'
        option mode        'ap'
         option ssid        'MyHomeIsMyCastle'
         option ssid        'MyHomeIsMyCastle'
         option key          '12345678123456781234'
         option key          '12345678123456781234'
        option 'encryption' 'psk2+tkip+aes'
#        option encryption   'psk2+tkip+aes'
        option encryption  'psk2+ccmp'
</pre>
</pre>


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.).
Der obere Eintrag privwds dient der Verbindung als Client zum Access Point, dessen Signal "repeated" werden soll. '''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.
 
Der untere Eintrag privwifi spannt ein privates Wifi als Access Point auf, dessen Konfigurationsparameter (Key, SSID und Encryption) identisch zu dem des privaten Funknetzes gewählt sind, um ein Roaming von Endgeräten zu ermöglichen.
 
Als Network wird bei beiden Einträgen der Name der vorher definieren Bridge "privnet" eingetragen.


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.


Der Name des Funk-Devices "radio0" sollte bereits in obigen Konfigurationsblöcken von /etc/config/wireless erwähnt sein.
'''Hinweis''': Der Eintrag "option wds '1'" muss ebenfalls bei dem Router existieren, dessen Signal "repeated" werden soll (s.o.: "Editieren von /etc/config/wireless (WAN)").


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.
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 [http://org.netbase.org/vi.html Editor] wird in beiden Fällen beendet.


Info: Weitere Konfigurationsmöglichkeiten sind [http://wiki.openwrt.org/doc/uci/wireless hier] dokumentiert.
Info: Weitere Konfigurationsmöglichkeiten sind [http://wiki.openwrt.org/doc/uci/wireless hier] dokumentiert.


=== Ausblenden der neuen Interfaces im Netmon (Repeater, optional)===
Wir editieren die Datei nodewatcher:
<code>
vi /etc/config/nodewatcher
</code>
Und tragen die oben neu definierten Interfaces (br-privnet, privwifi, privwds) 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:
<pre>
.
.
config network
option mesh_interface 'br-mesh'
option iface_blacklist 'lo ifb0 br-privnet privwifi privwds'
option ip_whitelist 'br-mesh'
option client_interfaces 'w2ap'
</pre>


'''Reboot des Freifunk Routers'''
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.
<br>


=== Unterbinden des automatischen Fastd Start (Repeater, optional)===
Um zu verhindern, dass auf dem drahtlos verbundenen und umkonfigurierten hybriden FF-Access Point/privatem Repeater ein fastD Tunnel gestartet wird, der CPU- und Netzwerkressourcen benötigt, kann man den fastd Start unterbinden.
In der Crontab...
<code>
crontab -e
</code>
kopieren zunächst die erste Zeile in die Zweite. Dann löschen wir in der zweiten Zeile "sh /etc/fastdstart.sh;" heraus und kommentieren die erste Zeile aus. Mittels "i" kann der Editor in den Einfügemodus versetzt werden.
<pre>
#*/5 * * * *    sh /etc/fastdstart.sh; sh /etc/nodewatcher.sh; sh /etc/configurator.sh; sh /etc/wlanwatchdog.sh >> /var/log/wlanwatchdog.log 2>&
*/5 * * * *    sh /etc/nodewatcher.sh; sh /etc/configurator.sh; sh /etc/wlanwatchdog.sh >> /var/log/wlanwatchdog.log 2>&1
*/1 * * * * /usr/sbin/batctl gw off; sleep 1; /usr/sbin/batctl gw client
#15 01 * * *    rdate -s time.fu-berlin.de > /dev/null
#Enable zapp script if you are running a gateway
#*/1 * * * * /etc/init.d/zapp
</pre>
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.
'''Wichtig:''' Soll der FF-Router später am WAN Port betrieben werden, muss diese Änderung vorher rückgängig gemacht werden.
<br><br>
Alternativ kann man das execute flag wegnehmen:<br>
<code>
chmod -x /usr/bin/fastd;
killall fastd;
chmod -x /usr/bin/tunneldigger;
killall tunneldigger;
</code>
=== Reboot des Freifunk Routers (Repeater) ===
Die Änderungen werden nach Neustart des Routers aktiv:
Die Änderungen werden nach Neustart des Routers aktiv:
<code>
reboot & exit
</code>
<br>
== Abschlusscheck der Konfiguration (Repeater) ==
Zunächst [[Anleitungen|loggt]] man sich wieder auf dem Router ein, der als Repeater des privaten Funknetzes konfiguriert ist.
Mit Aufruf von ifconfig...
<code>
ifconfig
</code>
...sollten die neuen Interfaces privwifi, privwds und  br-privnet eingetragen sein. Exemplarisch:
<pre>
.
.
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)
.
.
privwds  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)
privwifi  Link encap:Ethernet  HWaddr 14:CC:20:A3:E3:99 
          inet6 addr: fe80::1ccc:20ff:20a3:e39/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1267 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1533 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:209373 (204.4 KiB)  TX bytes:867855 (847.5 KiB)
</pre>
Ein Aufruf von iwconfig ...
<code>
iwconfig
</code>


...sollte das neu konfigurierte private Funknetz anzeigen (privwifi) und Aufschluss über den Access Point geben (MAC) dessen Signal repeated wird (privwds).
Exemplarisch:
<pre>
<pre>
reboot & exit
.
.
privwifi  IEEE 802.11bgn  Mode:Master  Tx-Power=19 dBm 
          RTS thr:off  Fragment thr:off
          Power Management:off
.
.
privwds  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
.
.
</pre>
 
Darüberhinaus ...
<code>
route
</code>
 
...sollte eine default-Route zum Heimrouter eingetragen sein:
<pre>
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
</pre>
 
Die Station, die repeated wird, kann man sich so anzeigen lassen:
<code>
iw dev privwds station dump
</code>
 
Die Clients, die vom Access Point bedient werden, so:
<code>
iw dev privwifi station dump
</code>
 
Wir loggen uns aus:
<code>
exit
</code>
 
[[Anleitungen|Loggt]] man sich nun wieder auf dem Freifunk-Router ein, dessen privates Funknetz repeated wird, kann man über den Aufruf von
<code>
iwconfig
</code>
 
das neu eingerichtete sta1-Interface finden:
<pre>
privwifi.sta1  IEEE 802.11bgn  Mode:Secondary  Tx-Power=22 dBm 
          RTS thr:off  Fragment thr:off
          Power Management:off
</pre>
</pre>


== Hat es geklappt ? ==


Nun kann man sich ausloggen:
<code>
exit
</code>
<br>
= 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".
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, geben den definierten Schlüssel an (in unserem Beispiel ist das "12345678123456781234" und sollten verbunden werden.
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. [http://www.utrace.de/ Utrace] oder einem IP-Lokalisator [http://www.meine-aktuelle-ip.de/ 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. [http://www.utrace.de/ Utrace] oder einen IP-Lokalisator [http://www.meine-aktuelle-ip.de/ IP-Lokalisator] aufrufe, sollte eine andere IP und anderer Standort gemeldet werden, der des Freifunk VPN Gateways.
Mit einem Aufruf von z.B. [http://www.utrace.de/ Utrace] oder einem [http://www.meine-aktuelle-ip.de/ 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.


== War es das schon ? ==
Wenn man sich jetzt stattdessen mit freifunk.franken.net verbindet und wieder  z.B. [http://www.utrace.de/ Utrace] oder einen [http://www.meine-aktuelle-ip.de/ IP-Lokalisator] aufruft, sollte eine andere IP und einer anderen Standort gemeldet bekommen, und zwar den des verwendeten Freifunk -> Internet Gateways.
<br>
= War es das schon ? =
Nein. Man könnte z.B. noch:
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
* eine Konfiguration für einen hybriden Access Point für Freifunk Router entwickeln, der komplett drahtlos eingebunden ist und sowohl das private, als auch das Freifunk Netz ausstrahlt.
* Weitere Routermodelle auf Kompatibilität mit der Anleitung prüfen
* weitere Routermodelle auf Kompatibilität mit der Anleitung prüfen
* Aus dem Netmon die neu erstellten, nun privaten Interfaces, entfernen

Aktuelle Version vom 8. Mai 2022, 14:54 Uhr


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?")


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.sik-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.sik-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, optional)

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 weiter aufspannen. Hierfür kann der zweite Freifunk Router (drahtlos) als Repeater des ersten Freikfunk-Routers (mit WAN Anschluss / Netzwerkabel) 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 an diesem OpenWRT Receipt.

Hinweis: Um zu vermeiden, dass der Freifunkrouter das WLAN-Netz des Heimrouters doppelt (was gegenwärtig nicht sauber funktioniert), sollte das Heimnetz auf einen anderen 2.4 GHz Kanal als 1 funken.

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. -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.sik-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.sik-orig /etc/config/nodewatcher möglich. Zusätzlich müssen ggf. durchgeführte Änderungen an der crontab rückgängig gemacht werden (s.u.: "Unterbinden des Fastd Start")

Hinweis: Angesichts der Fülle von Änderungen, die ggf. rückgängig gemacht werden müssen, empfiehlt sich alternativ evtl. ein Neuflashen der Firmware.

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 Netzwerkinterface 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 folgende Konfigurationsblöcke angefügt werden. Die bestehenden Einträge müssen erhalten bleiben.

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

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

Der obere Eintrag privwds dient der Verbindung als Client zum Access Point, dessen Signal "repeated" werden soll. 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.

Der untere Eintrag privwifi spannt ein privates Wifi als Access Point auf, dessen Konfigurationsparameter (Key, SSID und Encryption) identisch zu dem des privaten Funknetzes gewählt sind, um ein Roaming von Endgeräten zu ermöglichen.

Als Network wird bei beiden Einträgen 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.

Hinweis: Der Eintrag "option wds '1'" muss ebenfalls bei dem Router existieren, dessen Signal "repeated" werden soll (s.o.: "Editieren von /etc/config/wireless (WAN)").

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, optional)

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


Und tragen die oben neu definierten Interfaces (br-privnet, privwifi, privwds) 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 privwds'
	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.

Unterbinden des automatischen Fastd Start (Repeater, optional)

Um zu verhindern, dass auf dem drahtlos verbundenen und umkonfigurierten hybriden FF-Access Point/privatem Repeater ein fastD Tunnel gestartet wird, der CPU- und Netzwerkressourcen benötigt, kann man den fastd Start unterbinden.

In der Crontab... crontab -e

kopieren zunächst die erste Zeile in die Zweite. Dann löschen wir in der zweiten Zeile "sh /etc/fastdstart.sh;" heraus und kommentieren die erste Zeile aus. Mittels "i" kann der Editor in den Einfügemodus versetzt werden.

#*/5 * * * *    sh /etc/fastdstart.sh; sh /etc/nodewatcher.sh; sh /etc/configurator.sh; sh /etc/wlanwatchdog.sh >> /var/log/wlanwatchdog.log 2>&
*/5 * * * *    sh /etc/nodewatcher.sh; sh /etc/configurator.sh; sh /etc/wlanwatchdog.sh >> /var/log/wlanwatchdog.log 2>&1

*/1 * * * * /usr/sbin/batctl gw off; sleep 1; /usr/sbin/batctl gw client

#15 01 * * *    rdate -s time.fu-berlin.de > /dev/null

#Enable zapp script if you are running a gateway
#*/1 * * * * /etc/init.d/zapp

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.

Wichtig: Soll der FF-Router später am WAN Port betrieben werden, muss diese Änderung vorher rückgängig gemacht werden.

Alternativ kann man das execute flag wegnehmen:
chmod -x /usr/bin/fastd; killall fastd; chmod -x /usr/bin/tunneldigger; killall tunneldigger;

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, privwds 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)
.
.
privwds   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)

privwifi  Link encap:Ethernet  HWaddr 14:CC:20:A3:E3:99   
          inet6 addr: fe80::1ccc:20ff:20a3:e39/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1267 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1533 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:209373 (204.4 KiB)  TX bytes:867855 (847.5 KiB)

Ein Aufruf von iwconfig ... iwconfig

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

Exemplarisch:

.
.
privwifi  IEEE 802.11bgn  Mode:Master  Tx-Power=19 dBm   
          RTS thr:off   Fragment thr:off
          Power Management:off
.
.
privwds   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

Die Station, die repeated wird, kann man sich so anzeigen lassen: iw dev privwds station dump

Die Clients, die vom Access Point bedient werden, so: iw dev privwifi station dump

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, der komplett drahtlos eingebunden ist und sowohl das private, als auch das Freifunk Netz ausstrahlt.
  • weitere Routermodelle auf Kompatibilität mit der Anleitung prüfen