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 192.168.1.1
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.
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)
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 br-freifunk -A 2
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 |
Zur Installation hier die Kurzanleitung zum Flashen.
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 # v0.3.x-wrt54gl # asus-wl500gp-v1 # dir300 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