Firmware
Anleitung
Ein paar kurze Worte zur Firmware.
Installation
Bei einem frischen TP-Link Gerät lässt sich die Firmware über den Menüpunkt System Tools->Firmware einspielen. Verwende dazu die unten verlinkte Firmware. Achtung verwende die für deine Router Revision passende Version. Die Version steht auf der Unterseite des Gerätes rechts neben der Produktnummer. Am Beispiel desTL-WR841N wird in der Kurzanleitung zum Flashen der gesamte Vorgang einmal erklärt.
Router des Typs D-Link DIR-300 sind leider etwas schwieriger mit unserer Firmware zu versorgen.
Konfigurations-Modus
Nach der Installation bootet der Router in den sog. ConfigMode. Im ConfigMode bietet der Router auf allen LAN Ports DHCP an. Die Weboberfläche ist dann über http://192.168.1.1 erreichbar. Der Konfigurations-Wizard führt einen dann durch die Einstellungen. Nach dem beenden des Setups startet der Router neu und ist ab jetzt im Normalen Betriebsmodus.
Wenn sich der Router im Betriebsmodus befindet, kann die Weboberfläche weiterhin, aus dem Freifunk, erreicht werden, dafür muss man allerdings die Adresse des Routers herausfinden. Siehe dazu weiter unten.
Konfigurations-Modus Reaktivieren
Der Router kann wieder in den ConfigMode versetzt werden, indem die QSS Taste, auf der Rückseite des Gerätes, mindestens 3 Sekunden lang gedrückt wird. Im Zweifel die Taste einfach so lange halten bis die Lampen des Routers einmal gemeinsam Aufleuchten. Danach ist der Router wieder wie nach der Installation erreichbar unter http://192.168.1.1
siehe auch hier die Anleitung im Lübecker Wiki
Konfigurations-Wizard
Im nachfolgenden ein paar Details zu den Punkten des Konfigurations-Wizards.
Root Passwort
Im normalen Betrieb wird der Router im gesamten Freifunk Netz erreichbar sein, deswegen ist es wichtig hier ein sicheres Passwort zu wählen. (TODO Folgen schwacher Passwörter?)
Hostname
Wähle einen Hostnamen der noch nicht vergeben ist.
Beliebte Namensräume sind :
- Die Simpsons
- Futurama
- My little Pony
- South Park
Bevor du einen Namen auswählst, schau bitte in der Knotenliste ob der Name nicht schon genutzt wird.
Mesh / Bandbreitenbegrenzung
Wenn du möchtest, dass dein Router eine VPN-Verbindung zur Kieler Freifunk Wolke aufbauen kann, dann musst du hier den ersten Punkt ankreuzen.
Die Bandbreitenbegrenzung hilft dir einen Teil deiner Internet Verbindung weiterhin für eigene Zwecke frei zu halten. Wir empfehlen mindestens 1000 kbit/s downstream und 500 kbit/s upstream.
Wenn du die Mesh Funktion aktiviert hast wird dir auf der folgenden Wizard-Seite eine länglicher Code angezeigt. Kopiere und bewahre diesen auf bevor du weiter machst.
Tipp - dynamische Bandbreitenausnutzung:
Nutze keine Bandbreitenbegrenzung und tue nach dem Installationsprozess für den Freifunk-Router folgendes:
Gehe auf die Konfigurations-Seite deines Routers für dein Privates Netzwerk. (Dies ist in der Regel der Router in den Du das Kabel steckst, welches vom blauen WAN-Port des Freifunk-Routers kommt.) Normalerweise lassen sich dort einige Filteroptionen finden. Halte Ausschau nach Einstellungen, die die Priorisierung von Datenverkehr steuern lassen. Wenn die Installtion des Freifunk-Routers gelungen ist, dann sollte dieser eine eigene IP-Adresse in deinem privaten Netzwerk besitzen. Diese IP-Adresse trägst Du nun so ein, dass ihr eine geringere Priorität zugeordnet wird. Je nach Einstellungsoberfläche ist dies etwas schwammig formuliert. Beispiel: "Hintergrundanwendungen: Anwendungen, die im Hintergrund laufen und die bei voller Auslastung der Internetverbindung nachrangig behandelt werden."
Wenn die Einstellungen entsprechend vorgenommen worden sind, dann beeinträchtigt der Datenverkehr über das Freifunk-WLAN nun nicht mehr deine Internet-Bandbreite, wenn Du über dein privates Netz surfst. Umgekehrt stellst Du deine komplette Bandbreite der Freifunk-Gemeinschaft zur Verfügung, wenn Du deinen Internetanschluss gerade nicht nutzt.
IPv6 Adresse des Routers
Im Betriebsmodus ist der Router über IPv6 erreichbar. Die Adresse findet man raus in dem man die auf der Unterseite des Routers abgedruckt MAC Adresse in eine IPv6 Adresse umwandelt. Um hier nicht auf die Details einzugehen wie genau dies funktioniert gibt es folgendes Script zur ermittlung der IPv6-Adresse anhand der MAC-Adresse.
Alternativ kann man die Link Lokal Adresse des Routers auch mit Hilfe eines Broadcasts in Erfahrung bringen. Dazu schliesst man den Router am besten direkt an den Rechner an. Aus der Konsole heraus:
ping6 ff02::1%eth0 | head
Wobei hier eth0 die lokale Netzwerkschnittstelle, welche mit dem Router verbunden ist, ist.
Also bei einer Wlan Verbindung:
ping6 ff02::1%wlan0 | head
Die Antwortenden Adressen sind von der Form
fe80::0000:00ff:fe00:0000
bei der Verwendung darauf Achten am Ende der Adresse immer das Interface mit angeben (%eth0 im Beispiel)
die Link-Local Adresse ist generiert aus der Mac-Adresse deines Routers die unten drunter steht, daher enthält sie alle Zahlenpaare deiner Mac-Adresse
z.B. 64:70:02:62:61:00 wird zu fe80::6670:2ff:fe62:6100 (es wird also nur vorne "fe80::" drangehängt und in der Mitte "ff:fe" zwischengeschoben)
man kann auch eine Liste von mac-adressen automatisch alle ausprobieren mit diesem script:
#!/bin/bash mac_to_ipv6 () { IFS=':'; set $1; unset IFS ipv6_address="fe80::$(printf %02x $((0x$1 ^ 2)))$2:${3}ff:fe$4:$5$6" echo $ipv6_address } echo "Next MAC with ^C" for i do echo echo checking for $i = $(mac_to_ipv6 $i) echo ping6 ff02::1%wlan0|grep $(mac_to_ipv6 $i) done
(Siehe: http://unix.stackexchange.com/questions/79345/reorganize-strings-with-bash/79403#79403 )
SSH
Der Router ist per SSH erreichbar, sofern man beim Einrichten ein "root" Passwort gesetzt hat:
$ ssh root@IP6adresse_des_routers
bzw. bei Link Local Adresse:
$ ssh root@IP6adresse_des_routers%eth0
HTTP Weboberfläche
Das Web-Interface ist per IPv6 erreichbar. Allerdings nicht über die Link Local Adresse sondern nur über die generelle IPv6 Adresse des Routers. Man findet diese heraus wenn man sich eingeloggt hat mit
ssh root@LinkLocalIP6adresse_des_routers%wlan0
und dort
ifconfig |grep 384a -B 5
eingibt (die 'inet6 addr' beginnt mit "fda1:384a")
Im Browser öffnet man die Adresse mit Eckigen Klammern um die Ip6, Beispiel: http://[fda1::384a:xxxx:xxxx:xxxx]/
HTTP IPv6 Fix
Falls der Router nicht per IPv6 http liefern sollte, kann man diese per SSH beheben. Dazu folgendes nach dem Login auf der Shell vom Router ausführen.
uci delete uhttpd.main.listen_http uci delete uhttpd.main.listen_https uci add_list uhttpd.main.listen_http='[::]:80' uci add_list uhttpd.main.listen_http='0.0.0.0:80' uci add_list uhttpd.main.listen_https='[::]:80' uci add_list uhttpd.main.listen_https='0.0.0.0:80' uci commit uhttpd /etc/init.d/uhttpd enable
Pre V0.3.x
Das Web-Interface ist über einen Browser zu erreichen. Wenn SSH-Zugriff über die IPv6-Adresse besteht, ist ein einfacher Weg, um Zugriff zu erhalten, einen temporären Tunnel über SSH anzulegen:
ssh root@fda1::xxxx:xxxx:xxxx:xxxx -L 8080:localhost:80
bzw
ssh root@fe80::xxxx:xxxx:xxxx:xxxx%eth0 -L 8080:localhost:80 (Link Local Adressen)
Anschließend kann über http://localhost:8080/ auf das Web-Interface zugegriffen werden, auch wenn man sich nicht im IPv4-Subnetz des Routers befindet.
Kieler Freifunk Wolke
Wenn du noch keinen anderen Knoten mit Verbindung in die Kieler Freifunk Wolke hast oder die Verbindung zu diesem schwach ist, kannst du den Router eine Verbindung zur Wolke aufbauen lassen. Dazu muss im Konfigurations-Modus im Reiter Mesh dieses aktiviert werden und der Schlüssel mit Namen in den Nodes eingetragen werden. Alternativ kannst du den Schlüssel und den Router Namen auch einfach auf der Freifunk Mailingliste verkünden.
Verbindungen/Traffic
Wenn der Router an dein lokales Netzwerk angeschlossen wird, werden folgende Verbindungen aufgebaut.
- DHCP (Der Router möchte gerne eine Adresse in deinem Netz)
- VPN Verbindungen zur Wolke (UDP)
- DNS Anfragen
- NTP
VPN Verbindungen und Internet im Freifunk
Dies sind die virtuellen Datenleitungen mit denen dein Freifunk Router die Verbindung zur restlichen Freifunk Wolke aufbaut, zur Sicherheit sind diese Verschlüsselt, du kannst im Reiter Mesh Einstellern wie viel Bandbreite diese Verbindungen Maximal verwenden dürfen.
Wenn du nicht gerade selber einen Gateway Server betreibst, was nicht der Normalfall ist, dann wandern Anfrangen in das Internet auch über diese VPN Verbindungen bis zum Gateway Server. Die Anfragen werden also nicht von deinem Internet Anschluss gestellt, sondern von dem Anschluss des Gateway Betreibers!
DNS
Es werden DNS Anfragen an die Server, welche von deinem Router, welcher den Internet Zugang zur Verfügung stellt, Wenn dein Internet Router selber einen DNS-Server zur Verfügung stellt, was der Normal ist, bleiben diese Anfragen in deinem Netz.
NTP
Die Router wollen gerne die aktuelle Zeit wissen. Daher stellen sie regelmäßig Anfragen an Zeitserver. Sobald wir selber ausreichend Zeitserver im Freifunk haben, werden die Anfragen ins Freifunk gehen.
Download
Im Folgenden die aktuellen Installations-Images der FFKI-Firmware.
- Aktuelle Firmware Version: 0.3.2.1
- Veröffentlicht am: 04.04.2013
Achte bei der Auswahl der Firmware auf die Hardwareversion deines Routers!
Model | Erstinstallation | Upgrade |
---|---|---|
TP-Link TL-WR741N / TL-WR741ND | ||
TP-Link TL-WR841N / TL-WR841ND | ||
TP-Link TL-WR842ND | ||
TP-Link TL-WR1043ND | ||
TP-Link TL-WDR3600 |
Version 1.x |
Version 1.x |
TP-Link TL-WR703N |
Version 1.x |
Zur Installation hier die Kurzanleitung zum Flashen.
Weitere Unterstützte Router findest du unter Hardware#Von_uns_getestete_Hardware
Development
Im folgenden der Schnellüberblick wie man die FFKI-Firmware selber baut.
# für 741nd git clone git://freifunk.in-kiel.de/ffki-firmware.git -b v0.3.x # für anderes <model> welches wir unterstützen git clone git://freifunk.in-kiel.de/ffki-firmware.git -b v0.3.x-<model> # verfügbare modelle findet man mit: git branch -a # v0.3.x-tl-wdr3600 # v0.3.x-tl-wr1043nd # v0.3.x-tl-wr841nd # v0.3.x-tl-wr842nd cd ffki-firmware scripts/feeds update -a && scripts/feeds install -a git checkout .config # Der nächste Schritt kann Stunden dauern, hol dir am besten einen Kaffee und ein Buch. # Danach liegt das fertige Image in Unterverzeichnis bin make
Hinsweis: Freie/OpenSource-Software
Die Elemente der Freifunk Firmware sind soweit als auch nur möglich FLOSS (free and open Source) im Sinne der FSF (free software foundation), und können von jedem studiert, verändert und weiterverbreitet werden. Für genauere Einzelheiten bitte die Softwarelizenzen der einzelnen Teile der Firmware beachten.
links: