<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://kbu.freifunk.net/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Linuxer</id>
	<title>Freifunk Köln, Bonn und Umgebung - Benutzerbeiträge [de]</title>
	<link rel="self" type="application/atom+xml" href="https://kbu.freifunk.net/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Linuxer"/>
	<link rel="alternate" type="text/html" href="https://kbu.freifunk.net/wiki/index.php?title=Spezial:Beitr%C3%A4ge/Linuxer"/>
	<updated>2026-04-11T08:28:57Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.38.2</generator>
	<entry>
		<id>https://kbu.freifunk.net/wiki/index.php?title=Pimp_my_Node&amp;diff=6028</id>
		<title>Pimp my Node</title>
		<link rel="alternate" type="text/html" href="https://kbu.freifunk.net/wiki/index.php?title=Pimp_my_Node&amp;diff=6028"/>
		<updated>2020-01-19T09:36:41Z</updated>

		<summary type="html">&lt;p&gt;Linuxer: /* SSH public key auf Node aufspielen */  Verzeichnis für public key auf Node angepasst&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center; background-color:#e135734d; font-weight: bold; padding: 1px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt; [[Experteneinstellungen|Optional: Experteneinstellungen]] &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; [[Mitmachen|Übersicht]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;br /&gt;
[[Kategorie:Mitmachen]]&lt;br /&gt;
&lt;br /&gt;
Hier finden sich interessante Optionen für etwas versiertere Nutzer. Diese Seite wurde größtenteils für die Classic Firmware geschrieben. Wer Gluon verwendet sollte unbedingt auch Gluon spezifische Ressourcen, wie [http://gluon.readthedocs.org/ http://gluon.readthedocs.org] zu Rate ziehen. &lt;br /&gt;
&lt;br /&gt;
Die Möglichkeiten und Abweichungen von der Standardkonfiguration sind vielfältig. Diese sollten aber nur dann durchgeführt werden, wenn der Durchführende genau weiß, was er da macht. Eine fehlerhaft Konfiguration kann zum Beispiel zu Störungen im Netzwerk führen, ferner könnten illegitime Maßnahmen implementiert werden. Beide zuvor genannten Beispiele würden zu einem Ausschluss aus unserem Netzwerk führen. Dennoch kann man gute Gründe haben die ein Abweichen von den Defaultwerten sinnvoll machen. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Netztheorie/Technik und Entwicklung ==&lt;br /&gt;
Vertiefung&lt;br /&gt;
&lt;br /&gt;
*[[FSM-Dynamisches-Bridging]] &lt;br /&gt;
*[[Batman_adv]]&lt;br /&gt;
*[[Entwicklung]]&lt;br /&gt;
*[[Firmware|Firmware/Betriebssystem]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Arbeiten auf der Shell ==&lt;br /&gt;
Voraussetzung für folgende Befehle sind eine Verbindung mit dem KBU-Freifunk-Netz sowie ein Terminal / Shell. &lt;br /&gt;
 &lt;br /&gt;
Zusätzlich zu den auf dieser Seite erläuterten Modifikationen gibt es im [https://github.com/freifunk-gluon/gluon/wiki/Commandline-administration Github-Wiki der Freifunk-Gluon-Firmware eine ausführliche Liste nützlicher Befehle ].&lt;br /&gt;
&lt;br /&gt;
=== IPv6 SSH ===&lt;br /&gt;
Ihr verbindet euch mit eurem router via&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ssh root@&amp;lt;Link-local Adresse des Nodes&amp;gt;%&amp;lt;interface&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Hierbei findet ihr die Link-local Adresse z.B. auf der [https://map.kbu.freifunk.net/ Karte], es ist die IPv6 Adresse, die mit fe80:: beginnt. Interface ist unter Linux typischerweise &amp;lt;code&amp;gt;eth0&amp;lt;/code&amp;gt; für den LAN Port und &amp;lt;code&amp;gt;wlan0&amp;lt;/code&amp;gt; fürs WLAN. Mit &amp;lt;code&amp;gt;ifconfig&amp;lt;/code&amp;gt; lässt sich das leicht herausfinden.&lt;br /&gt;
&lt;br /&gt;
=== Firmware aktualisieren ===&lt;br /&gt;
&lt;br /&gt;
Neben dem Upgrade per [[Config_Mode]], für den man sich per Kabel direkt mit dem Node verbinden muss, kann man auch remote per ssh upgraden. Direkt vorweg, falls etwas schief läuft, siehe [[#TFTP]] um das ganze doch wieder (per direkt LAN verbindung, aber ohne funktionierendes Webinterface) zu reparieren.&lt;br /&gt;
&lt;br /&gt;
==== Kurzfassung ====&lt;br /&gt;
Die größte Erfolgsquote hat (meiner leidvollen Erfahrung nach) ein upgrade mittels:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
scp firmware.bin root@\[&amp;lt;Link-local Adresse des Nodes&amp;gt;%&amp;lt;interface&amp;gt;\]:/tmp/ &lt;br /&gt;
ssh root@&amp;lt;Link-local Adresse des Nodes&amp;gt;%&amp;lt;interface&amp;gt;&lt;br /&gt;
cd /tmp/&lt;br /&gt;
sysupgrade -i -b config.tar.gz&lt;br /&gt;
sysupgrade -v -f config.tar.gz firmware.bin &amp;amp;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Wobei firmware.bin ruhig das komplette Image (nicht die -sysupgrade variante) sein darf, falls das in die RAM disk passt.&lt;br /&gt;
Für die Details, einfach weiter lesen. ;)&lt;br /&gt;
&lt;br /&gt;
Für updates auf die neuste 2017-10 lede basierte gluon firmware sollte man die -sysupgrade variante nehmen und dann nicht &amp;quot;-f config.tar.gz&amp;quot; verwenden, weil der Router dann ggf. in den Config-Mode bootet nach dem update. Das kann unerwünscht sein, wenn man nur remote-Zugriff auf den Router hat. Durch die Wahl der -sysupgrade variante bleiben trotzdem alle Konfigurationen (Nodename, ssh-pw, geocorrds, Kontaktinfo usw) erhalten. Getestet auf v9 und v11 beim wr841 von einer 2016er gluon-Version aus. Das sieht dann so aus:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
scp firmware.bin root@\[&amp;lt;Link-local Adresse des Nodes&amp;gt;%&amp;lt;interface&amp;gt;\]:/tmp/ &lt;br /&gt;
ssh root@&amp;lt;Link-local Adresse des Nodes&amp;gt;%&amp;lt;interface&amp;gt;&lt;br /&gt;
cd /tmp/&lt;br /&gt;
sysupgrade -v firmware.bin &amp;amp;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Sysupgrade unter beibehaltung der Einstellungen ====&lt;br /&gt;
&lt;br /&gt;
Für diese Variante kann das -sysupgrade.bin image verwendet werden, es muss sich aber um ein &amp;quot;kompatibles&amp;quot; upgrade, d.h. innerhalb einer hood und zwischen nicht zu unterschiedlichen Versionen handeln.&lt;br /&gt;
&lt;br /&gt;
1. [[Firmware_herunterladen]] und Signatur/Checksumme prüfen. &lt;br /&gt;
&lt;br /&gt;
2. Firmware per scp auf den Router kopieren &amp;lt;code&amp;gt;scp firmware.bin root@\[&amp;lt;Link-local Adresse des Nodes&amp;gt;%&amp;lt;interface&amp;gt;\]:/tmp/ &amp;lt;/code&amp;gt;. (Siehe [[#IPv6_SSH]].)&lt;br /&gt;
Es ist wichtig die firmware nach &amp;lt;code&amp;gt;/tmp&amp;lt;/code&amp;gt; zu kopieren, das ist eine [https://wiki.openwrt.org/doc/howto/generic.sysupgrade#for_sysupgrade-based_upgrades Ram disk].&lt;br /&gt;
&lt;br /&gt;
3. Per ssh mit dem Router verbinden &amp;lt;code&amp;gt;ssh root@&amp;lt;Link-local Adresse des Nodes&amp;gt;%&amp;lt;interface&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
4. sysupgrade starten.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd /tmp/  &lt;br /&gt;
sysupgrade -v firmware.bin  &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
5. beten, dass es sich um ein &amp;quot;kompatibles&amp;quot; upgrade handelt. ;)&lt;br /&gt;
&lt;br /&gt;
==== Upgrade von inkompatibler Konfiguration (Legacy auf Gluon, Wechsel des Hood, etc.) ====&lt;br /&gt;
Bei einem Upgrade von einer inkompatiblen Version mittels &amp;lt;code&amp;gt;sysupgrade&amp;lt;/code&amp;gt; muss man normalerweise mittels&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sysupgrade -n firmware.bin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
die aktuellen Einstellungen überschreiben lassen. Auf einem Node, den man nur per SSH erreicht, ist das unpraktisch, da auch Passwörter und SSH-Schlüssel gelöscht werden. Zum Glück hat &amp;lt;code&amp;gt;sysupgrade&amp;lt;/code&amp;gt; einen interaktiven Modus, den man per&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sysupgrade -i firmware.bin&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
startet. Hier kann man (nachdem man bestätigt hat, dass ein Teil der Konfiguration übernommen werden soll) die Liste an zu sichernden Dingen bearbeiten. Die gluon-node-info (Geo-Koordinaten und Kontaktadresse) so wie vor allem die drobbear/*keys sollte man behalten, evtl auch System mit dem Hostnamen des Nodes. Der Rest kann gelöscht werden, falls man da keine wichtigen Anpassungen vorgenommen hat. ('dd' löscht Zeilen in vi, mit &amp;quot;:wq&amp;quot; für write-quit wird gespeichert und vi beendet ;) )&lt;br /&gt;
&lt;br /&gt;
Je nach Route zum Router, Router, Menschen, die durch den WLAN Empfang laufen,... kann es sein, dass die SSH-Verbindung während des interaktiven Upgrades abbricht. Sicher passiert das z.B., wenn man nur durch einen VPN-Tunnel Verbindung hat. (Nicht fleißig am Backbone mitgearbeitet? ;) Das ist blöd, weil man am Ende noch den Neustart bestätigen muss (etwas unsinnig).&lt;br /&gt;
&lt;br /&gt;
In diesem Fall sollte man besser eine Konfigurationsdatei mit z.B. folgenden Zeilen&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
/etc/dropbear/authorized_keys&lt;br /&gt;
/etc/dropbear/dropbear_dss_host_key&lt;br /&gt;
/etc/dropbear/dropbear_rsa_host_key&lt;br /&gt;
/etc/config/gluon-node-info&lt;br /&gt;
/etc/config/system&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
erstellen und per &amp;lt;code&amp;gt;tar -cz config  &amp;amp;gt; config.tar.gz&amp;lt;/code&amp;gt; packen. &lt;br /&gt;
Das gleiche erreicht man &amp;quot;interaktiv&amp;quot; per&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
sysupgrade -i -b config.tar.gz&lt;br /&gt;
&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Danach kann man mittels&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
sysupgrade -v -f config.tar.gz firmware.bin &amp;amp;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
das ganze unbeaufsichtigt laufen lassen.&lt;br /&gt;
&lt;br /&gt;
==== TFTP ====&lt;br /&gt;
Wenn mal ein Router nicht mehr bootet, aber der Bootloader noch funktioniert, (oder man einfach keinen Bock auf das Standardweboberfläche hat) kann man häufig noch per TFTP recht komfortabel eine neue Firmware einspielen. [http://wiki.openwrt.org/doc/howto/generic.flashing.tftp] ;)&lt;br /&gt;
&lt;br /&gt;
* TFTP-Server auf dem lokalen Rechner installieren (Kurzfassung von z.B. [http://www.cyberciti.biz/faq/install-configure-tftp-server-ubuntu-debian-howto/])&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
aptitude install tftpd-hpa&lt;br /&gt;
sudo chown -R tftp /srv/tftp/&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Konfiguration anpassen &amp;amp; neu starten. Das &amp;quot;-c create file&amp;quot; braucht man, um vom Router Dateien zu senden (Konfiguration sichern), &amp;quot;-s&amp;quot; da sonst absolute Pfade angegeben werden müssten (macht der Router natürlich nicht). Mehr zu den Optionen findet man auf der [http://linux.die.net/man/8/tftpd manpage].&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
vim /etc/default/tftpd-hpa&lt;br /&gt;
&lt;br /&gt;
TFTP_USERNAME=&amp;quot;tftp&amp;quot;&lt;br /&gt;
TFTP_DIRECTORY=&amp;quot;/srv/tftp&amp;quot;&lt;br /&gt;
TFTP_ADDRESS=&amp;quot;0.0.0.0:69&amp;quot;&lt;br /&gt;
TFTP_OPTIONS=&amp;quot;-s -c&amp;quot;&lt;br /&gt;
&lt;br /&gt;
service tftpd-hpa restart &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Dann muss man noch herausfinden, auf welcher IP der Router nach welchem Dateinamen fragt. Eine gute Quelle ist openWRT, z.B. für den beliebten tl-wr841n finden sich die Infos je nach Version [http://wiki.openwrt.org/toh/tp-link/tl-wr841nd#tftp_recovery_via_bootloader_for_v8_v9_v10_v11 hier].&lt;br /&gt;
&lt;br /&gt;
Falls noch Fragen offen bleiben, [https://www.freifunk-bingen.de/forum/hilfe-unterst%C3%BCtzung/flashen-eines-gebrickten-tp-link-routers-tftp die $Anderen wissen auch was]. ;)&lt;br /&gt;
&lt;br /&gt;
=== Hostnamen des Nodes ändern ===&lt;br /&gt;
Standardmäßig ist der Hostname des Nodes gleich der MAC-Adresse des Routers. Möchte man den Hostnamen ändern, so kann man dies per SSH:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
uci set system.@system[0].hostname=what-ever-dude&lt;br /&gt;
uci commit&lt;br /&gt;
reboot&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Die Änderung wird erst nach dem Kommando ''reboot'' (danach startet der Node neu) wirksam.&lt;br /&gt;
&lt;br /&gt;
=== IPv6 ping ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ping6 &amp;lt;Link-lokale Adresse des Nodes&amp;gt;%&amp;lt;interface&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Siehe [[#IPv6_SSH]].&lt;br /&gt;
&lt;br /&gt;
=== Passwort-Authentifizierung abstellen ===&lt;br /&gt;
'''Wichtig:''' Als erstes prüfen, ob man sich mit seinem Schlüsselpaar auf den Router einloggen kann. Man sollte jetzt nicht mehr nach dem Passwort gefragt werden (allerhöchstens nach dem Passwort, welches den privaten Schlüssel schützt).&lt;br /&gt;
Falls das erfolgreich funktioniert, kann man die Datei ''/etc/config/dropbear'' wie folgt ändern:&lt;br /&gt;
&amp;lt;pre&amp;gt;config dropbear&lt;br /&gt;
        option PasswordAuth 'off'&lt;br /&gt;
        option RootPasswordAuth 'off'&lt;br /&gt;
        option Port         '22'&lt;br /&gt;
#       option BannerFile   '/etc/banner'&amp;lt;/pre&amp;gt;&lt;br /&gt;
Nach einem Neustart des Routers mittels ''reboot'' sollte es jetzt nur noch möglich sein, sich mit seinem Schlüsselpaar auf den Router einzuloggen.&lt;br /&gt;
&lt;br /&gt;
=== SSH public key auf Node aufspielen ===&lt;br /&gt;
Möchte man sich nicht immer per Passwort auf den eigenen Node verbinden, so kann man das auch mit einem Schlüsselpaar realisieren. Falls man danach noch die Authentifizierung per Passwort abschaltet (s. nächster Punkt), dann hat man einen sicheren Zugriff auf seinen Node realisiert.&lt;br /&gt;
Voraussetzung ist natürlich, dass man schon ein gültiges Schlüsselpaar besitzt. Falls dem so ist, so genügt es, den öffentlichen Schlüssel (public key) auf den Node zu übertragen. Das kann mit Hilfe von scp (secure copy) passieren:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
scp -6 id_rsa4096.pub root@[&amp;lt;Link-lokale Adresse des Nodes&amp;gt;%eth0]:/etc/dropbear/authorized_keys&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Hierbei steht id_rsa.pub für die Datei, die den öffentlichen Schlüssel enthält. '''ACHTUNG:''' Obiger Befehl ersetzt die eventuell schon vorhandene Datei authorized_keys auf dem Node. Das ist O.K. für den ersten Schlüssel. Sollen mehrere Schlüssel eingetragen werden (z. B. weil man außer vom Laptop auch vom Tablet auf seinen Node verbinden möchte), kann man das so machen:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cat ~/.ssh/id_rsa4096.pub | ssh root@[&amp;lt;Link-lokale Adresse des Nodes&amp;gt;%eth0] 'umask 077; cat &amp;gt;&amp;gt;/etc/dropbear/authorized_keys'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sollte beim Kopierversuch die Meldung&lt;br /&gt;
&amp;lt;pre&amp;gt;ssh: Could not resolve hostname fe80:&amp;lt;/pre&amp;gt;&lt;br /&gt;
erscheinen, hat man höchstwahrscheinlich die eckigen Klammern um die IP-Adresse inklusive Schnittstelle vergessen. Dann wird der erste Doppelpunkt schon als Ende des Hostnamens interpretiert! Auch hier werden die Änderungen nach einem Neustart des Routers mittels ''reboot'' übernommen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== NTP-Bug in Firmware 1.2.1b beseitigen ====&lt;br /&gt;
Falls sich ein Node-Betreiber wundert, warum sein Node keine Statistiken liefert und es ein Mesh-Only-Node ist (d. h. ohne eigenen Uplink zum Internet), so liegt das an einem Bug in der Firmware. Diesen kann man jedoch mit einfachen Mitteln beheben:&lt;br /&gt;
Editiert wird die Datei ''/etc/config/system''. Dort findet man einen Eintrag ''config timeserver 'ntp'''. Standardmäßig stehen hier 4 Zeitserver von OpenWRT (in der Form x.openwrt.pool.ntp.org). Diese müssen bei Mesh-Only-Nodes in IPv6-Adressen geändert werden, und zwar so, dass der komplette Konfigurationspunkt wie folgt aussieht:&lt;br /&gt;
&amp;lt;pre&amp;gt;config timeserver 'ntp'&lt;br /&gt;
        list server '2a03:4000:2:494::2'&lt;br /&gt;
        list server '2a01:4f8:161:2461:e4::1'&lt;br /&gt;
        list server '2a02:180:1:1::551f:bb4b'&lt;br /&gt;
        option enabled '1'&lt;br /&gt;
        option enable_server '0'&amp;lt;/pre&amp;gt;&lt;br /&gt;
Auch hier werden die Änderungen erst nach einem Neustart des Nodes mittels ''reboot'' wirksam.&lt;br /&gt;
Dieser Bug soll mit dem nächsten Firmware-Release behoben sein. Man kann die Eintragungen auch in den Nodes mit Internet-Uplink ändern ohne die Funktion zu beeinträchtigen.&lt;br /&gt;
&lt;br /&gt;
=== LAN Kopplung ===&lt;br /&gt;
Eine LAN-Kopplung kann in manchen Fällen sinnvoll sein, besonders wenn man einen VLAN-fähigen Switch und eine bestehende Netzwerkverkabelung hat. Hier werden die Switchports angewiesen auch über LAN zu meshen.&lt;br /&gt;
&lt;br /&gt;
==== TL-WR841ND ====&lt;br /&gt;
03/2014: Hier wird über alle 4 LAN Ports gemeshed, Mesh über WLAN kann man optional noch ausschalten! Folgende Konfiguration stammt von rampone/FF-KBU und wurde an 2 TL-WR841N v.8 getestet mit KBU-FF-Firmware 1.1.&lt;br /&gt;
&lt;br /&gt;
05/2015: Verifiziert (und ergänzt) für TL-WR841N v.9 und KBU-FF-Firmware 1.2.2rc3 .&lt;br /&gt;
&lt;br /&gt;
''vim /etc/config/network'' - Folgende Änderungen wurden an der FF-Firmware vorgenommen:&lt;br /&gt;
#Konfigurationsschnittstelle 'freifunk' -&amp;gt; Hier haben wir die ethX-Schnittstelle aus &amp;quot;ifname&amp;quot; rausgenommen, damit kein ff aus dem ethX (switch) rauskommt (X=1 für Hardware bis einschließlich v8, sonst X=0).&lt;br /&gt;
#Konfigurationsschnittstelle 'mesh_lan' -&amp;gt; kompletten Codeblock hinzugefügt. Dieser bewirkt, dass über ethX (switch) gemeshed wird. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
config interface 'loopback'&lt;br /&gt;
	option ifname 'lo'&lt;br /&gt;
	option proto 'static'&lt;br /&gt;
	option ipaddr '127.0.0.1'&lt;br /&gt;
	option netmask '255.0.0.0'&lt;br /&gt;
&lt;br /&gt;
config interface 'wan'&lt;br /&gt;
	option ifname 'eth0'&lt;br /&gt;
	option proto 'dhcp'&lt;br /&gt;
	option type 'bridge'&lt;br /&gt;
	option accept_ra '0'&lt;br /&gt;
	option auto '1'&lt;br /&gt;
&lt;br /&gt;
config switch&lt;br /&gt;
	option name 'switch0'&lt;br /&gt;
	option reset '1'&lt;br /&gt;
	option enable_vlan '1'&lt;br /&gt;
&lt;br /&gt;
config switch_vlan&lt;br /&gt;
	option device 'switch0'&lt;br /&gt;
	option vlan '1'&lt;br /&gt;
	option ports '0 1 2 3 4'&lt;br /&gt;
&lt;br /&gt;
config interface 'freifunk'&lt;br /&gt;
	option ifname 'bat0'		#LAN-Kopplung: ifname eth1 (bzw. eth0, s.o.) entfernt&lt;br /&gt;
	option type 'bridge'&lt;br /&gt;
	option proto 'none'&lt;br /&gt;
	option auto '1'&lt;br /&gt;
	option accept_ra '1'&lt;br /&gt;
	option macaddr '10:fe:ed:f1:53:84'&lt;br /&gt;
&lt;br /&gt;
config interface 'mesh'&lt;br /&gt;
	option proto 'batadv'&lt;br /&gt;
	option mtu '1528'&lt;br /&gt;
	option mesh 'bat0'&lt;br /&gt;
&lt;br /&gt;
config interface 'mesh_vpn'&lt;br /&gt;
	option ifname 'mesh-vpn'&lt;br /&gt;
	option proto 'batadv'&lt;br /&gt;
	option mesh 'bat0'&lt;br /&gt;
	option macaddr '12:fe:ed:f2:53:84'&lt;br /&gt;
&lt;br /&gt;
config interface 'mesh_lan'		#LAN-Kopplung: Codeblock mesh-lan hinzugefuegt&lt;br /&gt;
	option ifname 'eth0'            # ab TL-841N(D) v9: eth0, bis v8: eth1 . Bei falschem Interface läuft das mesh-lan über den blauen Port. Wer's mag...&lt;br /&gt;
	option proto 'batadv'&lt;br /&gt;
	option mesh 'bat0'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''vim /etc/config/wireless'' - Hier wird der Codeblock, der für das Mesh über WLAN verantwortlich ist, auskommentiert (optional)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#config wifi-iface 'wifi_mesh'&lt;br /&gt;
#       option device 'radio0'&lt;br /&gt;
#       option network 'mesh'&lt;br /&gt;
#       option mode 'adhoc'&lt;br /&gt;
#       option ssid '02:d1:11:37:fc:39'&lt;br /&gt;
#       option bssid '02:d1:11:37:fc:39&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== TL-WDR4300 ====&lt;br /&gt;
Das gleiche nochmal für den 4300er&lt;br /&gt;
&lt;br /&gt;
''vim /etc/config/network''&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
config interface 'loopback'&lt;br /&gt;
	option ifname 'lo'&lt;br /&gt;
	option proto 'static'&lt;br /&gt;
	option ipaddr '127.0.0.1'&lt;br /&gt;
	option netmask '255.0.0.0'&lt;br /&gt;
&lt;br /&gt;
config interface 'wan'&lt;br /&gt;
	option ifname 'eth0.2'&lt;br /&gt;
	option proto 'dhcp'&lt;br /&gt;
	option type 'bridge'&lt;br /&gt;
	option accept_ra '0'&lt;br /&gt;
	option auto '1'&lt;br /&gt;
	option macaddr 'a2:f3:c1:65:81:cd'&lt;br /&gt;
&lt;br /&gt;
config switch&lt;br /&gt;
	option name 'eth0'&lt;br /&gt;
	option reset '1'&lt;br /&gt;
	option enable_vlan '1'&lt;br /&gt;
&lt;br /&gt;
config switch_vlan&lt;br /&gt;
	option device 'eth0'&lt;br /&gt;
	option vlan '1'&lt;br /&gt;
	option ports '0t 2 3 4 5'&lt;br /&gt;
&lt;br /&gt;
config switch_vlan&lt;br /&gt;
	option device 'eth0'&lt;br /&gt;
	option vlan '2'&lt;br /&gt;
	option ports '0t 1'&lt;br /&gt;
&lt;br /&gt;
config interface 'freifunk'&lt;br /&gt;
	option ifname 'bat0'		#LAN-Kopplung: ifname eth0.1 entfernt&lt;br /&gt;
	option type 'bridge'&lt;br /&gt;
	option proto 'none'&lt;br /&gt;
	option auto '1'&lt;br /&gt;
	option accept_ra '1'&lt;br /&gt;
	option macaddr 'a0:f3:c1:64:81:cc'&lt;br /&gt;
&lt;br /&gt;
config interface 'mesh'&lt;br /&gt;
	option proto 'batadv'&lt;br /&gt;
	option mtu '1528'&lt;br /&gt;
	option mesh 'bat0'&lt;br /&gt;
&lt;br /&gt;
config interface 'mesh_vpn'&lt;br /&gt;
	option ifname 'mesh-vpn'&lt;br /&gt;
	option proto 'batadv'&lt;br /&gt;
	option mesh 'bat0'&lt;br /&gt;
	option macaddr 'a2:f3:c1:65:81:cc'&lt;br /&gt;
&lt;br /&gt;
config interface 'mesh_lan'		#LAN-Kopplung: Codeblock mesh-lan hinzugefuegt&lt;br /&gt;
        option ifname 'eth0.1'&lt;br /&gt;
        option proto 'batadv'&lt;br /&gt;
        option mesh 'bat0'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Einsperren des Freifunk-Routers in eine DMZ ==&lt;br /&gt;
&lt;br /&gt;
Wer seinen Freifunk-Router einsperren und/oder die Bandbreite begrenzen möchte, kann dies am einfachsten tun, indem er ihn an seiner Firewall an einen eigenen Netzwerkport klemmt und diesen dann als DMZ konfiguriert. Ein KBU-Freifunk-Router muss zur Zeit im LAN DHCP, DNS, im Internet NTP sowie mit den [[fastd]]-Knoten reden können. Folgendes Bespiel für eine iptables-Firewall nimmt an, dass der Freifunk-Router über eth2 angeschlossen ist:&lt;br /&gt;
&lt;br /&gt;
 # eth2 darf nur DNS, NTP, DHCP und ansonsten mit den fastdX reden&lt;br /&gt;
 iptables -i eth2 -A INPUT   -p udp --dport 67:68 --sport 67:68 -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A FORWARD -p udp --dport 67:68 --sport 67:68 -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A INPUT   -p udp --dport 53                  -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A INPUT   -p tcp --dport 53                  -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A INPUT   -p udp --dport 123                 -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A FORWARD -p udp --dport 53                  -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A FORWARD -p tcp --dport 53                  -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A FORWARD -p udp --dport 123                 -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A FORWARD --dst 176.9.41.253                 -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A FORWARD --src 176.9.41.253                 -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A FORWARD --dst 178.63.59.41                 -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A FORWARD --src 178.63.59.41                 -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A FORWARD --dst 37.120.169.214               -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A FORWARD --src 37.120.169.214               -j ACCEPT &lt;br /&gt;
 iptables -i eth2 -A FORWARD --dst 37.221.195.47                -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A FORWARD --src 37.221.195.47                -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A FORWARD --dst 78.46.68.75                  -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A FORWARD --src 78.46.68.75                  -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A FORWARD --dst 84.201.35.206                -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A FORWARD --src 84.201.35.206                -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A INPUT                                      -j DROP&lt;br /&gt;
 iptables -i eth2 -A FORWARD                                    -j DROP&lt;br /&gt;
 # eth2 darf maximal 2000 kbit/s ein- und ausgehenden Traffic machen&lt;br /&gt;
 wondershaper eth2 2000 2000&lt;br /&gt;
&lt;br /&gt;
Prinzipiell könnte man den Traffic noch weiter einschränken. DHCP und DNS müssen nur zum DHCP- bzw. DNS-Server funktionieren, und der Traffic zu den fastd-Servern ließe sich auf TCP-Port 80 und UDP-Port 10000 begrenzen.&lt;br /&gt;
&lt;br /&gt;
===Alternative: Einsperren im VLAN===&lt;br /&gt;
siehe: [[FF-Router einsperren im VLAN]]&lt;br /&gt;
&lt;br /&gt;
== Weboberfläche aktivieren ==&lt;br /&gt;
&lt;br /&gt;
Im Normalbetrieb ist erst mal kein Zugriff notwendig (und auch erst mal nicht vorgesehen). Das läuft einfach! ;-) Und es gibt im Normalbetrieb eben auch keine Weboberfläche, welches Sicherheitslücken haben könnte.&lt;br /&gt;
&lt;br /&gt;
Zum ersten Konfigurieren schaltet mal den Router in einen Konfig-Modus. Der Router nimmt dann in diesem Modus nicht mehr am Freifunknetzwerk teil. Nun kann man dann Rechner an die LAN-Ports des Freifunkrouters anschließen und über eine Weboberfläche per Browser den Router konfigurieren oder updaten. Das sollte aber nur ganz selten notwendig sein. Nach einem Reboot des Routers geht das Gerät dann wieder in den Freifunk-Modus mit deinen Konfigurationsänderungen.&lt;br /&gt;
&lt;br /&gt;
Wenn man Spaß am Basteln hat, kann man die Weboberfläche aber auch im Normalbetrieb aktivieren. Für die Absicherung muss man dann aber selber sorgen, denn standardmäßig ist das nicht abgesichert. Hier die Anleitung nach [http://wiki.freifunk.in-kiel.de/wiki/Firmware Freifunk Kiel], um auf die Weboberfläche zu gelangen:&lt;br /&gt;
&lt;br /&gt;
Die Weboberfläche des Routers ist nicht über die Link-lokale Adresse, sondern nur über die generelle IPv6-Adresse des Routers zu erreichen. Die IPv6-Adresse bekommt man über [https://map.kbu.freifunk.net/ die Karte] oder per [[Pimp_my_Node#IPv6_ssh|IPv6 ssh]] via&lt;br /&gt;
Die generelle IPv6-Adresse erfährt man durch Eingabe von&lt;br /&gt;
  ifconfig | grep Global&lt;br /&gt;
Die IPv6-Adresse (&amp;quot;inet6 adr&amp;quot;) kann man nun im Browser in eckigen Klammern und vorangestelltem &amp;quot;http://&amp;quot; aufrufen (zum Beispiel: http://[2001:67c:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx]/) und gelangt so zur Weboberfläche LuCI.&lt;br /&gt;
&lt;br /&gt;
Falls der Router nicht per IPv6 http liefern sollte, kann man das per SSH beheben. Dazu folgendes nach dem Login auf der Shell vom Router ausführen:&lt;br /&gt;
 uci delete uhttpd.main.listen_http&lt;br /&gt;
 uci delete uhttpd.main.listen_https&lt;br /&gt;
 &lt;br /&gt;
 uci add_list uhttpd.main.listen_http='[::]:80'&lt;br /&gt;
 uci add_list uhttpd.main.listen_http='0.0.0.0:80'&lt;br /&gt;
 uci add_list uhttpd.main.listen_https='[::]:80'&lt;br /&gt;
 uci add_list uhttpd.main.listen_https='0.0.0.0:80'&lt;br /&gt;
 &lt;br /&gt;
 uci commit uhttpd&lt;br /&gt;
 &lt;br /&gt;
 /etc/init.d/uhttpd enable&lt;br /&gt;
&lt;br /&gt;
== Uplink mit Android-Tethering/USB Netzwerkkarte ==&lt;br /&gt;
(SSH-Zugangserfahrung nötig)&lt;br /&gt;
&lt;br /&gt;
Das ganze sei von Anfang an als &amp;quot;sportlich&amp;quot; zu betrachten. Leider sind mobile 3g-/LTE-Tarife fast ausnahmslos nach einem bestimmten Volumen gedrosselt (üblicherweise auf 64 bis 56 kbit/s (neuere NetzclubSim sogar auf 32 kbit/s), Ausnahme bilden hier nur &amp;quot;LTE Zuhause&amp;quot; &amp;quot;DSL&amp;quot; Ersatz Tarife -&amp;gt; 386kbit/s).&lt;br /&gt;
Da Freifunk auch bei Nichtbenutzung Daten überträgt, ist nur bei &amp;quot;LTE Zuhause&amp;quot;-Tarifen interessant, dies als Dauerlösung zu nutzen. Dort ist aber wiederum meist ein LTE-Router vor Ort und man kann den Router auch &amp;quot;traditionell&amp;quot; via LAN Kabel anbinden.&lt;br /&gt;
Bei Benutzung als Uplink bei Straßenfesten/Festivals etc. ist wahrscheinlich, dass erstens das Datenvolumen schnell aufgebraucht sein wird und zweitens ab einer bestimmten Größe auch das 3g-Netz vor Ort überlastet ist. Wenn man es dennoch machen will (mehrere Sim-Karten/spezieller hochvolumiger Tarif/vom Netzbetreiber gesponserter Uplink (träum)), sollte man die Benutzung von LTE erwägen. Auch dort könnten aber durch zukünftige Adapation Überlasterscheinungen auftreten. Desweitern nutzen 2g/3g/4g auch dasselbe Backbone, welcher dann auch für LTE ein Flaschenhals darstellt.&lt;br /&gt;
Muss nochmal nachprüfen, aber wenn, dann nicht uninteressant: Der WLAN-Zugang des Telefons (CM7) wurde per Tethering weitergeleitet und bei Abschalten gab es fallback auf 3g -&amp;gt; nicht schöne, aber einfache &amp;quot;Immer&amp;quot;netzlösung?  Mein Tablet zeigt nicht dieses Verhalten.)&lt;br /&gt;
&lt;br /&gt;
Eine ausführliche und fortgeschriebene Anleitung für Gluon für USB-Tethering und USB-3G-Dongle (UMTS-Stick) gibt es bei im Freifunk Rheinbach [http://wiki.freifunk-rheinbach.de Wiki] unter [http://wiki.freifunk-rheinbach.de/index.php/UMTS UMTS] und [http://wiki.freifunk-rheinbach.de/index.php/USB-Support USB-Support].&lt;br /&gt;
 &lt;br /&gt;
Blablabla, jetzt geht es los:&lt;br /&gt;
Das ganze habe ich mit einem 1043ND und einem droid 2.3CM7 Telefon und einem droid 2.2 Tablet ausprobiert, sollte aber auf jeglichen OpenWRT-Router mit USB, Android-USB-tethering-fähigem Gerät und einfachen USB-Ethernet-Adaptern (nachprüfen!!!) funktionieren:&lt;br /&gt;
&lt;br /&gt;
- Per SSH in den Router einloggen&lt;br /&gt;
- Installieren der notwendigen Treiber&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
opkg update&lt;br /&gt;
opkg install kmod-usb-uhci kmod-usb-net-rndis&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dies sollte, falls ihr noch keine USB-Unterstützung in der Firmware habt, auch diese über Abhängigkeiten nachinstallieren. (nachprüfen!!!)&lt;br /&gt;
&lt;br /&gt;
- Ihr müsst den Netzwerkzugang für die neue Schnittstelle &amp;quot;usb0&amp;quot; noch konfigurieren. Unter /etc/config/network fügt ihr z.B. folgendes hinzu:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
config interface 'wan2'&lt;br /&gt;
       option ifname 'usb0'&lt;br /&gt;
       option proto 'dhcp'&lt;br /&gt;
       option type 'bridge'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Auch unter LuCi sollte dies konfigurierbar sein. &lt;br /&gt;
&lt;br /&gt;
- Nach einem Neustart und einem angeschlossenen Gerät sollte nun der Uplink via dem USB-Netzwerkgerät/Android-Tethering funktionieren.&lt;br /&gt;
- Sollte das Gerät erst später angeschlossen werden, so könnt ihr mit folgendem Befehl das Netzwerkgerät starten.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ifup wan2&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
(Dies ist noch nicht ein perfektes Tutorial, werde es nochmal durchprobieren. Einen UMTS-Stick hatte ich auf Anhieb noch nicht zum laufen gebracht. Auch scheint Multiwan in OpenWRT eine interessante Sache)&lt;br /&gt;
&lt;br /&gt;
== Zusätzlich zum Freifunk auch privates WLAN einrichten ==&lt;br /&gt;
&lt;br /&gt;
Es ist möglich ein privates WLAN anzulegen, dass mit dem WAN-Port gebridged und separat zum Mesh-Netzwerk ist. (Bitte beachten, dass &amp;quot;Mesh on Wan&amp;quot; nicht zeitgleich mit aktiviert werden sollte.) &lt;br /&gt;
Effekt: Das private WLAN wird erweitert, zeitgleich fungiert der Router als Freifunk-Router. Die Netze sind voneinander abgekoppelt.&lt;br /&gt;
Das private WLAN kann per SSH in der Konsole aktiviert werden:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
uci set wireless.wan_radio0=wifi-iface&lt;br /&gt;
uci set wireless.wan_radio0.device=radio0&lt;br /&gt;
uci set wireless.wan_radio0.network=wan&lt;br /&gt;
uci set wireless.wan_radio0.mode=ap&lt;br /&gt;
uci set wireless.wan_radio0.encryption=psk2&lt;br /&gt;
uci set wireless.wan_radio0.ssid=&amp;quot;$SSID&amp;quot;&lt;br /&gt;
uci set wireless.wan_radio0.key=&amp;quot;$KEY&amp;quot;&lt;br /&gt;
uci set wireless.wan_radio0.disabled=0&lt;br /&gt;
uci commit&lt;br /&gt;
wifi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Bitte ersetze $SSID mit dem Namen deines Heimnetzwerks und $KEY mit deinem bisher üblichen Key (der vom privaten Router). Falls dein Router beide Frequenzbänder unterstützt(2.4 und 5 Ghz) und du in beiden auch privates WLAN aktivieren möchtest, muss dies für radio0 und radio1 mit übernommen werden.&lt;br /&gt;
Zum Deaktivieren des Ganzen wie folgt vorgehen:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
uci set wireless.wan_radio0.disabled=1&lt;br /&gt;
uci commit&lt;br /&gt;
wifi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Automatischer Neustart bei längerem Mesh-Verlust, &amp;quot;quick hack&amp;quot; (und &amp;quot;improved hack&amp;quot;) zur Analyse ==&lt;br /&gt;
&lt;br /&gt;
Bei der Vernetzung von Notunterkünften mit Gluon-Beta (via Euskirchen) ist bei einem CPE210-Uplink aufgefallen, dass sämtliche Mesh-Verbindungen über Stunden ausgefallen waren. Es war zunächst unklar, ob überwiegend die Stromversorgung schuld war, insbesondere da der Uplink-Router mehrfach betroffen und trotzdem via VPN erreichbar war. Dabei war dann nur ein Mesh mit sich selbst via &amp;quot;batctl o&amp;quot; sichtbar. Einzelne Mesh-Only-Router zeigten ebenfalls (selten) Ausfälle über mehrere Stunden: teilweise Nachts, wo Renovierungsarbeiten nicht die Ursache sein konnten.&lt;br /&gt;
&lt;br /&gt;
Um längere Ausfälle zu vermeiden, wurde folgendes Script unter /root/check_mesh.sh abgelegt, dass via cron-Job automatisch jede Minute ausgeführt wird und nach 10 Minuten ohne Mesh-Verbindung einen Reboot auslöst:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/ash&lt;br /&gt;
&lt;br /&gt;
FAILCOUNTFILE=/var/run/mesh0_failcount&lt;br /&gt;
MAXFAILCOUNT=10&lt;br /&gt;
&lt;br /&gt;
# check mesh connections with different originators and nexthops, MAC is 17 chars long&lt;br /&gt;
count=`batctl o | awk '/mesh0/{originator=substr($0,1,17); nexthop=substr($0,37,17); if (originator != nexthop){print originator&amp;quot; &amp;quot;nexthop}}' | wc -l`&lt;br /&gt;
&lt;br /&gt;
if [ $count -gt 1 ]; then  ## more than a single mesh with itself is left&lt;br /&gt;
  echo 0 &amp;gt; $FAILCOUNTFILE&lt;br /&gt;
else&lt;br /&gt;
  if [ -f $FAILCOUNTFILE ]; then  &lt;br /&gt;
    read failcount &amp;lt; $FAILCOUNTFILE&lt;br /&gt;
    failcount=$(($failcount+1))&lt;br /&gt;
    if [ $failcount -ge $MAXFAILCOUNT ]; then&lt;br /&gt;
      touch /etc/mesh0_failcount_`date +&amp;quot;%Y-%m-%d_%H%M&amp;quot;`&lt;br /&gt;
      sync&lt;br /&gt;
      reboot&lt;br /&gt;
    fi&lt;br /&gt;
    echo $failcount &amp;gt; $FAILCOUNTFILE&lt;br /&gt;
  else&lt;br /&gt;
    echo 1 &amp;gt; $FAILCOUNTFILE&lt;br /&gt;
  fi&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Es muss (hier mit awk, s.o.) nach _unterschiedlichen_ Werten für Originator und NextHop ausschau gehalten werden, denn bei einem fehlenden Mesh zwischen zwei Knoten meshen die Knoten noch mit sich selbst:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# batctl o | grep mesh0&lt;br /&gt;
62:e6:28:24:5f:52    0.730s   (  6) 62:e6:28:24:5f:52 [     mesh0]: 62:e6:28:24:5f:52 (  6)&lt;br /&gt;
62:e6:28:72:32:48    0.730s   (  8) 62:e6:28:72:32:48 [     mesh0]: 62:e6:28:72:32:48 (  8)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Das war lesbar und einfach, aber wegen ständiger Schreibzugriffe schlecht für die Lebensdauer der Flash-Speicher. Besser also nur schreiben, wenn Fehler passieren, etwa so:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/ash&lt;br /&gt;
&lt;br /&gt;
FAILCOUNTFILE=/var/run/mesh0_failcount&lt;br /&gt;
MAXFAILCOUNT=10&lt;br /&gt;
&lt;br /&gt;
# check mesh connections with different originators and nexthops, MAC is 17 chars long&lt;br /&gt;
count=`batctl o | awk '/mesh0/{originator=substr($0,1,17); nexthop=substr($0,37,17); if (originator != nexthop){print originator&amp;quot; &amp;quot;nexthop}}' | wc -l`&lt;br /&gt;
&lt;br /&gt;
if [ -f $FAILCOUNTFILE ]; then          # Does the failcount file exist at all?&lt;br /&gt;
  read failcount &amp;lt; $FAILCOUNTFILE       # If it exist then there is a number in.&lt;br /&gt;
  if [ $count -gt 0 ]; then             # At least one originator with different nexthop exists&lt;br /&gt;
    if [ $failcount -gt 0 ]; then       # We'r lucky, everything is fine again!&lt;br /&gt;
      echo 0 &amp;gt; $FAILCOUNTFILE&lt;br /&gt;
      exit&lt;br /&gt;
    fi&lt;br /&gt;
  else                                  # no nexthop different than originator exists &lt;br /&gt;
    failcount=$(($failcount+1))&lt;br /&gt;
    if [ $failcount -ge $MAXFAILCOUNT ]; then&lt;br /&gt;
      echo 0 &amp;gt; $FAILCOUNTFILE                   # Reset counter before reboot&lt;br /&gt;
      logread &amp;gt; /etc/mesh0_failcount_lastwords_`date +&amp;quot;%Y-%m-%d_%H%M&amp;quot;`  # DEBUG info&lt;br /&gt;
      sync&lt;br /&gt;
      reboot&lt;br /&gt;
    fi &lt;br /&gt;
    echo $failcount &amp;gt; $FAILCOUNTFILE&lt;br /&gt;
  fi&lt;br /&gt;
else&lt;br /&gt;
  echo 0 &amp;gt; $FAILCOUNTFILE&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Das Script wird dann noch ausführbar gemacht:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
chmod +x /root/check_mesh.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Via &amp;quot;crontab -e&amp;quot; führt dann folgender Eintrag zur Ausführung zu jeder vollen Minute:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* * * * * /root/check_mesh.sh &amp;gt; /dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wichtig ist, dass ein ausreichender Zeitraum zum Aufbau des Mesh-Netzes nach dem Reboot verbleibt. 10 Minuten (MAXFAILCOUNT) sollten hierzu ausreichen.&lt;br /&gt;
&lt;br /&gt;
Im /etc-Verzeichnis (das wurde gewählt, da Änderungen hier einen Neustart überleben) sind dann solche Reboot-Ereignisse ablesbar:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# ls -al | grep failcount&lt;br /&gt;
-rw-r--r--    1 root     root             0 Oct 26 06:22 mesh0_failcount_2015-10_26_0622&lt;br /&gt;
-rw-r--r--    1 root     root             0 Oct 29 08:12 mesh0_failcount_2015-10-29_0812&lt;br /&gt;
-rw-r--r--    1 root     root             0 Oct 30 21:59 mesh0_failcount_2015-10-30_2159&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die Vorfälle traten unregelmäßig alle paar Tage auf, wurden aber durch das Script abgefangen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Client-WLAN nachts automatisch ausstellen ==&lt;br /&gt;
&lt;br /&gt;
In Jugendherbergen oder Flüchtlingsheimen kann es durch rücksichts- oder gedankenloses Verhalten einzelner Gäste oder Bewohner zu akkustischen Beeinträchtigungen kommen, die durch temporäres Ausschalten des WLAN-Client-Netzes vermindert werden können. Damit kann natürlich nicht verhindert werden, dass einzelne Bewohner sich einen eigenen Freifunk-Router konfigurieren und ins Mesh-Netz hängen - das wäre ja sogar erwünscht. Folgendes Script ''restrict_client_access.sh'' ermöglicht das Abschalten in den frühen Morgenstunden (d.h. vor 0 Uhr abzuschalten ist hier nicht berücksichtigt). Es ist bisher für TP-Link TL-WR841-ND, sowie mit TL-WDR4300 und TL-WDR3600 mit der aktuellen Firmware v1.4 getestet. &lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/ash&lt;br /&gt;
&lt;br /&gt;
STOP_HOUR=0   # needs to be smaller than START_HOUR!!!&lt;br /&gt;
START_HOUR=7  # disable client0 network device if it's active &lt;br /&gt;
              # and hour is between STOP_HOUR and START_HOUR &lt;br /&gt;
&lt;br /&gt;
hour=`date +&amp;quot;%H&amp;quot;`&lt;br /&gt;
&lt;br /&gt;
ip addr list client0 &amp;gt; /dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
if [ $? -eq 0 ]; then                   # client network is on&lt;br /&gt;
  if [ $hour -lt ${START_HOUR} -a $hour -ge ${STOP_HOUR} ]; then        # turn it off&lt;br /&gt;
    uci set wireless.client_radio0.disabled=1&lt;br /&gt;
    uci set wireless.client_radio1.disabled=1                           # additional 5GHz wifi exists (e.g. WDR3600)&lt;br /&gt;
    uci commit wireless&lt;br /&gt;
    /etc/init.d/network restart&lt;br /&gt;
  fi&lt;br /&gt;
else                                    # client network is off&lt;br /&gt;
  if [ $hour -ge ${START_HOUR} -o $hour -lt ${STOP_HOUR} ]; then        # turn it on &lt;br /&gt;
    uci set wireless.client_radio0.disabled=0&lt;br /&gt;
    uci set wireless.client_radio1.disabled=0                           # additional 5GHz wifi exists (e.g WDR3600)&lt;br /&gt;
    uci commit wireless        &lt;br /&gt;
    /etc/init.d/network restart&lt;br /&gt;
  fi&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Das Script kann z.B. einfach im /root/ -Verzeichnis abgelegt werden. Via &amp;quot;crontab -e&amp;quot; führt dann folgender Eintrag zur Ausführung zu jeder vollen Minute:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* * * * * /root/restrict_client_access.sh &amp;gt; /dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Hinweis:''' Die uci- sowie das Restart-Kommando dürfen nicht ausserhalb der if-Bedingungen das Script ''vereinfachen'', da sie jeweils nur bei einmaligem Umstellen täglich ausgeführt werden dürfen. Sonst verliert man jede Minute das Netz...&lt;br /&gt;
&lt;br /&gt;
'''Wichtig ''': Der NTP-Dienst bei Mesh-Only-Routern muss ggf. erst (oder nochmal) nach der hergestellten Mesh-Verbindung durchgestartet werden, da NTP keine großen Zeitsprünge macht. Das kan z.B. durch folgenden Eintrag via Crontab automatisiert werden (hier: zur vollen Minute 8, die ggf. nach längerer Auszeit auch zunächst falsch sein kann):&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
8 * * * * /etc/init.d/sysntpd restart &amp;gt; /dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
Besser wäre hier ein Script, dass nach dem erfolgreichen Herstellen einer Mesh-Verbindung zum Uplink den ndtd einmal durchstartet, damit die Zeit initial synchronisiert wird.&lt;br /&gt;
&lt;br /&gt;
== Client-WLAN an Mesh-Only-Routern nur aktivieren, wenn Mesh-WLAN vorhanden ist ==&lt;br /&gt;
&lt;br /&gt;
Bei Routern, die selbst keinen Uplink haben und deshalb davon abhängig sind mit Nachbarn zu meshen, kann das Freifunk-Client-WLAN ausgestellt werden, wenn kein Mesh-Link (und damit auch kein entfernter Uplink) greifbar ist.&lt;br /&gt;
&lt;br /&gt;
Folgendes Script kann in ''/root/client-off-if-mesh-off.sh'' abgelegt (und via ''chmod +x /root/client-off-if-mesh-off.sh'' ausführbar gemacht) werden, das dann via cron regelmäßig aufgerufen wird:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/bin/ash                                                                                          &lt;br /&gt;
&lt;br /&gt;
FAILCOUNTFILE=/var/run/mesh0_nogatewaycount&lt;br /&gt;
MAXFAILCOUNT=2&lt;br /&gt;
&lt;br /&gt;
# check mesh connections with different originators and nexthops, MAC is 17 chars long&lt;br /&gt;
batctl gwl | grep -q &amp;quot;No gateways in range&amp;quot;&lt;br /&gt;
no_gw=$?&lt;br /&gt;
&lt;br /&gt;
if [ -f $FAILCOUNTFILE ]; then          # Does the failcount file exist at all?&lt;br /&gt;
  read failcount &amp;lt; $FAILCOUNTFILE       # If it exist then there is a number in.&lt;br /&gt;
  if [ ${no_gw} -eq 1 ]; then           # There is a gateway&lt;br /&gt;
    if [ $failcount -gt 0 ]; then       # We'r lucky, it is fine again, we decrease the failcount&lt;br /&gt;
      failcount=$(($failcount-1))&lt;br /&gt;
      echo $failcount &amp;gt; $FAILCOUNTFILE&lt;br /&gt;
      if [ $failcount -eq 0 ]; then&lt;br /&gt;
        # turn on client network &lt;br /&gt;
        uci set wireless.client_radio0.disabled=0&lt;br /&gt;
        uci commit wireless&lt;br /&gt;
        wifi&lt;br /&gt;
      fi&lt;br /&gt;
      exit&lt;br /&gt;
    fi&lt;br /&gt;
  else                                  # no nexthop different than originator exists &lt;br /&gt;
    failcount=$(($failcount+1))&lt;br /&gt;
    if [ $failcount -eq $MAXFAILCOUNT ]; then&lt;br /&gt;
      # logread &amp;gt; /etc/mesh0_failcount_no-mesh_`date +&amp;quot;%Y-%m-%d_%H%M&amp;quot;`  # DEBUG info&lt;br /&gt;
      # turn off client network &lt;br /&gt;
      uci set wireless.client_radio0.disabled=1&lt;br /&gt;
      uci commit wireless&lt;br /&gt;
      wifi&lt;br /&gt;
    fi&lt;br /&gt;
    if [ $failcount -le $MAXFAILCOUNT ]; then ## only memorize failcounts up to MAXFAILCOUNT &lt;br /&gt;
      echo $failcount &amp;gt; $FAILCOUNTFILE&lt;br /&gt;
    fi&lt;br /&gt;
  fi&lt;br /&gt;
else&lt;br /&gt;
  echo 0 &amp;gt; $FAILCOUNTFILE&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Via &amp;quot;crontab -e&amp;quot; führt dann folgender Eintrag zur Ausführung zu jeder vollen Minute:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
* * * * * /root/client-off-if-mesh-off.sh &amp;gt; /dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Das obige Script ist dahingehend optimiert, dass nur bei Änderungen des Mesh-Status Daten auf den Flash-Speicher geschrieben werden. Für TP-Link WR 841ND wurde obiges Script getestet.&lt;br /&gt;
&lt;br /&gt;
== Freifunk-Monitor: Router-Status per E-Mail ==&lt;br /&gt;
&lt;br /&gt;
Ich zitiere mal von der Mailingliste - das ganze ist in der Testphase und ich werde den Wiki-Eintrag später noch entsprechend Überarbeiten.&lt;br /&gt;
&lt;br /&gt;
(Dieser Service ist nun wieder aktiv, nach spätestens 40 Minuten Down-Time geht die E-Mail jetzt wieder raus!)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
Hallo, Liebe Mitstreiter!&lt;br /&gt;
&lt;br /&gt;
Wir alle arbeiten daran, unser Netz besser, schneller und stabiler zu machen.&lt;br /&gt;
&lt;br /&gt;
Axel und ich möchten unseren Teil beitragen.&lt;br /&gt;
&lt;br /&gt;
Deshalb entwickeln wir den Freifunk-Monitor – eine kleine Software, die Betreiber von Freifunk-Routern auf Wunsch per E-Mail benachrichtigt, wenn ein- oder mehrere seiner Knoten seitens der Karte nicht erreichbar scheinen.&lt;br /&gt;
&lt;br /&gt;
Dieser Service muss derzeit explizit auf einem Router mit mindestens Gluon 1.4 via SSH angeschaltet werden (es gibt derzeit keine Web-Oberfläche).&lt;br /&gt;
&lt;br /&gt;
Wir laden hiermit alle Router-Betreiber ein, den Monitor zu testen!&lt;br /&gt;
&lt;br /&gt;
Rechnet damit, schlimmstenfalls zu viele oder ungerechtfertigte E-Mails vom Monitor zu bekommen - wir testen die Software noch.&lt;br /&gt;
&lt;br /&gt;
Wie ihr das wieder abschaltet steht unten.&lt;br /&gt;
&lt;br /&gt;
---------------&lt;br /&gt;
&lt;br /&gt;
Kommando zum Monitoring einschalten (Achtung, was folgt ist EINE Zeile):&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;if uci:get_first('gluon-node-info', 'owner', 'send_alerts', '') ~= '' then return true end&amp;quot; &amp;gt; /lib/gluon/announce/nodeinfo.d/send_alerts ; uci set gluon-node-info.@owner[0].send_alerts=1 ; uci commit&lt;br /&gt;
&lt;br /&gt;
Kommando zum E-Mail-Adresse setzen (falls nicht schon geschehen):&lt;br /&gt;
&lt;br /&gt;
uci set gluon-node-info.@owner[0].contact=ff@cocoanuts.org; uci commit&lt;br /&gt;
&lt;br /&gt;
Kommando zum E-Mail-Adresse prüfen:&lt;br /&gt;
&lt;br /&gt;
uci get gluon-node-info.@owner[0].contact&lt;br /&gt;
&lt;br /&gt;
Kommando zum Monitoring abschalten:&lt;br /&gt;
&lt;br /&gt;
uci set gluon-node-info.@owner[0].send_alerts=0 ; uci commit&lt;br /&gt;
&lt;br /&gt;
---------------&lt;br /&gt;
&lt;br /&gt;
Frohes Freifunken,&lt;br /&gt;
&lt;br /&gt;
    KaterMikesch &amp;amp; G3ntleman&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Freifunk-Knoten von der Map entfernen ==&lt;br /&gt;
&lt;br /&gt;
Wenn man einen Freifunk-Router in eine andere Hood überführen oder anderweitig verwenden möchte, ist es eine gute Sitte, keine blinkenden roten Punkte auf der Karte zu hinterlassen, die üblicherweise auf Störungen bzw. Ausfälle hindeuten. &lt;br /&gt;
Zum Austragen des Routers aus der Karte kannst Du einen der folgenden Wege beschreiten:&lt;br /&gt;
&lt;br /&gt;
1. Den Router in den Config-Mode überführen (durch längeres Drücken des Reset-Buttons, bis alle LEDs aufblinken) und in der Konfigurationsoberfläche das entsprechende Häkchen deaktivieren. &lt;br /&gt;
&lt;br /&gt;
2. Wenn Du per ssh auf den Router kommst, dann kannst Du in der Datei /etc/config/gluon-node-info folgenden Paramter (von 1 auf 0) setzen:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
...&lt;br /&gt;
config location&lt;br /&gt;
        option share_location '0'&lt;br /&gt;
...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
3. Alternativ zu 2 ebenfalls via ssh und UCI-Kommando auf dem Router:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# uci set gluon-node-info.@location[0].share_location=0&lt;br /&gt;
# uci commit gluon-node-info&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In allen drei Fällen dann den Router nochmal ins Freifunk-Netz hängen (durchstarten) und ein paar Minuten warten, bis der dem Router zugeordnete Punkt mit dem Router-Namen beim nächsten Update der Map-Daten von der Karte verschwindet.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;text-align: center; background-color:#e135734d; font-weight: bold; padding: 1px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt; [[Experteneinstellungen|Optional: Experteneinstellungen]] &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; &amp;amp;nbsp; [[Mitmachen|Übersicht]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Linuxer</name></author>
	</entry>
	<entry>
		<id>https://kbu.freifunk.net/wiki/index.php?title=Pimp_my_Node&amp;diff=3191</id>
		<title>Pimp my Node</title>
		<link rel="alternate" type="text/html" href="https://kbu.freifunk.net/wiki/index.php?title=Pimp_my_Node&amp;diff=3191"/>
		<updated>2015-01-28T18:17:52Z</updated>

		<summary type="html">&lt;p&gt;Linuxer: /* public key auf Node aufspielen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Kategorie:Mitmachen]]&lt;br /&gt;
== Netztheorie/Technik und Entwicklung ==&lt;br /&gt;
Vertiefung&lt;br /&gt;
&lt;br /&gt;
*[[FSM-Dynamisches-Bridging]] &lt;br /&gt;
*[[Batman_adv]]&lt;br /&gt;
*[[Entwicklung]]&lt;br /&gt;
*[[Firmware|Firmware/Betriebssystem]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Arbeiten auf der Shell ==&lt;br /&gt;
Vorraussetzung für folgende Befehle sind eine Verbindung mit dem KBU Freifunk Netz sowie ein Terminal / Shell. &lt;br /&gt;
Vergesst nicht eth0 gegen die Bezeichnung eures Netzwerkinterfaces, welches am Freifunk hängt zu tauschen. &lt;br /&gt;
Bei Macbooks via Wlan z.B. &amp;quot;en1&amp;quot; statt &amp;quot;eth0&amp;quot;! Die link local Adresse der jeweiligen node findet ihr auf der [http://register.kbu.freifunk.net KBU Register] Seite. Um Dateien auf dem Node ändern zu können, steht als einziger Editor ''vi'' bzw. ''vim'' zur Verfügung.&lt;br /&gt;
 &lt;br /&gt;
=== IPv6 ping ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ping6 &amp;lt;link local Adresse des Nodes&amp;gt;%eth0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== IPv6 ssh ===&lt;br /&gt;
Hinter der link local Adresse &amp;quot;%&amp;quot; + &amp;quot;Netzwerk Interface an eurer Kiste&amp;quot; (Hier im Beispiel eth0)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ssh root@&amp;lt;link local Adresse des Nodes&amp;gt;%eth0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Hostnamen des Nodes ändern ===&lt;br /&gt;
Standardmäßig ist der Hostname des Nodes gleich der MAC-Adresse des Routers. Möchte man den Hostnamen ändern, so kann man dies in der Datei ''/etc/config/system''. Hier gibt es gleich als ersten Punkt ''config system'' und dort findet man den Eintrag&lt;br /&gt;
&amp;lt;pre&amp;gt;option hostname 'aa:bb:cc:dd:ee:ff'&amp;lt;/pre&amp;gt;&lt;br /&gt;
Hier kann man jetzt aa:bb:cc:dd:ee:ff (diese Adresse sieht bei jedem Node anders aus!) zu dem gewünschten Hostnamen ändern. Eine Änderung wird erst nach dem Kommando ''reboot'' (danach startet der Node neu) wirksam.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== ntp-Bug in Firmware 1.2.1b beseitigen ===&lt;br /&gt;
Falls sich ein Node-Betreiber wundert, warum sein Node keine Statistiken liefert und es ein Mesh-Only-Node ist (d. h. ohne eigenen Uplink zum Internet), so liegt das an einem Bug in der Firmware. Diesen kann man jedoch mit einfachen Mitteln beheben:&lt;br /&gt;
Editiert wird die Datei ''/etc/config/system''. Dort findet man einen Eintrag ''config timeserver 'ntp'''. Defaultmäßig stehen hier 4 Zeitserver von openwrt (in der Form x.openwrt.pool.ntp.org). Diese müssen bei Mesh-Only-Nodes in IPv6-Adressen geändert werden, und zwar, dass der komplette Konfigurationspunkt wie folgt aussieht:&lt;br /&gt;
&amp;lt;pre&amp;gt;config timeserver 'ntp'&lt;br /&gt;
        list server '2a03:4000:2:494::2'&lt;br /&gt;
        list server '2a01:4f8:161:2461:e4::1'&lt;br /&gt;
        list server '2a02:180:1:1::551f:bb4b'&lt;br /&gt;
        option enabled '1'&lt;br /&gt;
        option enable_server '0'&amp;lt;/pre&amp;gt;&lt;br /&gt;
Auch hier werden die Änderungen erst nach einem Neustart des Nodes mittels ''reboot'' wirksam.&lt;br /&gt;
Dieser Bug soll mit dem nächsten Firmware-Release behoben sein. Man kann die Eintragungen auch in den Nodes mit Internet-Uplink ändern ohne die Funktion zu beeinträchtigen.&lt;br /&gt;
&lt;br /&gt;
=== public key auf Node aufspielen ===&lt;br /&gt;
Möchte man sich nicht immer per Paßwort auf den eigenen Node verbinden, so kann man das auch mit einem Schlüsselpaar realisieren. Falls man danach noch die Authentifizierung per Paßwort abschaltet (s. nächster Punkt), dann hat man einen sicheren Zugriff auf seinen Node realisiert.&lt;br /&gt;
Voraussetzung ist natürlich, dass man schon ein gültiges Schlüsselpaar besitzt. Falls dem so ist, so genügt es, den öffentlichen Schlüssel (public key) auf den Node zu übertragen. Das kann mit Hilfe von scp (secure copy) passieren:&lt;br /&gt;
&amp;lt;pre&amp;gt;scp -6 id_rsa.pub root@[&amp;lt;link local Adresse des Nodes&amp;gt;%eth0]:/etc/dropbear/authorized_keys&amp;lt;/pre&amp;gt;&lt;br /&gt;
Hierbei steht id_rsa.pub für die Datei, die den public key enthält. '''ACHTUNG:''' Obiger Befehl ersetzt die eventuell schon vorhandene Datei authorized_keys auf dem Node. Das ist ok für den ersten Key. Sollen mehrere Keys eingetragen werden (z. B. weil man außer vom Laptop auch vom Tablet auf seinen Node verbinden möchte), muß der zusätzliche Key per vi(m) auf dem Node direkt editiert werden.&lt;br /&gt;
Sollte beim Kopierversuch die Meldung&lt;br /&gt;
&amp;lt;pre&amp;gt;ssh: Could not resolve hostname fe80:&amp;lt;/pre&amp;gt;&lt;br /&gt;
erscheinen, hat man höchstwahrscheinlich die eckigen Klammern um die IP-Adresse inklusive Interface vergessen. Dann wird der erste Doppelpunkt schon als Ende des Hostnamens interpretiert!&lt;br /&gt;
Auch hier werden die Änderungen nach einem Neustart des Routers mittels ''reboot'' übernommen.&lt;br /&gt;
&lt;br /&gt;
=== Paßwort-Authentifizierung abstellen ===&lt;br /&gt;
'''Wichtig:''' Als erstes prüfen, ob man sich mit seinem Schlüsselpaar auf den Router einloggen kann. Man sollte jetzt nicht mehr nach dem Paßwort gefragt werden (allerhöchstens nach dem Paßwort, welches den privaten Schlüssel schützt).&lt;br /&gt;
Falls das erfolgreich funktioniert, kann man die Datei ''/etc/config/dropbear'' wie folgt ändern:&lt;br /&gt;
&amp;lt;pre&amp;gt;config dropbear&lt;br /&gt;
        option PasswordAuth 'off'&lt;br /&gt;
        option RootPasswordAuth 'off'&lt;br /&gt;
        option Port         '22'&lt;br /&gt;
#       option BannerFile   '/etc/banner'&amp;lt;/pre&amp;gt;&lt;br /&gt;
Nach einem Neustart des Routers mittels ''reboot'' sollte es jetzt nur noch möglich sein, sich mit seinem Schlüsselpaar auf den Rotuer einzuloggen.&lt;br /&gt;
&lt;br /&gt;
=== Firmware aktualisieren ===&lt;br /&gt;
==== Node mit uplink ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ssh root@&amp;lt;link local Adresse des Nodes&amp;gt;%eth0              // SSH Verbindung zum Node aufbauen&lt;br /&gt;
cd ../tmp/                                              // in das Verzeichnis &amp;quot;tmp&amp;quot; wechseln&lt;br /&gt;
free                                                    // Freien Speicher prüfen&lt;br /&gt;
wget http://pfad/zur/firmware.bin                       // Firmware herunterladen oder&lt;br /&gt;
sysupgrade -v firmware.bin                              // Firmwareupgrade durchführen&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Achtung''': Beim Download der Firmware via wget kann auf dem Router die Integrität der Firmware nicht geprüft werden, da gpg i.d.R. auf den Routern nicht verfügbar ist. Deshalb ist es sicherer, den oben beschriebenen Weg zu wählen, oder die geprüfte Firmware per scp (s.u.) auf den Router zu kopieren. &lt;br /&gt;
&lt;br /&gt;
==== Node ohne uplink (mesh node) ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
scp -6 -v -r firmware.bin root@\[&amp;lt;link local Adresse des Nodes&amp;gt;%eth0\]:../tmp/          // Firmware auf den node schieben (md5 checken!)&lt;br /&gt;
ssh root@&amp;lt;link local Adresse des Nodes&amp;gt;%eth0 &lt;br /&gt;
cd ../tmp/  &lt;br /&gt;
sysupgrade -v firmware.bin  &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== LAN Kopplung ===&lt;br /&gt;
Eine LAN Kopplung kann in manchen Fällen sinnvoll sein, besonders wenn man einen VLAN fähigen Switch und eine bestehende Ntzwerkverkabelung hat. Hier werden die Switchports angwiesen auch über LAN zu meshen.&lt;br /&gt;
&lt;br /&gt;
==== TL-WR841ND ====&lt;br /&gt;
03/2014: Hier wird über die alle 4 LAN Ports gemeshed, Mesh über WLAN kann man optional noch ausschalten! Folgende Config stammt von rampone/FF-KBU und wurde an 2 TL-WR841N v.8 getestet mit KBU-FF-Firmware 1.1.&lt;br /&gt;
&lt;br /&gt;
''vim /etc/config/network'' - Folgende Änderungen wurden an der FF-Firmware 1.0 vorgenommen:&lt;br /&gt;
#config interface 'freifunk' -&amp;gt; Hier haben wir eth0 aus &amp;quot;ifname&amp;quot; rausgenommen, damit kein ff aus dem eth0 (switch) rauskommt.&lt;br /&gt;
#config interface 'mesh_lan' -&amp;gt; kompl. codeblock hinzugefügt, dieser bewirkt das über eth0 (switch) gemeshed wird. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
config interface 'loopback'&lt;br /&gt;
	option ifname 'lo'&lt;br /&gt;
	option proto 'static'&lt;br /&gt;
	option ipaddr '127.0.0.1'&lt;br /&gt;
	option netmask '255.0.0.0'&lt;br /&gt;
&lt;br /&gt;
config interface 'wan'&lt;br /&gt;
	option ifname 'eth0'&lt;br /&gt;
	option proto 'dhcp'&lt;br /&gt;
	option type 'bridge'&lt;br /&gt;
	option accept_ra '0'&lt;br /&gt;
	option auto '1'&lt;br /&gt;
&lt;br /&gt;
config switch&lt;br /&gt;
	option name 'switch0'&lt;br /&gt;
	option reset '1'&lt;br /&gt;
	option enable_vlan '1'&lt;br /&gt;
&lt;br /&gt;
config switch_vlan&lt;br /&gt;
	option device 'switch0'&lt;br /&gt;
	option vlan '1'&lt;br /&gt;
	option ports '0 1 2 3 4'&lt;br /&gt;
&lt;br /&gt;
config interface 'freifunk'&lt;br /&gt;
	option ifname 'bat0'		#LAN-Kopplung: ifname eth1 entfernt&lt;br /&gt;
	option type 'bridge'&lt;br /&gt;
	option proto 'none'&lt;br /&gt;
	option auto '1'&lt;br /&gt;
	option accept_ra '1'&lt;br /&gt;
	option macaddr '10:fe:ed:f1:53:84'&lt;br /&gt;
&lt;br /&gt;
config interface 'mesh'&lt;br /&gt;
	option proto 'batadv'&lt;br /&gt;
	option mtu '1528'&lt;br /&gt;
	option mesh 'bat0'&lt;br /&gt;
&lt;br /&gt;
config interface 'mesh_vpn'&lt;br /&gt;
	option ifname 'mesh-vpn'&lt;br /&gt;
	option proto 'batadv'&lt;br /&gt;
	option mesh 'bat0'&lt;br /&gt;
	option macaddr '12:fe:ed:f2:53:84'&lt;br /&gt;
&lt;br /&gt;
config interface 'mesh_lan'		#LAN-Kopplung: Codeblock mesh-lan hinzugefuegt&lt;br /&gt;
	option ifname 'eth1'&lt;br /&gt;
	option proto 'batadv'&lt;br /&gt;
	option mesh 'bat0'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''vim /etc/config/wireless'' - Hier wird der Codeblock, der für das Mesh über WLAN verantwortlich ist auskommentiert (optional)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#config wifi-iface 'wifi_mesh'&lt;br /&gt;
#       option device 'radio0'&lt;br /&gt;
#       option network 'mesh'&lt;br /&gt;
#       option mode 'adhoc'&lt;br /&gt;
#       option ssid '02:d1:11:37:fc:39'&lt;br /&gt;
#       option bssid '02:d1:11:37:fc:39&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== TL-WDR4300 ====&lt;br /&gt;
Das gleiche nochmal für den 4300er&lt;br /&gt;
&lt;br /&gt;
''vim /etc/config/network''&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
config interface 'loopback'&lt;br /&gt;
	option ifname 'lo'&lt;br /&gt;
	option proto 'static'&lt;br /&gt;
	option ipaddr '127.0.0.1'&lt;br /&gt;
	option netmask '255.0.0.0'&lt;br /&gt;
&lt;br /&gt;
config interface 'wan'&lt;br /&gt;
	option ifname 'eth0.2'&lt;br /&gt;
	option proto 'dhcp'&lt;br /&gt;
	option type 'bridge'&lt;br /&gt;
	option accept_ra '0'&lt;br /&gt;
	option auto '1'&lt;br /&gt;
	option macaddr 'a2:f3:c1:65:81:cd'&lt;br /&gt;
&lt;br /&gt;
config switch&lt;br /&gt;
	option name 'eth0'&lt;br /&gt;
	option reset '1'&lt;br /&gt;
	option enable_vlan '1'&lt;br /&gt;
&lt;br /&gt;
config switch_vlan&lt;br /&gt;
	option device 'eth0'&lt;br /&gt;
	option vlan '1'&lt;br /&gt;
	option ports '0t 2 3 4 5'&lt;br /&gt;
&lt;br /&gt;
config switch_vlan&lt;br /&gt;
	option device 'eth0'&lt;br /&gt;
	option vlan '2'&lt;br /&gt;
	option ports '0t 1'&lt;br /&gt;
&lt;br /&gt;
config interface 'freifunk'&lt;br /&gt;
	option ifname 'bat0'		#LAN-Kopplung: ifname eth0.1 entfernt&lt;br /&gt;
	option type 'bridge'&lt;br /&gt;
	option proto 'none'&lt;br /&gt;
	option auto '1'&lt;br /&gt;
	option accept_ra '1'&lt;br /&gt;
	option macaddr 'a0:f3:c1:64:81:cc'&lt;br /&gt;
&lt;br /&gt;
config interface 'mesh'&lt;br /&gt;
	option proto 'batadv'&lt;br /&gt;
	option mtu '1528'&lt;br /&gt;
	option mesh 'bat0'&lt;br /&gt;
&lt;br /&gt;
config interface 'mesh_vpn'&lt;br /&gt;
	option ifname 'mesh-vpn'&lt;br /&gt;
	option proto 'batadv'&lt;br /&gt;
	option mesh 'bat0'&lt;br /&gt;
	option macaddr 'a2:f3:c1:65:81:cc'&lt;br /&gt;
&lt;br /&gt;
config interface 'mesh_lan'		#LAN-Kopplung: Codeblock mesh-lan hinzugefuegt&lt;br /&gt;
        option ifname 'eth0.1'&lt;br /&gt;
        option proto 'batadv'&lt;br /&gt;
        option mesh 'bat0'&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Einsperren des Freifunk-Routers in eine DMZ ==&lt;br /&gt;
&lt;br /&gt;
Wer seinen Freifunk-Router einsperren und/oder die Bandbreite begrenzen möchte, kann dies am einfachsten tun, indem er ihn an seiner Firewall an einen eigenen Netzwerkport klemmt und diesen dann als DMZ konfiguriert. Ein KBU-Freifunk-Router muß zur Zeit im LAN DHCP, DNS, im Internet NTP sowie mit den [[fastd]]-Knoten reden können. Folgendes Bespiel für eine iptables-Firewall nimmt an, dass der Freifunk-Router über eth2 angeschlossen ist:&lt;br /&gt;
&lt;br /&gt;
 # eth2 darf nur dns, ntp, dhcp und ansonsten mit den fastdX reden&lt;br /&gt;
 iptables -i eth2 -A INPUT   -p udp --dport 67:68 --sport 67:68 -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A FORWARD -p udp --dport 67:68 --sport 67:68 -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A INPUT   -p udp --dport 53                  -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A INPUT   -p tcp --dport 53                  -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A INPUT   -p tcp --dport 123                 -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A FORWARD -p udp --dport 53                  -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A FORWARD -p tcp --dport 53                  -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A FORWARD -p tcp --dport 123                 -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A FORWARD --dst 176.9.41.253                 -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A FORWARD --src 176.9.41.253                 -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A FORWARD --dst 178.63.59.41                 -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A FORWARD --src 178.63.59.41                 -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A FORWARD --dst 37.120.169.214               -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A FORWARD --src 37.120.169.214               -j ACCEPT &lt;br /&gt;
 iptables -i eth2 -A FORWARD --dst 37.221.195.47                -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A FORWARD --src 37.221.195.47                -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A FORWARD --dst 78.46.68.75                  -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A FORWARD --src 78.46.68.75                  -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A FORWARD --dst 84.201.35.206                -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A FORWARD --src 84.201.35.206                -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A INPUT                                      -j DROP&lt;br /&gt;
 iptables -i eth2 -A FORWARD                                    -j DROP&lt;br /&gt;
 # eth2 darf maximal 2000 kbit/s ein- und ausgehenden traffic machen&lt;br /&gt;
 wondershaper eth2 2000 2000&lt;br /&gt;
&lt;br /&gt;
Prinzipiell könnte man den Traffic noch weiter einschränken. DHCP und DNS müssen nur zum DHCP- bzw. DNS-Server funktionieren und der Traffic zu den fastd-Servern ließe sich auf TCP Port 80 und UDP Port 10000 begrenzen.&lt;/div&gt;</summary>
		<author><name>Linuxer</name></author>
	</entry>
	<entry>
		<id>https://kbu.freifunk.net/wiki/index.php?title=Config_Mode&amp;diff=3162</id>
		<title>Config Mode</title>
		<link rel="alternate" type="text/html" href="https://kbu.freifunk.net/wiki/index.php?title=Config_Mode&amp;diff=3162"/>
		<updated>2015-01-17T09:40:15Z</updated>

		<summary type="html">&lt;p&gt;Linuxer: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Grundsätzlich ist unsere Freifunk Firmware so konzipiert, dass der Betreiber eines Nodes (Freifunkknoten) keinerlei Konfigurationsarbeiten durchführen muss. Das bedeutet, nach dem Aufspielen unserer Firmware und der Registrierung, kann der Betreiber direkt loslegen und ist Teil unseres Freifunk-Netzwerkes. &lt;br /&gt;
&lt;br /&gt;
Wenn der Betreiber es wünscht, besteht natürlich für Ihn die Möglichkeit, seinen Knoten an seine speziellen Bedürfnisse anzupassen. Die Möglichkeiten und Abweichungen von der Default-Konfiguration sind vielfältig. Diese sollten aber nur dann durchgeführt werden, wenn der Durchführende genau weiß was er da macht. Eine fehlerhaft Konfiguration kann zum Beispiel zu Störungen im Netzwerk führen, ferner könnten illegitime Maßnahmen implementiert werden. Beide zuvor genannten Beispiele würden zu einem Ausschluss aus unserem Netzwerk führen. Dennoch kann man gute Gründe haben die ein Abweichen von den Defaultwerten sinnvoll machen. &lt;br /&gt;
&lt;br /&gt;
* Es ist zum Beispiel möglich, ein Passwort zu setzen um den Node per Fernzugriff/Login zu warten oder einige erweiterte Einstellungen vorzunehmen. &lt;br /&gt;
&lt;br /&gt;
Es kann durchaus sinnvoll sein, die LAN-Ports speziell zu konfigurieren oder zusätzliche Software für eine Bandbreitenbegrenzung zu installieren. &lt;br /&gt;
&lt;br /&gt;
An dieser Stellen möchten wir nur beschreiben, wie man in diesen Konfigurationsmodus gelangt.&lt;br /&gt;
&lt;br /&gt;
'''Vorgehensweise'''&lt;br /&gt;
PC mit Router über Netzwerkkabel verbinden (gelbe LAN Ports am Router)&lt;br /&gt;
&lt;br /&gt;
   '''Hinweis:''' Eine Ausnahme von dieser LAN/WAN/Farbwahl besteht bei älteren Modellen des TL-WR841N(D) bis einschließlich Hardware-Version 8.0: hier ist es nicht der LAN Port (gelb)&lt;br /&gt;
   sondern der WAN Port (blau).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:wr741nd_pi4-5.jpg|center|thumb|800px]]&lt;br /&gt;
&lt;br /&gt;
Wenn der Router gestartet ist (Power, Sys, WLAN leuchten dauerhaft), QSS Taste (schwarzer Knopf) 6 Sekunden drücken (Abb.10) (bis der Router neu startet, das sieht man daran, dass alle Lampen einmal an- und ausgehen). Bei den neueren Versionen des TL-WR841N(D) heißt die zu drückende Taste &amp;quot;WPS/RESET&amp;quot;. Danach wird die Sys-Lampe, unregelmäßig blinken (Siehe: http://www.nilsschneider.net/2013/02/10/freifunk-blinken.html).&lt;br /&gt;
#bei manchen Routern (z.B. bei älteren Modellen des WR841N) muss man jetzt das Netzwerkkabel am Router umstecken (blauer WAN Port)&lt;br /&gt;
#Abwarten, bis der PC eine neue LAN-Verbindung aufgebaut hat (DHCP ist aktiv)&lt;br /&gt;
#Adresse http://192.168.1.1 aufrufen. - Punkt &amp;quot;Knoten neu einrichten&amp;quot; anklicken &lt;br /&gt;
&lt;br /&gt;
[[File:config_sc1.jpg|center|thumb|800px]]&lt;br /&gt;
&lt;br /&gt;
Vergabe von Passwort für den Fernzugriff/Login. Dann auf &amp;quot;weiter&amp;quot; klicken &lt;br /&gt;
&lt;br /&gt;
[[File:config_sc3.jpg|center|thumb|800px]]&lt;br /&gt;
&lt;br /&gt;
bei Bedarf die Bandbreitenbegrenzung aktivieren und auf &amp;quot;weiter&amp;quot; klicken (Abb. 13)&lt;br /&gt;
&lt;br /&gt;
[[File:config_sc4.jpg|center|thumb|800px]]&lt;br /&gt;
&lt;br /&gt;
auf &amp;quot;Jetzt neustarten!&amp;quot; klicken (Abb. 14) - Der Router startet neu, die kommende Fehlermeldung kann ignoriert werden (Abb. 15)&lt;br /&gt;
#Netzwerkkabel trennen und im WLAN warten, bis das netz &amp;quot;kbu.freifunk.net&amp;quot; auftaucht&lt;br /&gt;
&lt;br /&gt;
[[File:config_sc5.jpg|center|thumb|800px]]&lt;br /&gt;
&lt;br /&gt;
'''WICHTIG: Verbinde keinesfalls Dein lokales Netz mit den gelben LAN-Ports des Freifunk-Routers. Nur der blaue Port darf für den Internet-Uplink genutzt werden! Sonst wird Dein lokales Netz Teil vom Freifunk-Netz und steht allen offen!'''&lt;/div&gt;</summary>
		<author><name>Linuxer</name></author>
	</entry>
	<entry>
		<id>https://kbu.freifunk.net/wiki/index.php?title=Mitmachen&amp;diff=3161</id>
		<title>Mitmachen</title>
		<link rel="alternate" type="text/html" href="https://kbu.freifunk.net/wiki/index.php?title=Mitmachen&amp;diff=3161"/>
		<updated>2015-01-17T09:31:50Z</updated>

		<summary type="html">&lt;p&gt;Linuxer: /* Anschluss ans Internet */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Kategorie:Mitmachen]]&lt;br /&gt;
{{TOCright}}&lt;br /&gt;
== Wie kann ich mitmachen?  ==&lt;br /&gt;
Entdecke die [[Nutzen|Vorteile]] von Freifunk und werde selbst Freifunker! Um selber einen Freifunk Router zu betreiben, sind folgende Schritte notwendig:&lt;br /&gt;
&lt;br /&gt;
#Router auswählen&lt;br /&gt;
#Freifunk Firmware auswählen&lt;br /&gt;
#Freifunk Firmware installieren&lt;br /&gt;
&lt;br /&gt;
Die Installation und Konfiguration ist ganz einfach und du benötigst keine technischen Kenntnisse. Wenn du dieser Anleitung folgst, kann eigentlich nichts schiefgehen. &lt;br /&gt;
&lt;br /&gt;
Falls du Fragen hast, kannst du dich jederzeit an unsere [[Mailingliste|E-Mail]] wenden uns im [[IRC]] besuchen oder zu einem unserer Treffen kommen. Oder werfe mal einen Blick in die [[FAQ]].&lt;br /&gt;
&lt;br /&gt;
Los geht's!&lt;br /&gt;
&lt;br /&gt;
== Router auswählen ==&lt;br /&gt;
[[File:tl-wr841n.jpg|right|thumb|100px|TL-WR841N(D)]]&lt;br /&gt;
[[File:tl-wdr3600.jpg|right|thumb|100px|TL-WDR3600]]&lt;br /&gt;
Cool, dass du selbst Freifunker_in werden willst!&lt;br /&gt;
&lt;br /&gt;
Als Einstieg bietet sich der recht kostengünstige Router TP-Link TL-WR841N an, der für ca. 20,-€ erhältlich ist. Dieser funkt im weit verbreiteten 2.4 GHz Frequenzband. &lt;br /&gt;
&lt;br /&gt;
Wer neuere Smartphones/Tablets/Notebooks/etc. im 5 GHz-Frequenzband via Freifunk versorgen möchte, kann hierzu z.B. den  TP-Link  TL-WDR3600 (für ca. 45,-€) einsetzen, welcher beide Fequenzbänder unterstützt.&lt;br /&gt;
&lt;br /&gt;
Wir unterstützen auch noch weitere Router, schau einfach mal in die Tabelle im nächsten Schritt.&lt;br /&gt;
&lt;br /&gt;
== Freifunk Firmware auswählen ==&lt;br /&gt;
Für den Router brauchst du die sogenannte Firmware (Betriebssystem), die du auf deinem Router installieren musst. &lt;br /&gt;
Die Firmware ist vom Router-Modell abhängig. Das Modell und die Versionsnummer deines Routers findest du auf der Rückseite des Gerätes. &lt;br /&gt;
&lt;br /&gt;
[[Datei:wr741nd_pi3.jpg||400px|thumb|center]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Bitte wähle die Firmware für deinen Router anhand des Models und der Version:&lt;br /&gt;
&lt;br /&gt;
{|class=&amp;quot;wikitable center&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|[[File:tl-wr740n.jpg|center|thumb|200px]]&lt;br /&gt;
|[[File:tl-wr740n.jpg|center|thumb|200px]]&lt;br /&gt;
|[[File:tl-wr841n.jpg|center|thumb|200px]]&lt;br /&gt;
|[[File:tl-wr842n.jpg|center|thumb|200px]]&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;text-align:center&amp;quot; | TL-WR740N(D) &amp;lt;br&amp;gt; [https://kbu.freifunk.net/files/release/1.2.1/ff-kbu-tl-wr740n-v4-1.2.1a.bin v4.x] (außer v4.27)&lt;br /&gt;
|style=&amp;quot;text-align:center&amp;quot; | TL-WR741N(D) &amp;lt;br&amp;gt; [https://kbu.freifunk.net/files/release/1.2.1/ff-kbu-tl-wr741nd-v1-1.2.1a.bin v1.x], [https://kbu.freifunk.net/files/release/1.2.1/ff-kbu-tl-wr741nd-v2-1.2.1a.bin v2.x], [https://kbu.freifunk.net/files/release/1.2.1/ff-kbu-tl-wr741nd-v4-1.2.1a.bin v4.x]   &lt;br /&gt;
|style=&amp;quot;text-align:center&amp;quot; | TL-WR841N(D) &amp;lt;br&amp;gt; [https://kbu.freifunk.net/files/release/1.2.1/ff-kbu-tl-wr841nd-v3-1.2.1a.bin v.3.x], [https://kbu.freifunk.net/files/release/1.2.1/ff-kbu-tl-wr841nd-v5-1.2.1a.bin v5.x], [https://kbu.freifunk.net/files/release/1.2.1/ff-kbu-tl-wr841nd-v7-1.2.1a.bin v7.x], [https://kbu.freifunk.net/files/release/1.2.1/ff-kbu-tl-wr841n-v8-1.2.1a.bin v8.x], [https://kbu.freifunk.net/files/release/1.2.1/ff-kbu-tl-wr841n-v9-1.2.1b.bin v9.x]    &lt;br /&gt;
|style=&amp;quot;text-align:center&amp;quot; | TL-WR842N(D) &amp;lt;br&amp;gt; [https://kbu.freifunk.net/files/release/1.2.1/ff-kbu-tl-wr842n-v1-1.2.1a.bin v1.x], [https://kbu.freifunk.net/files/release/1.2.1/ff-kbu-tl-wr842n-v2-1.2.1b.bin v2.x] &lt;br /&gt;
|-&lt;br /&gt;
|[[File:tl-wr1043nd.jpg|center|thumb|200px]]&lt;br /&gt;
|[[File:tl-wdr3500.jpg|center|thumb|200px]]&lt;br /&gt;
|[[File:tl-wdr3600.jpg|center|thumb|200px]]&lt;br /&gt;
|[[File:tl-wdr4300.jpg|center|thumb|200px]]&lt;br /&gt;
|-&lt;br /&gt;
|style=&amp;quot;text-align:center&amp;quot; | TL-WR1043ND &amp;lt;br&amp;gt;[https://kbu.freifunk.net/files/release/1.2.1/ff-kbu-tl-wr1043nd-v1-1.2.1a.bin v1.x] &lt;br /&gt;
|style=&amp;quot;text-align:center&amp;quot; | TL-WDR3500 &amp;lt;br&amp;gt;[https://kbu.freifunk.net/files/release/1.2.1/ff-kbu-tl-wdr3500-v1-1.2.1b.bin v1.x] &lt;br /&gt;
|style=&amp;quot;text-align:center&amp;quot; | TL-WDR3600 &amp;lt;br&amp;gt;[https://kbu.freifunk.net/files/release/1.2.1/ff-kbu-tl-wdr3600-v1-1.2.1a.bin v1.x] &lt;br /&gt;
|style=&amp;quot;text-align:center&amp;quot; | TL-WDR4300 &amp;lt;br&amp;gt;[https://kbu.freifunk.net/files/release/1.2.1/ff-kbu-tl-wdr4300-v1-1.2.1a.bin v1.x]  &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Hinweis: Das optionale (D) in der Produktbezeichnung steht für die Produktvariante mit auswechselbaren Antennen, was den Router ein paar Euro teuerer macht.&lt;br /&gt;
&lt;br /&gt;
Nach dem Herunterladen der Firmware raten wir Dir dazu die [[Überprüfen der Signatur|Signatur der Datei zu überprüfen]]. Auch sollte man nicht vergessen wo die Firmware Datei auf eueren Datenträger gespeichert wurde, da diese im nächsten Schritt gebraucht wird. &lt;br /&gt;
&lt;br /&gt;
[[Kategorie:Mitmachen]]&lt;br /&gt;
&lt;br /&gt;
== Freifunk Firmware installieren ==&lt;br /&gt;
=== Router mit dem Computer verbinden ===&lt;br /&gt;
Dafür solltest Du Deinen Router mit Strom versorgen sowie die Netzwerkkarte deines PC mit einen der gelben Ports des Routers verbinden, hier reicht ein handelsübliches LAN Kabel. Am PC muss die Netzwerkkarte auf Automatische IP-Adresse beziehen (DHCP) eingestellt sein.&lt;br /&gt;
&lt;br /&gt;
=== Freifunk Firmware einspielen ===&lt;br /&gt;
Jetzt kannst du den Router einfach über den Browser konfigurieren.&lt;br /&gt;
&lt;br /&gt;
Dazu rufst du in deinen Browser folgende Adresse auf: http://192.168.0.1&lt;br /&gt;
&lt;br /&gt;
Bevor du weitermachst, musst du dich erst anmelden. Die wenig inspirierte Username / Passwort Kombination ist: admin / admin&lt;br /&gt;
&lt;br /&gt;
Dein Browserfenster müsste nun so aussehen – Folge hier dem Link &amp;quot;System Tools&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[File:TP_link_01_start.png|center|thumb|800px]]&lt;br /&gt;
&lt;br /&gt;
Als nächste wählst du aus dem Menü &amp;quot;Firmware Upgrade&amp;quot; (1). Danach kannst du die vorhin (in Schritt 2) geladene Datei zum Hochladen auswählen (2). Nach einem Klick auf &amp;quot;Upgrade&amp;quot; (3) beginnt der Prozess.&lt;br /&gt;
&lt;br /&gt;
[[File:TP_link_02_firmware.png|center|thumb|800px]]&lt;br /&gt;
&lt;br /&gt;
Du musst noch einmal kurz bestätigen …&lt;br /&gt;
&lt;br /&gt;
[[File:TP_link_03_firmware_file.png|center|thumb|800px]]&lt;br /&gt;
&lt;br /&gt;
… und die Installation läuft. Während die Installation läuft, zieh bitte auf keinen Fall den Stecker oder das Netzwerk-Kabel – denn dann ist dein Router hinüber.&lt;br /&gt;
&lt;br /&gt;
[[File:TP_link_04_upgrade_progress.png|center|thumb|800px]]&lt;br /&gt;
&lt;br /&gt;
 '''Bei TL-WR841N v8.4:''' Beim Flashen über das Firmware-Upgrade der Original-Firmware tritt ggf. folgender Fehler auf:&lt;br /&gt;
   ''Error code: 23002''&lt;br /&gt;
   ''The uploaded file name is too long!''&lt;br /&gt;
 Hier hilft einfaches Umbenennen der herunter geladenen Freifunk-Firmware.&lt;br /&gt;
&lt;br /&gt;
Nachdem die Firmware fertig eingespielt ist, startet der Router automatisch neu.&lt;br /&gt;
&lt;br /&gt;
Dass der Router neu startet merkst du auch am kurzen Aufblinken der Lämpchen an deinem Router. &lt;br /&gt;
&lt;br /&gt;
[[File:TP_link_05_firmware_reboot_finished.png|center|thumb|800px]]&lt;br /&gt;
&lt;br /&gt;
Jetzt ist der Router nicht mehr unter der angegeben Adresse sichtbar und eine Fehlermeldung erscheint. Das ist gut so. Denn nun läuft nicht mehr die alte Firmware sondern die neue, tolle Freifunk Firmware auf deinem Router. &lt;br /&gt;
&lt;br /&gt;
=== Anschluss ans Internet ===&lt;br /&gt;
Nach dem automatischen Neustart ist der Router direkt im Normalbetrieb. Wenn keine weiteren Freifunk-Router in der dirkten Umgebung sind, muss Du allerdings den Freifunk-Router noch per Ethernetkabel mit Deinem Internet-Router verbinden, damit der Freifunk-Router auch Internet-Zugriff gewährt. Dazu wird der '''blaue''' Port des Freiunk-Routers mit dem Gästenetz-Port Deines Internet-Routers verbunden. Falls Du dort kein Gästenetz eingerichtet hast oder das gar nicht geht, tut's auch ein &amp;quot;normaler&amp;quot; LAN-Port Deines Routers, wo Du auch deinen Laptop etc. einstöpseln würdest. Ein Gästenetz wäre nur noch etwas sicherer.&lt;br /&gt;
&lt;br /&gt;
'''WICHTIG:''' Wer hier in einer Firma oder gar einer städtischen Einrichtung ''mal eben'' einen Freifunk-Router an deren Intranet anschließt, schadet damit unter Umständen dem Freifunk-Projekt, da das nicht unbemerkt bleibt und fast immer gegen interne Sicherheitsrichtlinien verstößt. Sowas muss von der jeweiligen IT-Leitung explizit erlaubt werden. Wir wollen die Verantwortlichen nicht verärgern sondern überzeugen!&lt;br /&gt;
&lt;br /&gt;
=== Sinnvolle Ergänzungen ===&lt;br /&gt;
Wer möchte kann noch&lt;br /&gt;
* seinen Router auf der [http://map.kbu.freifunk.net/geomap.html Karte] [[Registrierung des Nodes|verlinken]]&lt;br /&gt;
* nachschauen wie man in den [[Config Mode]] kommt und was man da machen kann&lt;br /&gt;
* technisch tiefer einsteigen und auf der [[Pimp my Node]] Seite vorbeischauen&lt;br /&gt;
&lt;br /&gt;
=== Fragen? ===&lt;br /&gt;
&lt;br /&gt;
Solltest Du Fragen zur Einrichtung des Routers haben oder Einträge deines Knoten ändern wollen, schreibe gerne an unsere [[Mailingliste|E-Mail]]. Gerne kannst Du auch bei unseren regelmäßigen Treffen in Bonn oder Köln vorbeischauen.&lt;/div&gt;</summary>
		<author><name>Linuxer</name></author>
	</entry>
	<entry>
		<id>https://kbu.freifunk.net/wiki/index.php?title=Pimp_my_Node&amp;diff=3160</id>
		<title>Pimp my Node</title>
		<link rel="alternate" type="text/html" href="https://kbu.freifunk.net/wiki/index.php?title=Pimp_my_Node&amp;diff=3160"/>
		<updated>2015-01-17T09:29:44Z</updated>

		<summary type="html">&lt;p&gt;Linuxer: /* Arbeiten auf der Shell */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Kategorie:Mitmachen]]&lt;br /&gt;
== Netztheorie/Technik und Entwicklung ==&lt;br /&gt;
Vertiefung&lt;br /&gt;
&lt;br /&gt;
*[[FSM-Dynamisches-Bridging]] &lt;br /&gt;
*[[Batman_adv]]&lt;br /&gt;
*[[Entwicklung]]&lt;br /&gt;
*[[Firmware|Firmware/Betriebssystem]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Arbeiten auf der Shell ==&lt;br /&gt;
Vorraussetzung für folgende Befehle sind eine Verbindung mit dem KBU Freifunk Netz sowie ein Terminal / Shell. &lt;br /&gt;
Vergesst nicht eth0 gegen die Bezeichnung eures Netzwerkinterfaces, welches am Freifunk hängt zu tauschen. &lt;br /&gt;
Bei Macbooks via Wlan z.B. &amp;quot;en1&amp;quot; statt &amp;quot;eth0&amp;quot;! Die link local Adresse der jeweiligen node findet ihr auf der [http://register.kbu.freifunk.net KBU Register] Seite. Um Dateien auf dem Node ändern zu können, steht als einziger Editor ''vi'' bzw. ''vim'' zur Verfügung.&lt;br /&gt;
 &lt;br /&gt;
=== IPv6 ping ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ping6 &amp;lt;link local Adresse des Nodes&amp;gt;%eth0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== IPv6 ssh ===&lt;br /&gt;
Hinter der link local Adresse &amp;quot;%&amp;quot; + &amp;quot;Netzwerk Interface an eurer Kiste&amp;quot; (Hier im Beispiel eth0)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ssh root@&amp;lt;link local Adresse des Nodes&amp;gt;%eth0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Hostnamen des Nodes ändern ===&lt;br /&gt;
Standardmäßig ist der Hostname des Nodes gleich der MAC-Adresse des Routers. Möchte man den Hostnamen ändern, so kann man dies in der Datei ''/etc/config/system''. Hier gibt es gleich als ersten Punkt ''config system'' und dort findet man den Eintrag&lt;br /&gt;
&amp;lt;pre&amp;gt;option hostname 'aa:bb:cc:dd:ee:ff'&amp;lt;/pre&amp;gt;&lt;br /&gt;
Hier kann man jetzt aa:bb:cc:dd:ee:ff (diese Adresse sieht bei jedem Node anders aus!) zu dem gewünschten Hostnamen ändern. Eine Änderung wird erst nach dem Kommando ''reboot'' (danach startet der Node neu) wirksam.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== ntp-Bug in Firmware 1.2.1b beseitigen ===&lt;br /&gt;
Falls sich ein Node-Betreiber wundert, warum sein Node keine Statistiken liefert und es ein Mesh-Only-Node ist (d. h. ohne eigenen Uplink zum Internet), so liegt das an einem Bug in der Firmware. Diesen kann man jedoch mit einfachen Mitteln beheben:&lt;br /&gt;
Editiert wird die Datei ''/etc/config/system''. Dort findet man einen Eintrag ''config timeserver 'ntp'''. Defaultmäßig stehen hier 4 Zeitserver von openwrt (in der Form x.openwrt.pool.ntp.org). Diese müssen bei Mesh-Only-Nodes in IPv6-Adressen geändert werden, und zwar, dass der komplette Konfigurationspunkt wie folgt aussieht:&lt;br /&gt;
&amp;lt;pre&amp;gt;config timeserver 'ntp'&lt;br /&gt;
        list server '2a03:4000:2:494::2'&lt;br /&gt;
        list server '2a01:4f8:161:2461:e4::1'&lt;br /&gt;
        list server '2a02:180:1:1::551f:bb4b'&lt;br /&gt;
        option enabled '1'&lt;br /&gt;
        option enable_server '0'&amp;lt;/pre&amp;gt;&lt;br /&gt;
Auch hier werden die Änderungen erst nach einem Neustart des Nodes mittels ''reboot'' wirksam.&lt;br /&gt;
Dieser Bug soll mit dem nächsten Firmware-Release behoben sein. Man kann die Eintragungen auch in den Nodes mit Internet-Uplink ändern ohne die Funktion zu beeinträchtigen.&lt;br /&gt;
&lt;br /&gt;
=== public key auf Node aufspielen ===&lt;br /&gt;
Möchte man sich nicht immer per Paßwort auf den eigenen Node verbinden, so kann man das auch mit einem Schlüsselpaar realisieren. Falls man danach noch die Authentifizierung per Paßwort abschaltet (s. nächster Punkt), dann hat man einen sicheren Zugriff auf seinen Node realisiert.&lt;br /&gt;
Voraussetzung ist natürlich, dass man schon ein gültiges Schlüsselpaar besitzt. Falls dem so ist, so genügt es, den öffentlichen Schlüssel (public key) auf den Node zu übertragen. Das kann mit Hilfe von scp (secure copy) passieren:&lt;br /&gt;
&amp;lt;pre&amp;gt;scp id_rsa.pub root@&amp;lt;link local Adresse des Nodes&amp;gt;%eth0:/etc/dropbear/authorized_keys&amp;lt;/pre&amp;gt;&lt;br /&gt;
Hierbei steht id_rsa.pub für die Datei, die den public key enthält. '''ACHTUNG:''' Obiger Befehl ersetzt die eventuell schon vorhandene Datei authorized_keys auf dem Node. Das ist ok für den ersten Key. Sollen mehrere Keys eingetragen werden (z. B. weil man außer vom Laptop auch vom Tablet auf seinen Node verbinden möchte), muß der zusätzliche Key per vi(m) auf dem Node direkt editiert werden.&lt;br /&gt;
Auch hier werden die Änderungen nach einem Neustart des Routers mittels ''reboot'' übernommen.&lt;br /&gt;
&lt;br /&gt;
=== Paßwort-Authentifizierung abstellen ===&lt;br /&gt;
'''Wichtig:''' Als erstes prüfen, ob man sich mit seinem Schlüsselpaar auf den Router einloggen kann. Man sollte jetzt nicht mehr nach dem Paßwort gefragt werden (allerhöchstens nach dem Paßwort, welches den privaten Schlüssel schützt).&lt;br /&gt;
Falls das erfolgreich funktioniert, kann man die Datei ''/etc/config/dropbear'' wie folgt ändern:&lt;br /&gt;
&amp;lt;pre&amp;gt;config dropbear&lt;br /&gt;
        option PasswordAuth 'off'&lt;br /&gt;
        option RootPasswordAuth 'off'&lt;br /&gt;
        option Port         '22'&lt;br /&gt;
#       option BannerFile   '/etc/banner'&amp;lt;/pre&amp;gt;&lt;br /&gt;
Nach einem Neustart des Routers mittels ''reboot'' sollte es jetzt nur noch möglich sein, sich mit seinem Schlüsselpaar auf den Rotuer einzuloggen.&lt;br /&gt;
&lt;br /&gt;
=== Firmware aktualisieren ===&lt;br /&gt;
==== Node mit uplink ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ssh root@&amp;lt;link local Adresse des Nodes&amp;gt;%eth0              // SSH Verbindung zum Node aufbauen&lt;br /&gt;
cd ../tmp/                                              // in das Verzeichnis &amp;quot;tmp&amp;quot; wechseln&lt;br /&gt;
free                                                    // Freien Speicher prüfen&lt;br /&gt;
wget http://pfad/zur/firmware.bin                       // Firmware herunterladen oder&lt;br /&gt;
sysupgrade -v firmware.bin                              // Firmwareupgrade durchführen&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Achtung''': Beim Download der Firmware via wget kann auf dem Router die Integrität der Firmware nicht geprüft werden, da gpg i.d.R. auf den Routern nicht verfügbar ist. Deshalb ist es sicherer, den oben beschriebenen Weg zu wählen, oder die geprüfte Firmware per scp (s.u.) auf den Router zu kopieren. &lt;br /&gt;
&lt;br /&gt;
==== Node ohne uplink (mesh node) ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
scp -6 -v -r firmware.bin root@\[&amp;lt;link local Adresse des Nodes&amp;gt;%eth0\]:../tmp/          // Firmware auf den node schieben (md5 checken!)&lt;br /&gt;
ssh root@&amp;lt;link local Adresse des Nodes&amp;gt;%eth0 &lt;br /&gt;
cd ../tmp/  &lt;br /&gt;
sysupgrade -v firmware.bin  &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== LAN Kopplung ===&lt;br /&gt;
Eine LAN Kopplung kann in manchen Fällen sinnvoll sein, besonders wenn man einen VLAN fähigen Switch und eine bestehende Ntzwerkverkabelung hat. Hier werden die Switchports angwiesen auch über LAN zu meshen.&lt;br /&gt;
&lt;br /&gt;
==== TL-WR841ND ====&lt;br /&gt;
03/2014: Hier wird über die alle 4 LAN Ports gemeshed, Mesh über WLAN kann man optional noch ausschalten! Folgende Config stammt von rampone/FF-KBU und wurde an 2 TL-WR841N v.8 getestet mit KBU-FF-Firmware 1.1.&lt;br /&gt;
&lt;br /&gt;
''vim /etc/config/network'' - Folgende Änderungen wurden an der FF-Firmware 1.0 vorgenommen:&lt;br /&gt;
#config interface 'freifunk' -&amp;gt; Hier haben wir eth0 aus &amp;quot;ifname&amp;quot; rausgenommen, damit kein ff aus dem eth0 (switch) rauskommt.&lt;br /&gt;
#config interface 'mesh_lan' -&amp;gt; kompl. codeblock hinzugefügt, dieser bewirkt das über eth0 (switch) gemeshed wird. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
config interface 'loopback'&lt;br /&gt;
	option ifname 'lo'&lt;br /&gt;
	option proto 'static'&lt;br /&gt;
	option ipaddr '127.0.0.1'&lt;br /&gt;
	option netmask '255.0.0.0'&lt;br /&gt;
&lt;br /&gt;
config interface 'wan'&lt;br /&gt;
	option ifname 'eth0'&lt;br /&gt;
	option proto 'dhcp'&lt;br /&gt;
	option type 'bridge'&lt;br /&gt;
	option accept_ra '0'&lt;br /&gt;
	option auto '1'&lt;br /&gt;
&lt;br /&gt;
config switch&lt;br /&gt;
	option name 'switch0'&lt;br /&gt;
	option reset '1'&lt;br /&gt;
	option enable_vlan '1'&lt;br /&gt;
&lt;br /&gt;
config switch_vlan&lt;br /&gt;
	option device 'switch0'&lt;br /&gt;
	option vlan '1'&lt;br /&gt;
	option ports '0 1 2 3 4'&lt;br /&gt;
&lt;br /&gt;
config interface 'freifunk'&lt;br /&gt;
	option ifname 'bat0'		#LAN-Kopplung: ifname eth1 entfernt&lt;br /&gt;
	option type 'bridge'&lt;br /&gt;
	option proto 'none'&lt;br /&gt;
	option auto '1'&lt;br /&gt;
	option accept_ra '1'&lt;br /&gt;
	option macaddr '10:fe:ed:f1:53:84'&lt;br /&gt;
&lt;br /&gt;
config interface 'mesh'&lt;br /&gt;
	option proto 'batadv'&lt;br /&gt;
	option mtu '1528'&lt;br /&gt;
	option mesh 'bat0'&lt;br /&gt;
&lt;br /&gt;
config interface 'mesh_vpn'&lt;br /&gt;
	option ifname 'mesh-vpn'&lt;br /&gt;
	option proto 'batadv'&lt;br /&gt;
	option mesh 'bat0'&lt;br /&gt;
	option macaddr '12:fe:ed:f2:53:84'&lt;br /&gt;
&lt;br /&gt;
config interface 'mesh_lan'		#LAN-Kopplung: Codeblock mesh-lan hinzugefuegt&lt;br /&gt;
	option ifname 'eth1'&lt;br /&gt;
	option proto 'batadv'&lt;br /&gt;
	option mesh 'bat0'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''vim /etc/config/wireless'' - Hier wird der Codeblock, der für das Mesh über WLAN verantwortlich ist auskommentiert (optional)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#config wifi-iface 'wifi_mesh'&lt;br /&gt;
#       option device 'radio0'&lt;br /&gt;
#       option network 'mesh'&lt;br /&gt;
#       option mode 'adhoc'&lt;br /&gt;
#       option ssid '02:d1:11:37:fc:39'&lt;br /&gt;
#       option bssid '02:d1:11:37:fc:39&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== TL-WDR4300 ====&lt;br /&gt;
Das gleiche nochmal für den 4300er&lt;br /&gt;
&lt;br /&gt;
''vim /etc/config/network''&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
config interface 'loopback'&lt;br /&gt;
	option ifname 'lo'&lt;br /&gt;
	option proto 'static'&lt;br /&gt;
	option ipaddr '127.0.0.1'&lt;br /&gt;
	option netmask '255.0.0.0'&lt;br /&gt;
&lt;br /&gt;
config interface 'wan'&lt;br /&gt;
	option ifname 'eth0.2'&lt;br /&gt;
	option proto 'dhcp'&lt;br /&gt;
	option type 'bridge'&lt;br /&gt;
	option accept_ra '0'&lt;br /&gt;
	option auto '1'&lt;br /&gt;
	option macaddr 'a2:f3:c1:65:81:cd'&lt;br /&gt;
&lt;br /&gt;
config switch&lt;br /&gt;
	option name 'eth0'&lt;br /&gt;
	option reset '1'&lt;br /&gt;
	option enable_vlan '1'&lt;br /&gt;
&lt;br /&gt;
config switch_vlan&lt;br /&gt;
	option device 'eth0'&lt;br /&gt;
	option vlan '1'&lt;br /&gt;
	option ports '0t 2 3 4 5'&lt;br /&gt;
&lt;br /&gt;
config switch_vlan&lt;br /&gt;
	option device 'eth0'&lt;br /&gt;
	option vlan '2'&lt;br /&gt;
	option ports '0t 1'&lt;br /&gt;
&lt;br /&gt;
config interface 'freifunk'&lt;br /&gt;
	option ifname 'bat0'		#LAN-Kopplung: ifname eth0.1 entfernt&lt;br /&gt;
	option type 'bridge'&lt;br /&gt;
	option proto 'none'&lt;br /&gt;
	option auto '1'&lt;br /&gt;
	option accept_ra '1'&lt;br /&gt;
	option macaddr 'a0:f3:c1:64:81:cc'&lt;br /&gt;
&lt;br /&gt;
config interface 'mesh'&lt;br /&gt;
	option proto 'batadv'&lt;br /&gt;
	option mtu '1528'&lt;br /&gt;
	option mesh 'bat0'&lt;br /&gt;
&lt;br /&gt;
config interface 'mesh_vpn'&lt;br /&gt;
	option ifname 'mesh-vpn'&lt;br /&gt;
	option proto 'batadv'&lt;br /&gt;
	option mesh 'bat0'&lt;br /&gt;
	option macaddr 'a2:f3:c1:65:81:cc'&lt;br /&gt;
&lt;br /&gt;
config interface 'mesh_lan'		#LAN-Kopplung: Codeblock mesh-lan hinzugefuegt&lt;br /&gt;
        option ifname 'eth0.1'&lt;br /&gt;
        option proto 'batadv'&lt;br /&gt;
        option mesh 'bat0'&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Einsperren des Freifunk-Routers in eine DMZ ==&lt;br /&gt;
&lt;br /&gt;
Wer seinen Freifunk-Router einsperren und/oder die Bandbreite begrenzen möchte, kann dies am einfachsten tun, indem er ihn an seiner Firewall an einen eigenen Netzwerkport klemmt und diesen dann als DMZ konfiguriert. Ein KBU-Freifunk-Router muß zur Zeit im LAN DHCP, DNS, im Internet NTP sowie mit den [[fastd]]-Knoten reden können. Folgendes Bespiel für eine iptables-Firewall nimmt an, dass der Freifunk-Router über eth2 angeschlossen ist:&lt;br /&gt;
&lt;br /&gt;
 # eth2 darf nur dns, ntp, dhcp und ansonsten mit den fastdX reden&lt;br /&gt;
 iptables -i eth2 -A INPUT   -p udp --dport 67:68 --sport 67:68 -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A FORWARD -p udp --dport 67:68 --sport 67:68 -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A INPUT   -p udp --dport 53                  -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A INPUT   -p tcp --dport 53                  -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A INPUT   -p tcp --dport 123                 -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A FORWARD -p udp --dport 53                  -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A FORWARD -p tcp --dport 53                  -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A FORWARD -p tcp --dport 123                 -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A FORWARD --dst 176.9.41.253                 -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A FORWARD --src 176.9.41.253                 -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A FORWARD --dst 178.63.59.41                 -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A FORWARD --src 178.63.59.41                 -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A FORWARD --dst 37.120.169.214               -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A FORWARD --src 37.120.169.214               -j ACCEPT &lt;br /&gt;
 iptables -i eth2 -A FORWARD --dst 37.221.195.47                -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A FORWARD --src 37.221.195.47                -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A FORWARD --dst 78.46.68.75                  -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A FORWARD --src 78.46.68.75                  -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A FORWARD --dst 84.201.35.206                -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A FORWARD --src 84.201.35.206                -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A INPUT                                      -j DROP&lt;br /&gt;
 iptables -i eth2 -A FORWARD                                    -j DROP&lt;br /&gt;
 # eth2 darf maximal 2000 kbit/s ein- und ausgehenden traffic machen&lt;br /&gt;
 wondershaper eth2 2000 2000&lt;br /&gt;
&lt;br /&gt;
Prinzipiell könnte man den Traffic noch weiter einschränken. DHCP und DNS müssen nur zum DHCP- bzw. DNS-Server funktionieren und der Traffic zu den fastd-Servern ließe sich auf TCP Port 80 und UDP Port 10000 begrenzen.&lt;/div&gt;</summary>
		<author><name>Linuxer</name></author>
	</entry>
	<entry>
		<id>https://kbu.freifunk.net/wiki/index.php?title=Pimp_my_Node&amp;diff=3159</id>
		<title>Pimp my Node</title>
		<link rel="alternate" type="text/html" href="https://kbu.freifunk.net/wiki/index.php?title=Pimp_my_Node&amp;diff=3159"/>
		<updated>2015-01-17T09:27:00Z</updated>

		<summary type="html">&lt;p&gt;Linuxer: /* public key auf Node aufspielen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Kategorie:Mitmachen]]&lt;br /&gt;
== Netztheorie/Technik und Entwicklung ==&lt;br /&gt;
Vertiefung&lt;br /&gt;
&lt;br /&gt;
*[[FSM-Dynamisches-Bridging]] &lt;br /&gt;
*[[Batman_adv]]&lt;br /&gt;
*[[Entwicklung]]&lt;br /&gt;
*[[Firmware|Firmware/Betriebssystem]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Arbeiten auf der Shell ==&lt;br /&gt;
Vorraussetzung für folgende Befehle sind eine Verbindung mit dem KBU Freifunk Netz sowie ein Terminal / Shell. &lt;br /&gt;
Vergesst nicht eth0 gegen die Bezeichnung eures Netzwerkinterfaces, welches am Freifunk hängt zu tauschen. &lt;br /&gt;
Bei Macbooks via Wlan z.B. &amp;quot;en1&amp;quot; statt &amp;quot;eth0&amp;quot;! Die link local Adresse der jeweiligen node findet ihr auf der [http://register.kbu.freifunk.net KBU Register] Seite. Um Dateien auf dem Node ändern zu können, steht als einziger Editor ''vi'' bzw. ''vim'' zur Verfügung.&lt;br /&gt;
 &lt;br /&gt;
=== IPv6 ping ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ping6 &amp;lt;link local adress des node&amp;gt;%eth0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== IPv6 ssh ===&lt;br /&gt;
Hinter der link local Adresse &amp;quot;%&amp;quot; + &amp;quot;Netzwerk Interface an eurer Kiste&amp;quot; (Hier im Beispiel eth0)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ssh root@&amp;lt;link local adress des node&amp;gt;%eth0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Hostnamen des Nodes ändern ===&lt;br /&gt;
Standardmäßig ist der Hostname des Nodes gleich der MAC-Adresse des Routers. Möchte man den Hostnamen ändern, so kann man dies in der Datei ''/etc/config/system''. Hier gibt es gleich als ersten Punkt ''config system'' und dort findet man den Eintrag&lt;br /&gt;
&amp;lt;pre&amp;gt;option hostname 'aa:bb:cc:dd:ee:ff'&amp;lt;/pre&amp;gt;&lt;br /&gt;
Hier kann man jetzt aa:bb:cc:dd:ee:ff (diese Adresse sieht bei jedem Node anders aus!) zu dem gewünschten Hostnamen ändern. Eine Änderung wird erst nach dem Kommando ''reboot'' (danach startet der Node neu) wirksam.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== ntp-Bug in Firmware 1.2.1b beseitigen ===&lt;br /&gt;
Falls sich ein Node-Betreiber wundert, warum sein Node keine Statistiken liefert und es ein Mesh-Only-Node ist (d. h. ohne eigenen Uplink zum Internet), so liegt das an einem Bug in der Firmware. Diesen kann man jedoch mit einfachen Mitteln beheben:&lt;br /&gt;
Editiert wird die Datei ''/etc/config/system''. Dort findet man einen Eintrag ''config timeserver 'ntp'''. Defaultmäßig stehen hier 4 Zeitserver von openwrt (in der Form x.openwrt.pool.ntp.org). Diese müssen bei Mesh-Only-Nodes in IPv6-Adressen geändert werden, und zwar, dass der komplette Konfigurationspunkt wie folgt aussieht:&lt;br /&gt;
&amp;lt;pre&amp;gt;config timeserver 'ntp'&lt;br /&gt;
        list server '2a03:4000:2:494::2'&lt;br /&gt;
        list server '2a01:4f8:161:2461:e4::1'&lt;br /&gt;
        list server '2a02:180:1:1::551f:bb4b'&lt;br /&gt;
        option enabled '1'&lt;br /&gt;
        option enable_server '0'&amp;lt;/pre&amp;gt;&lt;br /&gt;
Auch hier werden die Änderungen erst nach einem Neustart des Nodes mittels ''reboot'' wirksam.&lt;br /&gt;
Dieser Bug soll mit dem nächsten Firmware-Release behoben sein. Man kann die Eintragungen auch in den Nodes mit Internet-Uplink ändern ohne die Funktion zu beeinträchtigen.&lt;br /&gt;
&lt;br /&gt;
=== public key auf Node aufspielen ===&lt;br /&gt;
Möchte man sich nicht immer per Paßwort auf den eigenen Node verbinden, so kann man das auch mit einem Schlüsselpaar realisieren. Falls man danach noch die Authentifizierung per Paßwort abschaltet (s. nächster Punkt), dann hat man einen sicheren Zugriff auf seinen Node realisiert.&lt;br /&gt;
Voraussetzung ist natürlich, dass man schon ein gültiges Schlüsselpaar besitzt. Falls dem so ist, so genügt es, den öffentlichen Schlüssel (public key) auf den Node zu übertragen. Das kann mit Hilfe von scp (secure copy) passieren:&lt;br /&gt;
&amp;lt;pre&amp;gt;scp id_dsa.pub root@&amp;lt;link local Adresse des nodes&amp;gt;%eth0:/etc/dropbear/authorized_keys&amp;lt;/pre&amp;gt;&lt;br /&gt;
Hierbei steht id_dsa.pub für die Datei, die den public key enthält. '''ACHTUNG:''' Obiger Befehl ersetzt die eventuell schon vorhandene Datei authorized_keys auf dem Node. Das ist ok für den ersten Key. Sollen mehrere Keys eingetragen werden (z. B. weil man außer vom Laptop auch vom Tablet auf seinen Node verbinden möchte), muß der zusätzliche Key per vi(m) auf dem Node direkt editiert werden.&lt;br /&gt;
Auch hier werden die Änderungen nach einem Neustart des Routers mittels ''reboot'' übernommen.&lt;br /&gt;
&lt;br /&gt;
=== Paßwort-Authentifizierung abstellen ===&lt;br /&gt;
'''Wichtig:''' Als erstes prüfen, ob man sich mit seinem Schlüsselpaar auf den Router einloggen kann. Man sollte jetzt nicht mehr nach dem Paßwort gefragt werden (allerhöchstens nach dem Paßwort, welches den privaten Schlüssel schützt).&lt;br /&gt;
Falls das erfolgreich funktioniert, kann man die Datei ''/etc/config/dropbear'' wie folgt ändern:&lt;br /&gt;
&amp;lt;pre&amp;gt;config dropbear&lt;br /&gt;
        option PasswordAuth 'off'&lt;br /&gt;
        option RootPasswordAuth 'off'&lt;br /&gt;
        option Port         '22'&lt;br /&gt;
#       option BannerFile   '/etc/banner'&amp;lt;/pre&amp;gt;&lt;br /&gt;
Nach einem Neustart des Routers mittels ''reboot'' sollte es jetzt nur noch möglich sein, sich mit seinem Schlüsselpaar auf den Rotuer einzuloggen.&lt;br /&gt;
&lt;br /&gt;
=== Firmware aktualisieren ===&lt;br /&gt;
==== Node mit uplink ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ssh root@&amp;lt;link local adress des node&amp;gt;%eth0              // SSH Verbindung zum Node aufbauen&lt;br /&gt;
cd ../tmp/                                              // in das Verzeichnis &amp;quot;tmp&amp;quot; wechseln&lt;br /&gt;
free                                                    // Freien Speicher prüfen&lt;br /&gt;
wget http://pfad/zur/firmware.bin                       // Firmware herunterladen oder&lt;br /&gt;
sysupgrade -v firmware.bin                              // Firmwareupgrade durchführen&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Achtung''': Beim Download der Firmware via wget kann auf dem Router die Integrität der Firmware nicht geprüft werden, da gpg i.d.R. auf den Routern nicht verfügbar ist. Deshalb ist es sicherer, den oben beschriebenen Weg zu wählen, oder die geprüfte Firmware per scp (s.u.) auf den Router zu kopieren. &lt;br /&gt;
&lt;br /&gt;
==== Node ohne uplink (mesh node) ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
scp -6 -v -r firmware.bin root@\[&amp;lt;linkloc&amp;gt;%eth0\]:../tmp/          // Firmware auf den node schieben (md5 checken!)&lt;br /&gt;
ssh root@&amp;lt;link local adress des node&amp;gt;%eth0 &lt;br /&gt;
cd ../tmp/  &lt;br /&gt;
sysupgrade -v firmware.bin  &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== LAN Kopplung ===&lt;br /&gt;
Eine LAN Kopplung kann in manchen Fällen sinnvoll sein, besonders wenn man einen VLAN fähigen Switch und eine bestehende Ntzwerkverkabelung hat. Hier werden die Switchports angwiesen auch über LAN zu meshen.&lt;br /&gt;
&lt;br /&gt;
==== TL-WR841ND ====&lt;br /&gt;
03/2014: Hier wird über die alle 4 LAN Ports gemeshed, Mesh über WLAN kann man optional noch ausschalten! Folgende Config stammt von rampone/FF-KBU und wurde an 2 TL-WR841N v.8 getestet mit KBU-FF-Firmware 1.1.&lt;br /&gt;
&lt;br /&gt;
''vim /etc/config/network'' - Folgende Änderungen wurden an der FF-Firmware 1.0 vorgenommen:&lt;br /&gt;
#config interface 'freifunk' -&amp;gt; Hier haben wir eth0 aus &amp;quot;ifname&amp;quot; rausgenommen, damit kein ff aus dem eth0 (switch) rauskommt.&lt;br /&gt;
#config interface 'mesh_lan' -&amp;gt; kompl. codeblock hinzugefügt, dieser bewirkt das über eth0 (switch) gemeshed wird. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
config interface 'loopback'&lt;br /&gt;
	option ifname 'lo'&lt;br /&gt;
	option proto 'static'&lt;br /&gt;
	option ipaddr '127.0.0.1'&lt;br /&gt;
	option netmask '255.0.0.0'&lt;br /&gt;
&lt;br /&gt;
config interface 'wan'&lt;br /&gt;
	option ifname 'eth0'&lt;br /&gt;
	option proto 'dhcp'&lt;br /&gt;
	option type 'bridge'&lt;br /&gt;
	option accept_ra '0'&lt;br /&gt;
	option auto '1'&lt;br /&gt;
&lt;br /&gt;
config switch&lt;br /&gt;
	option name 'switch0'&lt;br /&gt;
	option reset '1'&lt;br /&gt;
	option enable_vlan '1'&lt;br /&gt;
&lt;br /&gt;
config switch_vlan&lt;br /&gt;
	option device 'switch0'&lt;br /&gt;
	option vlan '1'&lt;br /&gt;
	option ports '0 1 2 3 4'&lt;br /&gt;
&lt;br /&gt;
config interface 'freifunk'&lt;br /&gt;
	option ifname 'bat0'		#LAN-Kopplung: ifname eth1 entfernt&lt;br /&gt;
	option type 'bridge'&lt;br /&gt;
	option proto 'none'&lt;br /&gt;
	option auto '1'&lt;br /&gt;
	option accept_ra '1'&lt;br /&gt;
	option macaddr '10:fe:ed:f1:53:84'&lt;br /&gt;
&lt;br /&gt;
config interface 'mesh'&lt;br /&gt;
	option proto 'batadv'&lt;br /&gt;
	option mtu '1528'&lt;br /&gt;
	option mesh 'bat0'&lt;br /&gt;
&lt;br /&gt;
config interface 'mesh_vpn'&lt;br /&gt;
	option ifname 'mesh-vpn'&lt;br /&gt;
	option proto 'batadv'&lt;br /&gt;
	option mesh 'bat0'&lt;br /&gt;
	option macaddr '12:fe:ed:f2:53:84'&lt;br /&gt;
&lt;br /&gt;
config interface 'mesh_lan'		#LAN-Kopplung: Codeblock mesh-lan hinzugefuegt&lt;br /&gt;
	option ifname 'eth1'&lt;br /&gt;
	option proto 'batadv'&lt;br /&gt;
	option mesh 'bat0'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''vim /etc/config/wireless'' - Hier wird der Codeblock, der für das Mesh über WLAN verantwortlich ist auskommentiert (optional)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#config wifi-iface 'wifi_mesh'&lt;br /&gt;
#       option device 'radio0'&lt;br /&gt;
#       option network 'mesh'&lt;br /&gt;
#       option mode 'adhoc'&lt;br /&gt;
#       option ssid '02:d1:11:37:fc:39'&lt;br /&gt;
#       option bssid '02:d1:11:37:fc:39&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== TL-WDR4300 ====&lt;br /&gt;
Das gleiche nochmal für den 4300er&lt;br /&gt;
&lt;br /&gt;
''vim /etc/config/network''&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
config interface 'loopback'&lt;br /&gt;
	option ifname 'lo'&lt;br /&gt;
	option proto 'static'&lt;br /&gt;
	option ipaddr '127.0.0.1'&lt;br /&gt;
	option netmask '255.0.0.0'&lt;br /&gt;
&lt;br /&gt;
config interface 'wan'&lt;br /&gt;
	option ifname 'eth0.2'&lt;br /&gt;
	option proto 'dhcp'&lt;br /&gt;
	option type 'bridge'&lt;br /&gt;
	option accept_ra '0'&lt;br /&gt;
	option auto '1'&lt;br /&gt;
	option macaddr 'a2:f3:c1:65:81:cd'&lt;br /&gt;
&lt;br /&gt;
config switch&lt;br /&gt;
	option name 'eth0'&lt;br /&gt;
	option reset '1'&lt;br /&gt;
	option enable_vlan '1'&lt;br /&gt;
&lt;br /&gt;
config switch_vlan&lt;br /&gt;
	option device 'eth0'&lt;br /&gt;
	option vlan '1'&lt;br /&gt;
	option ports '0t 2 3 4 5'&lt;br /&gt;
&lt;br /&gt;
config switch_vlan&lt;br /&gt;
	option device 'eth0'&lt;br /&gt;
	option vlan '2'&lt;br /&gt;
	option ports '0t 1'&lt;br /&gt;
&lt;br /&gt;
config interface 'freifunk'&lt;br /&gt;
	option ifname 'bat0'		#LAN-Kopplung: ifname eth0.1 entfernt&lt;br /&gt;
	option type 'bridge'&lt;br /&gt;
	option proto 'none'&lt;br /&gt;
	option auto '1'&lt;br /&gt;
	option accept_ra '1'&lt;br /&gt;
	option macaddr 'a0:f3:c1:64:81:cc'&lt;br /&gt;
&lt;br /&gt;
config interface 'mesh'&lt;br /&gt;
	option proto 'batadv'&lt;br /&gt;
	option mtu '1528'&lt;br /&gt;
	option mesh 'bat0'&lt;br /&gt;
&lt;br /&gt;
config interface 'mesh_vpn'&lt;br /&gt;
	option ifname 'mesh-vpn'&lt;br /&gt;
	option proto 'batadv'&lt;br /&gt;
	option mesh 'bat0'&lt;br /&gt;
	option macaddr 'a2:f3:c1:65:81:cc'&lt;br /&gt;
&lt;br /&gt;
config interface 'mesh_lan'		#LAN-Kopplung: Codeblock mesh-lan hinzugefuegt&lt;br /&gt;
        option ifname 'eth0.1'&lt;br /&gt;
        option proto 'batadv'&lt;br /&gt;
        option mesh 'bat0'&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Einsperren des Freifunk-Routers in eine DMZ ==&lt;br /&gt;
&lt;br /&gt;
Wer seinen Freifunk-Router einsperren und/oder die Bandbreite begrenzen möchte, kann dies am einfachsten tun, indem er ihn an seiner Firewall an einen eigenen Netzwerkport klemmt und diesen dann als DMZ konfiguriert. Ein KBU-Freifunk-Router muß zur Zeit im LAN DHCP, DNS, im Internet NTP sowie mit den [[fastd]]-Knoten reden können. Folgendes Bespiel für eine iptables-Firewall nimmt an, dass der Freifunk-Router über eth2 angeschlossen ist:&lt;br /&gt;
&lt;br /&gt;
 # eth2 darf nur dns, ntp, dhcp und ansonsten mit den fastdX reden&lt;br /&gt;
 iptables -i eth2 -A INPUT   -p udp --dport 67:68 --sport 67:68 -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A FORWARD -p udp --dport 67:68 --sport 67:68 -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A INPUT   -p udp --dport 53                  -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A INPUT   -p tcp --dport 53                  -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A INPUT   -p tcp --dport 123                 -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A FORWARD -p udp --dport 53                  -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A FORWARD -p tcp --dport 53                  -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A FORWARD -p tcp --dport 123                 -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A FORWARD --dst 176.9.41.253                 -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A FORWARD --src 176.9.41.253                 -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A FORWARD --dst 178.63.59.41                 -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A FORWARD --src 178.63.59.41                 -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A FORWARD --dst 37.120.169.214               -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A FORWARD --src 37.120.169.214               -j ACCEPT &lt;br /&gt;
 iptables -i eth2 -A FORWARD --dst 37.221.195.47                -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A FORWARD --src 37.221.195.47                -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A FORWARD --dst 78.46.68.75                  -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A FORWARD --src 78.46.68.75                  -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A FORWARD --dst 84.201.35.206                -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A FORWARD --src 84.201.35.206                -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A INPUT                                      -j DROP&lt;br /&gt;
 iptables -i eth2 -A FORWARD                                    -j DROP&lt;br /&gt;
 # eth2 darf maximal 2000 kbit/s ein- und ausgehenden traffic machen&lt;br /&gt;
 wondershaper eth2 2000 2000&lt;br /&gt;
&lt;br /&gt;
Prinzipiell könnte man den Traffic noch weiter einschränken. DHCP und DNS müssen nur zum DHCP- bzw. DNS-Server funktionieren und der Traffic zu den fastd-Servern ließe sich auf TCP Port 80 und UDP Port 10000 begrenzen.&lt;/div&gt;</summary>
		<author><name>Linuxer</name></author>
	</entry>
	<entry>
		<id>https://kbu.freifunk.net/wiki/index.php?title=Pimp_my_Node&amp;diff=3158</id>
		<title>Pimp my Node</title>
		<link rel="alternate" type="text/html" href="https://kbu.freifunk.net/wiki/index.php?title=Pimp_my_Node&amp;diff=3158"/>
		<updated>2015-01-17T09:26:32Z</updated>

		<summary type="html">&lt;p&gt;Linuxer: /* public key auf Node aufspielen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Kategorie:Mitmachen]]&lt;br /&gt;
== Netztheorie/Technik und Entwicklung ==&lt;br /&gt;
Vertiefung&lt;br /&gt;
&lt;br /&gt;
*[[FSM-Dynamisches-Bridging]] &lt;br /&gt;
*[[Batman_adv]]&lt;br /&gt;
*[[Entwicklung]]&lt;br /&gt;
*[[Firmware|Firmware/Betriebssystem]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Arbeiten auf der Shell ==&lt;br /&gt;
Vorraussetzung für folgende Befehle sind eine Verbindung mit dem KBU Freifunk Netz sowie ein Terminal / Shell. &lt;br /&gt;
Vergesst nicht eth0 gegen die Bezeichnung eures Netzwerkinterfaces, welches am Freifunk hängt zu tauschen. &lt;br /&gt;
Bei Macbooks via Wlan z.B. &amp;quot;en1&amp;quot; statt &amp;quot;eth0&amp;quot;! Die link local Adresse der jeweiligen node findet ihr auf der [http://register.kbu.freifunk.net KBU Register] Seite. Um Dateien auf dem Node ändern zu können, steht als einziger Editor ''vi'' bzw. ''vim'' zur Verfügung.&lt;br /&gt;
 &lt;br /&gt;
=== IPv6 ping ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ping6 &amp;lt;link local adress des node&amp;gt;%eth0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== IPv6 ssh ===&lt;br /&gt;
Hinter der link local Adresse &amp;quot;%&amp;quot; + &amp;quot;Netzwerk Interface an eurer Kiste&amp;quot; (Hier im Beispiel eth0)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ssh root@&amp;lt;link local adress des node&amp;gt;%eth0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Hostnamen des Nodes ändern ===&lt;br /&gt;
Standardmäßig ist der Hostname des Nodes gleich der MAC-Adresse des Routers. Möchte man den Hostnamen ändern, so kann man dies in der Datei ''/etc/config/system''. Hier gibt es gleich als ersten Punkt ''config system'' und dort findet man den Eintrag&lt;br /&gt;
&amp;lt;pre&amp;gt;option hostname 'aa:bb:cc:dd:ee:ff'&amp;lt;/pre&amp;gt;&lt;br /&gt;
Hier kann man jetzt aa:bb:cc:dd:ee:ff (diese Adresse sieht bei jedem Node anders aus!) zu dem gewünschten Hostnamen ändern. Eine Änderung wird erst nach dem Kommando ''reboot'' (danach startet der Node neu) wirksam.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== ntp-Bug in Firmware 1.2.1b beseitigen ===&lt;br /&gt;
Falls sich ein Node-Betreiber wundert, warum sein Node keine Statistiken liefert und es ein Mesh-Only-Node ist (d. h. ohne eigenen Uplink zum Internet), so liegt das an einem Bug in der Firmware. Diesen kann man jedoch mit einfachen Mitteln beheben:&lt;br /&gt;
Editiert wird die Datei ''/etc/config/system''. Dort findet man einen Eintrag ''config timeserver 'ntp'''. Defaultmäßig stehen hier 4 Zeitserver von openwrt (in der Form x.openwrt.pool.ntp.org). Diese müssen bei Mesh-Only-Nodes in IPv6-Adressen geändert werden, und zwar, dass der komplette Konfigurationspunkt wie folgt aussieht:&lt;br /&gt;
&amp;lt;pre&amp;gt;config timeserver 'ntp'&lt;br /&gt;
        list server '2a03:4000:2:494::2'&lt;br /&gt;
        list server '2a01:4f8:161:2461:e4::1'&lt;br /&gt;
        list server '2a02:180:1:1::551f:bb4b'&lt;br /&gt;
        option enabled '1'&lt;br /&gt;
        option enable_server '0'&amp;lt;/pre&amp;gt;&lt;br /&gt;
Auch hier werden die Änderungen erst nach einem Neustart des Nodes mittels ''reboot'' wirksam.&lt;br /&gt;
Dieser Bug soll mit dem nächsten Firmware-Release behoben sein. Man kann die Eintragungen auch in den Nodes mit Internet-Uplink ändern ohne die Funktion zu beeinträchtigen.&lt;br /&gt;
&lt;br /&gt;
=== public key auf Node aufspielen ===&lt;br /&gt;
Möchte man sich nicht immer per Paßwort auf den eigenen Node verbinden, so kann man das auch mit einem Schlüsselpaar realisieren. Falls man danach noch die Authentifizierung per Paßwort abschaltet (s. nächster Punkt), dann hat man einen sicheren Zugriff auf seinen Node realisiert.&lt;br /&gt;
Voraussetzung ist natürlich, dass man schon ein gültiges Schlüsselpaar besitzt. Falls dem so ist, so genügt es, den öffentlichen Schlüssel (public key) auf den Node zu übertragen. Das kann mit Hilfe von scp (secure copy) passieren:&lt;br /&gt;
&amp;lt;pre&amp;gt;scp id_dsa.pub root@&amp;lt;link local des nodes&amp;gt;%eth0:/etc/dropbear/authorized_keys&amp;lt;/pre&amp;gt;&lt;br /&gt;
Hierbei steht id_dsa.pub für die Datei, die den public key enthält. '''ACHTUNG:''' Obiger Befehl ersetzt die eventuell schon vorhandene Datei authorized_keys auf dem Node. Das ist ok für den ersten Key. Sollen mehrere Keys eingetragen werden (z. B. weil man außer vom Laptop auch vom Tablet auf seinen Node verbinden möchte), muß der zusätzliche Key per vi(m) auf dem Node direkt editiert werden.&lt;br /&gt;
Auch hier werden die Änderungen nach einem Neustart des Routers mittels ''reboot'' übernommen.&lt;br /&gt;
&lt;br /&gt;
=== Paßwort-Authentifizierung abstellen ===&lt;br /&gt;
'''Wichtig:''' Als erstes prüfen, ob man sich mit seinem Schlüsselpaar auf den Router einloggen kann. Man sollte jetzt nicht mehr nach dem Paßwort gefragt werden (allerhöchstens nach dem Paßwort, welches den privaten Schlüssel schützt).&lt;br /&gt;
Falls das erfolgreich funktioniert, kann man die Datei ''/etc/config/dropbear'' wie folgt ändern:&lt;br /&gt;
&amp;lt;pre&amp;gt;config dropbear&lt;br /&gt;
        option PasswordAuth 'off'&lt;br /&gt;
        option RootPasswordAuth 'off'&lt;br /&gt;
        option Port         '22'&lt;br /&gt;
#       option BannerFile   '/etc/banner'&amp;lt;/pre&amp;gt;&lt;br /&gt;
Nach einem Neustart des Routers mittels ''reboot'' sollte es jetzt nur noch möglich sein, sich mit seinem Schlüsselpaar auf den Rotuer einzuloggen.&lt;br /&gt;
&lt;br /&gt;
=== Firmware aktualisieren ===&lt;br /&gt;
==== Node mit uplink ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ssh root@&amp;lt;link local adress des node&amp;gt;%eth0              // SSH Verbindung zum Node aufbauen&lt;br /&gt;
cd ../tmp/                                              // in das Verzeichnis &amp;quot;tmp&amp;quot; wechseln&lt;br /&gt;
free                                                    // Freien Speicher prüfen&lt;br /&gt;
wget http://pfad/zur/firmware.bin                       // Firmware herunterladen oder&lt;br /&gt;
sysupgrade -v firmware.bin                              // Firmwareupgrade durchführen&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Achtung''': Beim Download der Firmware via wget kann auf dem Router die Integrität der Firmware nicht geprüft werden, da gpg i.d.R. auf den Routern nicht verfügbar ist. Deshalb ist es sicherer, den oben beschriebenen Weg zu wählen, oder die geprüfte Firmware per scp (s.u.) auf den Router zu kopieren. &lt;br /&gt;
&lt;br /&gt;
==== Node ohne uplink (mesh node) ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
scp -6 -v -r firmware.bin root@\[&amp;lt;linkloc&amp;gt;%eth0\]:../tmp/          // Firmware auf den node schieben (md5 checken!)&lt;br /&gt;
ssh root@&amp;lt;link local adress des node&amp;gt;%eth0 &lt;br /&gt;
cd ../tmp/  &lt;br /&gt;
sysupgrade -v firmware.bin  &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== LAN Kopplung ===&lt;br /&gt;
Eine LAN Kopplung kann in manchen Fällen sinnvoll sein, besonders wenn man einen VLAN fähigen Switch und eine bestehende Ntzwerkverkabelung hat. Hier werden die Switchports angwiesen auch über LAN zu meshen.&lt;br /&gt;
&lt;br /&gt;
==== TL-WR841ND ====&lt;br /&gt;
03/2014: Hier wird über die alle 4 LAN Ports gemeshed, Mesh über WLAN kann man optional noch ausschalten! Folgende Config stammt von rampone/FF-KBU und wurde an 2 TL-WR841N v.8 getestet mit KBU-FF-Firmware 1.1.&lt;br /&gt;
&lt;br /&gt;
''vim /etc/config/network'' - Folgende Änderungen wurden an der FF-Firmware 1.0 vorgenommen:&lt;br /&gt;
#config interface 'freifunk' -&amp;gt; Hier haben wir eth0 aus &amp;quot;ifname&amp;quot; rausgenommen, damit kein ff aus dem eth0 (switch) rauskommt.&lt;br /&gt;
#config interface 'mesh_lan' -&amp;gt; kompl. codeblock hinzugefügt, dieser bewirkt das über eth0 (switch) gemeshed wird. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
config interface 'loopback'&lt;br /&gt;
	option ifname 'lo'&lt;br /&gt;
	option proto 'static'&lt;br /&gt;
	option ipaddr '127.0.0.1'&lt;br /&gt;
	option netmask '255.0.0.0'&lt;br /&gt;
&lt;br /&gt;
config interface 'wan'&lt;br /&gt;
	option ifname 'eth0'&lt;br /&gt;
	option proto 'dhcp'&lt;br /&gt;
	option type 'bridge'&lt;br /&gt;
	option accept_ra '0'&lt;br /&gt;
	option auto '1'&lt;br /&gt;
&lt;br /&gt;
config switch&lt;br /&gt;
	option name 'switch0'&lt;br /&gt;
	option reset '1'&lt;br /&gt;
	option enable_vlan '1'&lt;br /&gt;
&lt;br /&gt;
config switch_vlan&lt;br /&gt;
	option device 'switch0'&lt;br /&gt;
	option vlan '1'&lt;br /&gt;
	option ports '0 1 2 3 4'&lt;br /&gt;
&lt;br /&gt;
config interface 'freifunk'&lt;br /&gt;
	option ifname 'bat0'		#LAN-Kopplung: ifname eth1 entfernt&lt;br /&gt;
	option type 'bridge'&lt;br /&gt;
	option proto 'none'&lt;br /&gt;
	option auto '1'&lt;br /&gt;
	option accept_ra '1'&lt;br /&gt;
	option macaddr '10:fe:ed:f1:53:84'&lt;br /&gt;
&lt;br /&gt;
config interface 'mesh'&lt;br /&gt;
	option proto 'batadv'&lt;br /&gt;
	option mtu '1528'&lt;br /&gt;
	option mesh 'bat0'&lt;br /&gt;
&lt;br /&gt;
config interface 'mesh_vpn'&lt;br /&gt;
	option ifname 'mesh-vpn'&lt;br /&gt;
	option proto 'batadv'&lt;br /&gt;
	option mesh 'bat0'&lt;br /&gt;
	option macaddr '12:fe:ed:f2:53:84'&lt;br /&gt;
&lt;br /&gt;
config interface 'mesh_lan'		#LAN-Kopplung: Codeblock mesh-lan hinzugefuegt&lt;br /&gt;
	option ifname 'eth1'&lt;br /&gt;
	option proto 'batadv'&lt;br /&gt;
	option mesh 'bat0'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''vim /etc/config/wireless'' - Hier wird der Codeblock, der für das Mesh über WLAN verantwortlich ist auskommentiert (optional)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#config wifi-iface 'wifi_mesh'&lt;br /&gt;
#       option device 'radio0'&lt;br /&gt;
#       option network 'mesh'&lt;br /&gt;
#       option mode 'adhoc'&lt;br /&gt;
#       option ssid '02:d1:11:37:fc:39'&lt;br /&gt;
#       option bssid '02:d1:11:37:fc:39&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== TL-WDR4300 ====&lt;br /&gt;
Das gleiche nochmal für den 4300er&lt;br /&gt;
&lt;br /&gt;
''vim /etc/config/network''&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
config interface 'loopback'&lt;br /&gt;
	option ifname 'lo'&lt;br /&gt;
	option proto 'static'&lt;br /&gt;
	option ipaddr '127.0.0.1'&lt;br /&gt;
	option netmask '255.0.0.0'&lt;br /&gt;
&lt;br /&gt;
config interface 'wan'&lt;br /&gt;
	option ifname 'eth0.2'&lt;br /&gt;
	option proto 'dhcp'&lt;br /&gt;
	option type 'bridge'&lt;br /&gt;
	option accept_ra '0'&lt;br /&gt;
	option auto '1'&lt;br /&gt;
	option macaddr 'a2:f3:c1:65:81:cd'&lt;br /&gt;
&lt;br /&gt;
config switch&lt;br /&gt;
	option name 'eth0'&lt;br /&gt;
	option reset '1'&lt;br /&gt;
	option enable_vlan '1'&lt;br /&gt;
&lt;br /&gt;
config switch_vlan&lt;br /&gt;
	option device 'eth0'&lt;br /&gt;
	option vlan '1'&lt;br /&gt;
	option ports '0t 2 3 4 5'&lt;br /&gt;
&lt;br /&gt;
config switch_vlan&lt;br /&gt;
	option device 'eth0'&lt;br /&gt;
	option vlan '2'&lt;br /&gt;
	option ports '0t 1'&lt;br /&gt;
&lt;br /&gt;
config interface 'freifunk'&lt;br /&gt;
	option ifname 'bat0'		#LAN-Kopplung: ifname eth0.1 entfernt&lt;br /&gt;
	option type 'bridge'&lt;br /&gt;
	option proto 'none'&lt;br /&gt;
	option auto '1'&lt;br /&gt;
	option accept_ra '1'&lt;br /&gt;
	option macaddr 'a0:f3:c1:64:81:cc'&lt;br /&gt;
&lt;br /&gt;
config interface 'mesh'&lt;br /&gt;
	option proto 'batadv'&lt;br /&gt;
	option mtu '1528'&lt;br /&gt;
	option mesh 'bat0'&lt;br /&gt;
&lt;br /&gt;
config interface 'mesh_vpn'&lt;br /&gt;
	option ifname 'mesh-vpn'&lt;br /&gt;
	option proto 'batadv'&lt;br /&gt;
	option mesh 'bat0'&lt;br /&gt;
	option macaddr 'a2:f3:c1:65:81:cc'&lt;br /&gt;
&lt;br /&gt;
config interface 'mesh_lan'		#LAN-Kopplung: Codeblock mesh-lan hinzugefuegt&lt;br /&gt;
        option ifname 'eth0.1'&lt;br /&gt;
        option proto 'batadv'&lt;br /&gt;
        option mesh 'bat0'&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Einsperren des Freifunk-Routers in eine DMZ ==&lt;br /&gt;
&lt;br /&gt;
Wer seinen Freifunk-Router einsperren und/oder die Bandbreite begrenzen möchte, kann dies am einfachsten tun, indem er ihn an seiner Firewall an einen eigenen Netzwerkport klemmt und diesen dann als DMZ konfiguriert. Ein KBU-Freifunk-Router muß zur Zeit im LAN DHCP, DNS, im Internet NTP sowie mit den [[fastd]]-Knoten reden können. Folgendes Bespiel für eine iptables-Firewall nimmt an, dass der Freifunk-Router über eth2 angeschlossen ist:&lt;br /&gt;
&lt;br /&gt;
 # eth2 darf nur dns, ntp, dhcp und ansonsten mit den fastdX reden&lt;br /&gt;
 iptables -i eth2 -A INPUT   -p udp --dport 67:68 --sport 67:68 -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A FORWARD -p udp --dport 67:68 --sport 67:68 -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A INPUT   -p udp --dport 53                  -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A INPUT   -p tcp --dport 53                  -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A INPUT   -p tcp --dport 123                 -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A FORWARD -p udp --dport 53                  -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A FORWARD -p tcp --dport 53                  -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A FORWARD -p tcp --dport 123                 -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A FORWARD --dst 176.9.41.253                 -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A FORWARD --src 176.9.41.253                 -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A FORWARD --dst 178.63.59.41                 -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A FORWARD --src 178.63.59.41                 -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A FORWARD --dst 37.120.169.214               -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A FORWARD --src 37.120.169.214               -j ACCEPT &lt;br /&gt;
 iptables -i eth2 -A FORWARD --dst 37.221.195.47                -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A FORWARD --src 37.221.195.47                -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A FORWARD --dst 78.46.68.75                  -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A FORWARD --src 78.46.68.75                  -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A FORWARD --dst 84.201.35.206                -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A FORWARD --src 84.201.35.206                -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A INPUT                                      -j DROP&lt;br /&gt;
 iptables -i eth2 -A FORWARD                                    -j DROP&lt;br /&gt;
 # eth2 darf maximal 2000 kbit/s ein- und ausgehenden traffic machen&lt;br /&gt;
 wondershaper eth2 2000 2000&lt;br /&gt;
&lt;br /&gt;
Prinzipiell könnte man den Traffic noch weiter einschränken. DHCP und DNS müssen nur zum DHCP- bzw. DNS-Server funktionieren und der Traffic zu den fastd-Servern ließe sich auf TCP Port 80 und UDP Port 10000 begrenzen.&lt;/div&gt;</summary>
		<author><name>Linuxer</name></author>
	</entry>
	<entry>
		<id>https://kbu.freifunk.net/wiki/index.php?title=Pimp_my_Node&amp;diff=3157</id>
		<title>Pimp my Node</title>
		<link rel="alternate" type="text/html" href="https://kbu.freifunk.net/wiki/index.php?title=Pimp_my_Node&amp;diff=3157"/>
		<updated>2015-01-17T08:33:22Z</updated>

		<summary type="html">&lt;p&gt;Linuxer: /* Arbeiten auf der Shell */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Kategorie:Mitmachen]]&lt;br /&gt;
== Netztheorie/Technik und Entwicklung ==&lt;br /&gt;
Vertiefung&lt;br /&gt;
&lt;br /&gt;
*[[FSM-Dynamisches-Bridging]] &lt;br /&gt;
*[[Batman_adv]]&lt;br /&gt;
*[[Entwicklung]]&lt;br /&gt;
*[[Firmware|Firmware/Betriebssystem]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Arbeiten auf der Shell ==&lt;br /&gt;
Vorraussetzung für folgende Befehle sind eine Verbindung mit dem KBU Freifunk Netz sowie ein Terminal / Shell. &lt;br /&gt;
Vergesst nicht eth0 gegen die Bezeichnung eures Netzwerkinterfaces, welches am Freifunk hängt zu tauschen. &lt;br /&gt;
Bei Macbooks via Wlan z.B. &amp;quot;en1&amp;quot; statt &amp;quot;eth0&amp;quot;! Die link local Adresse der jeweiligen node findet ihr auf der [http://register.kbu.freifunk.net KBU Register] Seite. Um Dateien auf dem Node ändern zu können, steht als einziger Editor ''vi'' bzw. ''vim'' zur Verfügung.&lt;br /&gt;
 &lt;br /&gt;
=== IPv6 ping ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ping6 &amp;lt;link local adress des node&amp;gt;%eth0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== IPv6 ssh ===&lt;br /&gt;
Hinter der link local Adresse &amp;quot;%&amp;quot; + &amp;quot;Netzwerk Interface an eurer Kiste&amp;quot; (Hier im Beispiel eth0)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ssh root@&amp;lt;link local adress des node&amp;gt;%eth0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Hostnamen des Nodes ändern ===&lt;br /&gt;
Standardmäßig ist der Hostname des Nodes gleich der MAC-Adresse des Routers. Möchte man den Hostnamen ändern, so kann man dies in der Datei ''/etc/config/system''. Hier gibt es gleich als ersten Punkt ''config system'' und dort findet man den Eintrag&lt;br /&gt;
&amp;lt;pre&amp;gt;option hostname 'aa:bb:cc:dd:ee:ff'&amp;lt;/pre&amp;gt;&lt;br /&gt;
Hier kann man jetzt aa:bb:cc:dd:ee:ff (diese Adresse sieht bei jedem Node anders aus!) zu dem gewünschten Hostnamen ändern. Eine Änderung wird erst nach dem Kommando ''reboot'' (danach startet der Node neu) wirksam.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== ntp-Bug in Firmware 1.2.1b beseitigen ===&lt;br /&gt;
Falls sich ein Node-Betreiber wundert, warum sein Node keine Statistiken liefert und es ein Mesh-Only-Node ist (d. h. ohne eigenen Uplink zum Internet), so liegt das an einem Bug in der Firmware. Diesen kann man jedoch mit einfachen Mitteln beheben:&lt;br /&gt;
Editiert wird die Datei ''/etc/config/system''. Dort findet man einen Eintrag ''config timeserver 'ntp'''. Defaultmäßig stehen hier 4 Zeitserver von openwrt (in der Form x.openwrt.pool.ntp.org). Diese müssen bei Mesh-Only-Nodes in IPv6-Adressen geändert werden, und zwar, dass der komplette Konfigurationspunkt wie folgt aussieht:&lt;br /&gt;
&amp;lt;pre&amp;gt;config timeserver 'ntp'&lt;br /&gt;
        list server '2a03:4000:2:494::2'&lt;br /&gt;
        list server '2a01:4f8:161:2461:e4::1'&lt;br /&gt;
        list server '2a02:180:1:1::551f:bb4b'&lt;br /&gt;
        option enabled '1'&lt;br /&gt;
        option enable_server '0'&amp;lt;/pre&amp;gt;&lt;br /&gt;
Auch hier werden die Änderungen erst nach einem Neustart des Nodes mittels ''reboot'' wirksam.&lt;br /&gt;
Dieser Bug soll mit dem nächsten Firmware-Release behoben sein. Man kann die Eintragungen auch in den Nodes mit Internet-Uplink ändern ohne die Funktion zu beeinträchtigen.&lt;br /&gt;
&lt;br /&gt;
=== public key auf Node aufspielen ===&lt;br /&gt;
Möchte man sich nicht immer per Paßwort auf den eigenen Node verbinden, so kann man das auch mit einem Schlüsselpaar realisieren. Falls man danach noch die Authentifizierung per Paßwort abschaltet (s. nächster Punkt), dann hat man einen sicheren Zugriff auf seinen Node realisiert.&lt;br /&gt;
Voraussetzung ist natürlich, dass man schon ein gültiges Schlüsselpaar besitzt. Falls dem so ist, so genügt es, den öffentlichen Schlüssel (public key) auf den Node zu übertragen. Das kann mit Hilfe von scp (secure copy) passieren:&lt;br /&gt;
&amp;lt;pre&amp;gt;scp id_dsa.pub root@&amp;lt;linkloc&amp;gt;%eth0:/etc/dropbear/authorized_keys&amp;lt;/pre&amp;gt;&lt;br /&gt;
Hierbei steht id_dsa.pub für die Datei, die den public key enthält. '''ACHTUNG:''' Obiger Befehl ersetzt die eventuell schon vorhandene Datei authorized_keys auf dem Node. Das ist ok für den ersten Key. Sollen mehrere Keys eingetragen werden (z. B. weil man außer vom Laptop auch vom Tablet auf seinen Node verbinden möchte), muß der zusätzliche Key per vi(m) auf dem Node direkt editiert werden.&lt;br /&gt;
Auch hier werden die Änderungen nach einem Neustart des Routers mittels ''reboot'' übernommen.&lt;br /&gt;
&lt;br /&gt;
=== Paßwort-Authentifizierung abstellen ===&lt;br /&gt;
'''Wichtig:''' Als erstes prüfen, ob man sich mit seinem Schlüsselpaar auf den Router einloggen kann. Man sollte jetzt nicht mehr nach dem Paßwort gefragt werden (allerhöchstens nach dem Paßwort, welches den privaten Schlüssel schützt).&lt;br /&gt;
Falls das erfolgreich funktioniert, kann man die Datei ''/etc/config/dropbear'' wie folgt ändern:&lt;br /&gt;
&amp;lt;pre&amp;gt;config dropbear&lt;br /&gt;
        option PasswordAuth 'off'&lt;br /&gt;
        option RootPasswordAuth 'off'&lt;br /&gt;
        option Port         '22'&lt;br /&gt;
#       option BannerFile   '/etc/banner'&amp;lt;/pre&amp;gt;&lt;br /&gt;
Nach einem Neustart des Routers mittels ''reboot'' sollte es jetzt nur noch möglich sein, sich mit seinem Schlüsselpaar auf den Rotuer einzuloggen.&lt;br /&gt;
&lt;br /&gt;
=== Firmware aktualisieren ===&lt;br /&gt;
==== Node mit uplink ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ssh root@&amp;lt;link local adress des node&amp;gt;%eth0              // SSH Verbindung zum Node aufbauen&lt;br /&gt;
cd ../tmp/                                              // in das Verzeichnis &amp;quot;tmp&amp;quot; wechseln&lt;br /&gt;
free                                                    // Freien Speicher prüfen&lt;br /&gt;
wget http://pfad/zur/firmware.bin                       // Firmware herunterladen oder&lt;br /&gt;
sysupgrade -v firmware.bin                              // Firmwareupgrade durchführen&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Achtung''': Beim Download der Firmware via wget kann auf dem Router die Integrität der Firmware nicht geprüft werden, da gpg i.d.R. auf den Routern nicht verfügbar ist. Deshalb ist es sicherer, den oben beschriebenen Weg zu wählen, oder die geprüfte Firmware per scp (s.u.) auf den Router zu kopieren. &lt;br /&gt;
&lt;br /&gt;
==== Node ohne uplink (mesh node) ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
scp -6 -v -r firmware.bin root@\[&amp;lt;linkloc&amp;gt;%eth0\]:../tmp/          // Firmware auf den node schieben (md5 checken!)&lt;br /&gt;
ssh root@&amp;lt;link local adress des node&amp;gt;%eth0 &lt;br /&gt;
cd ../tmp/  &lt;br /&gt;
sysupgrade -v firmware.bin  &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== LAN Kopplung ===&lt;br /&gt;
Eine LAN Kopplung kann in manchen Fällen sinnvoll sein, besonders wenn man einen VLAN fähigen Switch und eine bestehende Ntzwerkverkabelung hat. Hier werden die Switchports angwiesen auch über LAN zu meshen.&lt;br /&gt;
&lt;br /&gt;
==== TL-WR841ND ====&lt;br /&gt;
03/2014: Hier wird über die alle 4 LAN Ports gemeshed, Mesh über WLAN kann man optional noch ausschalten! Folgende Config stammt von rampone/FF-KBU und wurde an 2 TL-WR841N v.8 getestet mit KBU-FF-Firmware 1.1.&lt;br /&gt;
&lt;br /&gt;
''vim /etc/config/network'' - Folgende Änderungen wurden an der FF-Firmware 1.0 vorgenommen:&lt;br /&gt;
#config interface 'freifunk' -&amp;gt; Hier haben wir eth0 aus &amp;quot;ifname&amp;quot; rausgenommen, damit kein ff aus dem eth0 (switch) rauskommt.&lt;br /&gt;
#config interface 'mesh_lan' -&amp;gt; kompl. codeblock hinzugefügt, dieser bewirkt das über eth0 (switch) gemeshed wird. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
config interface 'loopback'&lt;br /&gt;
	option ifname 'lo'&lt;br /&gt;
	option proto 'static'&lt;br /&gt;
	option ipaddr '127.0.0.1'&lt;br /&gt;
	option netmask '255.0.0.0'&lt;br /&gt;
&lt;br /&gt;
config interface 'wan'&lt;br /&gt;
	option ifname 'eth0'&lt;br /&gt;
	option proto 'dhcp'&lt;br /&gt;
	option type 'bridge'&lt;br /&gt;
	option accept_ra '0'&lt;br /&gt;
	option auto '1'&lt;br /&gt;
&lt;br /&gt;
config switch&lt;br /&gt;
	option name 'switch0'&lt;br /&gt;
	option reset '1'&lt;br /&gt;
	option enable_vlan '1'&lt;br /&gt;
&lt;br /&gt;
config switch_vlan&lt;br /&gt;
	option device 'switch0'&lt;br /&gt;
	option vlan '1'&lt;br /&gt;
	option ports '0 1 2 3 4'&lt;br /&gt;
&lt;br /&gt;
config interface 'freifunk'&lt;br /&gt;
	option ifname 'bat0'		#LAN-Kopplung: ifname eth1 entfernt&lt;br /&gt;
	option type 'bridge'&lt;br /&gt;
	option proto 'none'&lt;br /&gt;
	option auto '1'&lt;br /&gt;
	option accept_ra '1'&lt;br /&gt;
	option macaddr '10:fe:ed:f1:53:84'&lt;br /&gt;
&lt;br /&gt;
config interface 'mesh'&lt;br /&gt;
	option proto 'batadv'&lt;br /&gt;
	option mtu '1528'&lt;br /&gt;
	option mesh 'bat0'&lt;br /&gt;
&lt;br /&gt;
config interface 'mesh_vpn'&lt;br /&gt;
	option ifname 'mesh-vpn'&lt;br /&gt;
	option proto 'batadv'&lt;br /&gt;
	option mesh 'bat0'&lt;br /&gt;
	option macaddr '12:fe:ed:f2:53:84'&lt;br /&gt;
&lt;br /&gt;
config interface 'mesh_lan'		#LAN-Kopplung: Codeblock mesh-lan hinzugefuegt&lt;br /&gt;
	option ifname 'eth1'&lt;br /&gt;
	option proto 'batadv'&lt;br /&gt;
	option mesh 'bat0'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''vim /etc/config/wireless'' - Hier wird der Codeblock, der für das Mesh über WLAN verantwortlich ist auskommentiert (optional)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#config wifi-iface 'wifi_mesh'&lt;br /&gt;
#       option device 'radio0'&lt;br /&gt;
#       option network 'mesh'&lt;br /&gt;
#       option mode 'adhoc'&lt;br /&gt;
#       option ssid '02:d1:11:37:fc:39'&lt;br /&gt;
#       option bssid '02:d1:11:37:fc:39&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== TL-WDR4300 ====&lt;br /&gt;
Das gleiche nochmal für den 4300er&lt;br /&gt;
&lt;br /&gt;
''vim /etc/config/network''&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
config interface 'loopback'&lt;br /&gt;
	option ifname 'lo'&lt;br /&gt;
	option proto 'static'&lt;br /&gt;
	option ipaddr '127.0.0.1'&lt;br /&gt;
	option netmask '255.0.0.0'&lt;br /&gt;
&lt;br /&gt;
config interface 'wan'&lt;br /&gt;
	option ifname 'eth0.2'&lt;br /&gt;
	option proto 'dhcp'&lt;br /&gt;
	option type 'bridge'&lt;br /&gt;
	option accept_ra '0'&lt;br /&gt;
	option auto '1'&lt;br /&gt;
	option macaddr 'a2:f3:c1:65:81:cd'&lt;br /&gt;
&lt;br /&gt;
config switch&lt;br /&gt;
	option name 'eth0'&lt;br /&gt;
	option reset '1'&lt;br /&gt;
	option enable_vlan '1'&lt;br /&gt;
&lt;br /&gt;
config switch_vlan&lt;br /&gt;
	option device 'eth0'&lt;br /&gt;
	option vlan '1'&lt;br /&gt;
	option ports '0t 2 3 4 5'&lt;br /&gt;
&lt;br /&gt;
config switch_vlan&lt;br /&gt;
	option device 'eth0'&lt;br /&gt;
	option vlan '2'&lt;br /&gt;
	option ports '0t 1'&lt;br /&gt;
&lt;br /&gt;
config interface 'freifunk'&lt;br /&gt;
	option ifname 'bat0'		#LAN-Kopplung: ifname eth0.1 entfernt&lt;br /&gt;
	option type 'bridge'&lt;br /&gt;
	option proto 'none'&lt;br /&gt;
	option auto '1'&lt;br /&gt;
	option accept_ra '1'&lt;br /&gt;
	option macaddr 'a0:f3:c1:64:81:cc'&lt;br /&gt;
&lt;br /&gt;
config interface 'mesh'&lt;br /&gt;
	option proto 'batadv'&lt;br /&gt;
	option mtu '1528'&lt;br /&gt;
	option mesh 'bat0'&lt;br /&gt;
&lt;br /&gt;
config interface 'mesh_vpn'&lt;br /&gt;
	option ifname 'mesh-vpn'&lt;br /&gt;
	option proto 'batadv'&lt;br /&gt;
	option mesh 'bat0'&lt;br /&gt;
	option macaddr 'a2:f3:c1:65:81:cc'&lt;br /&gt;
&lt;br /&gt;
config interface 'mesh_lan'		#LAN-Kopplung: Codeblock mesh-lan hinzugefuegt&lt;br /&gt;
        option ifname 'eth0.1'&lt;br /&gt;
        option proto 'batadv'&lt;br /&gt;
        option mesh 'bat0'&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Einsperren des Freifunk-Routers in eine DMZ ==&lt;br /&gt;
&lt;br /&gt;
Wer seinen Freifunk-Router einsperren und/oder die Bandbreite begrenzen möchte, kann dies am einfachsten tun, indem er ihn an seiner Firewall an einen eigenen Netzwerkport klemmt und diesen dann als DMZ konfiguriert. Ein KBU-Freifunk-Router muß zur Zeit im LAN DHCP, DNS, im Internet NTP sowie mit den [[fastd]]-Knoten reden können. Folgendes Bespiel für eine iptables-Firewall nimmt an, dass der Freifunk-Router über eth2 angeschlossen ist:&lt;br /&gt;
&lt;br /&gt;
 # eth2 darf nur dns, ntp, dhcp und ansonsten mit den fastdX reden&lt;br /&gt;
 iptables -i eth2 -A INPUT   -p udp --dport 67:68 --sport 67:68 -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A FORWARD -p udp --dport 67:68 --sport 67:68 -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A INPUT   -p udp --dport 53                  -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A INPUT   -p tcp --dport 53                  -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A INPUT   -p tcp --dport 123                 -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A FORWARD -p udp --dport 53                  -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A FORWARD -p tcp --dport 53                  -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A FORWARD -p tcp --dport 123                 -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A FORWARD --dst 176.9.41.253                 -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A FORWARD --src 176.9.41.253                 -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A FORWARD --dst 178.63.59.41                 -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A FORWARD --src 178.63.59.41                 -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A FORWARD --dst 37.120.169.214               -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A FORWARD --src 37.120.169.214               -j ACCEPT &lt;br /&gt;
 iptables -i eth2 -A FORWARD --dst 37.221.195.47                -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A FORWARD --src 37.221.195.47                -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A FORWARD --dst 78.46.68.75                  -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A FORWARD --src 78.46.68.75                  -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A FORWARD --dst 84.201.35.206                -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A FORWARD --src 84.201.35.206                -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A INPUT                                      -j DROP&lt;br /&gt;
 iptables -i eth2 -A FORWARD                                    -j DROP&lt;br /&gt;
 # eth2 darf maximal 2000 kbit/s ein- und ausgehenden traffic machen&lt;br /&gt;
 wondershaper eth2 2000 2000&lt;br /&gt;
&lt;br /&gt;
Prinzipiell könnte man den Traffic noch weiter einschränken. DHCP und DNS müssen nur zum DHCP- bzw. DNS-Server funktionieren und der Traffic zu den fastd-Servern ließe sich auf TCP Port 80 und UDP Port 10000 begrenzen.&lt;/div&gt;</summary>
		<author><name>Linuxer</name></author>
	</entry>
	<entry>
		<id>https://kbu.freifunk.net/wiki/index.php?title=Pimp_my_Node&amp;diff=3156</id>
		<title>Pimp my Node</title>
		<link rel="alternate" type="text/html" href="https://kbu.freifunk.net/wiki/index.php?title=Pimp_my_Node&amp;diff=3156"/>
		<updated>2015-01-17T08:27:32Z</updated>

		<summary type="html">&lt;p&gt;Linuxer: /* Arbeiten auf der Shell */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Kategorie:Mitmachen]]&lt;br /&gt;
== Netztheorie/Technik und Entwicklung ==&lt;br /&gt;
Vertiefung&lt;br /&gt;
&lt;br /&gt;
*[[FSM-Dynamisches-Bridging]] &lt;br /&gt;
*[[Batman_adv]]&lt;br /&gt;
*[[Entwicklung]]&lt;br /&gt;
*[[Firmware|Firmware/Betriebssystem]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Arbeiten auf der Shell ==&lt;br /&gt;
Vorraussetzung für folgende Befehle sind eine Verbindung mit dem KBU Freifunk Netz sowie ein Terminal / Shell. &lt;br /&gt;
Vergesst nicht eth0 gegen die Bezeichnung eures Netzwerkinterfaces, welches am Freifunk hängt zu tauschen. &lt;br /&gt;
Bei Macbooks via Wlan z.B. &amp;quot;en1&amp;quot; statt &amp;quot;eth0&amp;quot;! Die link local Adresse der jeweiligen node findet ihr auf der [http://register.kbu.freifunk.net KBU Register] Seite. Um Dateien auf dem Node ändern zu können, steht als einziger Editor ''vi'' bzw. ''vim'' zur Verfügung.&lt;br /&gt;
 &lt;br /&gt;
=== IPv6 ping ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ping6 &amp;lt;link local adress des node&amp;gt;%eth0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== IPv6 ssh ===&lt;br /&gt;
Hinter der link local Adresse &amp;quot;%&amp;quot; + &amp;quot;Netzwerk Interface an eurer Kiste&amp;quot; (Hier im Beispiel eth0)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ssh root@&amp;lt;link local adress des node&amp;gt;%eth0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Hostnamen des Nodes ändern ===&lt;br /&gt;
Standardmäßig ist der Hostname des Nodes gleich der MAC-Adresse des Routers. Möchte man den Hostnamen ändern, so kann man dies in der Datei ''/etc/config/system''. Hier gibt es gleich als ersten Punkt ''config system'' und dort findet man den Eintrag&lt;br /&gt;
&amp;lt;pre&amp;gt;option hostname 'aa:bb:cc:dd:ee:ff'&amp;lt;/pre&amp;gt;&lt;br /&gt;
Hier kann man jetzt aa:bb:cc:dd:ee:ff (diese Adresse sieht bei jedem Node anders aus!) zu dem gewünschten Hostnamen ändern. Eine Änderung wird erst nach dem Kommando ''reboot'' (danach startet der Node neu) wirksam.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== ntp-Bug in Firmware 1.2.1b beseitigen ===&lt;br /&gt;
Falls sich ein Node-Betreiber wundert, warum sein Node keine Statistiken liefert und es ein Mesh-Only-Node ist (d. h. ohne eigenen Uplink zum Internet), so liegt das an einem Bug in der Firmware. Diesen kann man jedoch mit einfachen Mitteln beheben:&lt;br /&gt;
Editiert wird die Datei ''/etc/config/system''. Dort findet man einen Eintrag ''config timeserver 'ntp'''. Defaultmäßig stehen hier 4 Zeitserver von openwrt (in der Form x.openwrt.pool.ntp.org). Diese müssen bei Mesh-Only-Nodes in IPv6-Adressen geändert werden, und zwar, dass der komplette Konfigurationspunkt wie folgt aussieht:&lt;br /&gt;
&amp;lt;pre&amp;gt;config timeserver 'ntp'&lt;br /&gt;
        list server '2a03:4000:2:494::2'&lt;br /&gt;
        list server '2a01:4f8:161:2461:e4::1'&lt;br /&gt;
        list server '2a02:180:1:1::551f:bb4b'&lt;br /&gt;
        option enabled '1'&lt;br /&gt;
        option enable_server '0'&amp;lt;/pre&amp;gt;&lt;br /&gt;
Auch hier werden die Änderungen erst nach einem Neustart des Nodes mittels ''reboot'' wirksam.&lt;br /&gt;
Dieser Bug soll mit dem nächsten Firmware-Release behoben sein. Man kann die Eintragungen auch in den Nodes mit Internet-Uplink ändern ohne die Funktion zu beeinträchtigen.&lt;br /&gt;
&lt;br /&gt;
=== public key auf Node aufspielen ===&lt;br /&gt;
Möchte man sich nicht immer per Paßwort auf den eigenen Node verbinden, so kann man das auch mit einem Schlüsselpaar realisieren. Falls man danach noch die Authentifizierung per Paßwort abschaltet (s. nächster Punkt), dann hat man einen sicheren Zugriff auf seinen Node realisiert.&lt;br /&gt;
Voraussetzung ist natürlich, dass man schon ein gültiges Schlüsselpaar besitzt. Falls dem so ist, so genügt es, den öffentlichen Schlüssel (public key) auf den Node zu übertragen. Das kann mit Hilfe von scp (secure copy) passieren:&lt;br /&gt;
&amp;lt;pre&amp;gt;scp id_dsa.pub root@&amp;lt;linkloc&amp;gt;%eth0:/etc/dropbear/authorized_keys&amp;lt;/pre&amp;gt;&lt;br /&gt;
Hierbei steht id_dsa.pub für die Datei, die den public key enthält. '''ACHTUNG:''' Obiger Befehl ersetzt die eventuell schon vorhandene Datei authorized_keys auf dem Node. Das ist ok für den ersten Key. Sollen mehrere Keys eingetragen werden (z. B. weil man außer vom Laptop auch vom Tablet auf seinen Node verbinden möchte), muß der zusätzliche Key per vi(m) auf dem Node direkt editiert werden.&lt;br /&gt;
&lt;br /&gt;
=== Firmware aktualisieren ===&lt;br /&gt;
==== Node mit uplink ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ssh root@&amp;lt;link local adress des node&amp;gt;%eth0              // SSH Verbindung zum Node aufbauen&lt;br /&gt;
cd ../tmp/                                              // in das Verzeichnis &amp;quot;tmp&amp;quot; wechseln&lt;br /&gt;
free                                                    // Freien Speicher prüfen&lt;br /&gt;
wget http://pfad/zur/firmware.bin                       // Firmware herunterladen oder&lt;br /&gt;
sysupgrade -v firmware.bin                              // Firmwareupgrade durchführen&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Achtung''': Beim Download der Firmware via wget kann auf dem Router die Integrität der Firmware nicht geprüft werden, da gpg i.d.R. auf den Routern nicht verfügbar ist. Deshalb ist es sicherer, den oben beschriebenen Weg zu wählen, oder die geprüfte Firmware per scp (s.u.) auf den Router zu kopieren. &lt;br /&gt;
&lt;br /&gt;
==== Node ohne uplink (mesh node) ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
scp -6 -v -r firmware.bin root@\[&amp;lt;linkloc&amp;gt;%eth0\]:../tmp/          // Firmware auf den node schieben (md5 checken!)&lt;br /&gt;
ssh root@&amp;lt;link local adress des node&amp;gt;%eth0 &lt;br /&gt;
cd ../tmp/  &lt;br /&gt;
sysupgrade -v firmware.bin  &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== LAN Kopplung ===&lt;br /&gt;
Eine LAN Kopplung kann in manchen Fällen sinnvoll sein, besonders wenn man einen VLAN fähigen Switch und eine bestehende Ntzwerkverkabelung hat. Hier werden die Switchports angwiesen auch über LAN zu meshen.&lt;br /&gt;
&lt;br /&gt;
==== TL-WR841ND ====&lt;br /&gt;
03/2014: Hier wird über die alle 4 LAN Ports gemeshed, Mesh über WLAN kann man optional noch ausschalten! Folgende Config stammt von rampone/FF-KBU und wurde an 2 TL-WR841N v.8 getestet mit KBU-FF-Firmware 1.1.&lt;br /&gt;
&lt;br /&gt;
''vim /etc/config/network'' - Folgende Änderungen wurden an der FF-Firmware 1.0 vorgenommen:&lt;br /&gt;
#config interface 'freifunk' -&amp;gt; Hier haben wir eth0 aus &amp;quot;ifname&amp;quot; rausgenommen, damit kein ff aus dem eth0 (switch) rauskommt.&lt;br /&gt;
#config interface 'mesh_lan' -&amp;gt; kompl. codeblock hinzugefügt, dieser bewirkt das über eth0 (switch) gemeshed wird. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
config interface 'loopback'&lt;br /&gt;
	option ifname 'lo'&lt;br /&gt;
	option proto 'static'&lt;br /&gt;
	option ipaddr '127.0.0.1'&lt;br /&gt;
	option netmask '255.0.0.0'&lt;br /&gt;
&lt;br /&gt;
config interface 'wan'&lt;br /&gt;
	option ifname 'eth0'&lt;br /&gt;
	option proto 'dhcp'&lt;br /&gt;
	option type 'bridge'&lt;br /&gt;
	option accept_ra '0'&lt;br /&gt;
	option auto '1'&lt;br /&gt;
&lt;br /&gt;
config switch&lt;br /&gt;
	option name 'switch0'&lt;br /&gt;
	option reset '1'&lt;br /&gt;
	option enable_vlan '1'&lt;br /&gt;
&lt;br /&gt;
config switch_vlan&lt;br /&gt;
	option device 'switch0'&lt;br /&gt;
	option vlan '1'&lt;br /&gt;
	option ports '0 1 2 3 4'&lt;br /&gt;
&lt;br /&gt;
config interface 'freifunk'&lt;br /&gt;
	option ifname 'bat0'		#LAN-Kopplung: ifname eth1 entfernt&lt;br /&gt;
	option type 'bridge'&lt;br /&gt;
	option proto 'none'&lt;br /&gt;
	option auto '1'&lt;br /&gt;
	option accept_ra '1'&lt;br /&gt;
	option macaddr '10:fe:ed:f1:53:84'&lt;br /&gt;
&lt;br /&gt;
config interface 'mesh'&lt;br /&gt;
	option proto 'batadv'&lt;br /&gt;
	option mtu '1528'&lt;br /&gt;
	option mesh 'bat0'&lt;br /&gt;
&lt;br /&gt;
config interface 'mesh_vpn'&lt;br /&gt;
	option ifname 'mesh-vpn'&lt;br /&gt;
	option proto 'batadv'&lt;br /&gt;
	option mesh 'bat0'&lt;br /&gt;
	option macaddr '12:fe:ed:f2:53:84'&lt;br /&gt;
&lt;br /&gt;
config interface 'mesh_lan'		#LAN-Kopplung: Codeblock mesh-lan hinzugefuegt&lt;br /&gt;
	option ifname 'eth1'&lt;br /&gt;
	option proto 'batadv'&lt;br /&gt;
	option mesh 'bat0'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''vim /etc/config/wireless'' - Hier wird der Codeblock, der für das Mesh über WLAN verantwortlich ist auskommentiert (optional)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#config wifi-iface 'wifi_mesh'&lt;br /&gt;
#       option device 'radio0'&lt;br /&gt;
#       option network 'mesh'&lt;br /&gt;
#       option mode 'adhoc'&lt;br /&gt;
#       option ssid '02:d1:11:37:fc:39'&lt;br /&gt;
#       option bssid '02:d1:11:37:fc:39&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== TL-WDR4300 ====&lt;br /&gt;
Das gleiche nochmal für den 4300er&lt;br /&gt;
&lt;br /&gt;
''vim /etc/config/network''&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
config interface 'loopback'&lt;br /&gt;
	option ifname 'lo'&lt;br /&gt;
	option proto 'static'&lt;br /&gt;
	option ipaddr '127.0.0.1'&lt;br /&gt;
	option netmask '255.0.0.0'&lt;br /&gt;
&lt;br /&gt;
config interface 'wan'&lt;br /&gt;
	option ifname 'eth0.2'&lt;br /&gt;
	option proto 'dhcp'&lt;br /&gt;
	option type 'bridge'&lt;br /&gt;
	option accept_ra '0'&lt;br /&gt;
	option auto '1'&lt;br /&gt;
	option macaddr 'a2:f3:c1:65:81:cd'&lt;br /&gt;
&lt;br /&gt;
config switch&lt;br /&gt;
	option name 'eth0'&lt;br /&gt;
	option reset '1'&lt;br /&gt;
	option enable_vlan '1'&lt;br /&gt;
&lt;br /&gt;
config switch_vlan&lt;br /&gt;
	option device 'eth0'&lt;br /&gt;
	option vlan '1'&lt;br /&gt;
	option ports '0t 2 3 4 5'&lt;br /&gt;
&lt;br /&gt;
config switch_vlan&lt;br /&gt;
	option device 'eth0'&lt;br /&gt;
	option vlan '2'&lt;br /&gt;
	option ports '0t 1'&lt;br /&gt;
&lt;br /&gt;
config interface 'freifunk'&lt;br /&gt;
	option ifname 'bat0'		#LAN-Kopplung: ifname eth0.1 entfernt&lt;br /&gt;
	option type 'bridge'&lt;br /&gt;
	option proto 'none'&lt;br /&gt;
	option auto '1'&lt;br /&gt;
	option accept_ra '1'&lt;br /&gt;
	option macaddr 'a0:f3:c1:64:81:cc'&lt;br /&gt;
&lt;br /&gt;
config interface 'mesh'&lt;br /&gt;
	option proto 'batadv'&lt;br /&gt;
	option mtu '1528'&lt;br /&gt;
	option mesh 'bat0'&lt;br /&gt;
&lt;br /&gt;
config interface 'mesh_vpn'&lt;br /&gt;
	option ifname 'mesh-vpn'&lt;br /&gt;
	option proto 'batadv'&lt;br /&gt;
	option mesh 'bat0'&lt;br /&gt;
	option macaddr 'a2:f3:c1:65:81:cc'&lt;br /&gt;
&lt;br /&gt;
config interface 'mesh_lan'		#LAN-Kopplung: Codeblock mesh-lan hinzugefuegt&lt;br /&gt;
        option ifname 'eth0.1'&lt;br /&gt;
        option proto 'batadv'&lt;br /&gt;
        option mesh 'bat0'&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Einsperren des Freifunk-Routers in eine DMZ ==&lt;br /&gt;
&lt;br /&gt;
Wer seinen Freifunk-Router einsperren und/oder die Bandbreite begrenzen möchte, kann dies am einfachsten tun, indem er ihn an seiner Firewall an einen eigenen Netzwerkport klemmt und diesen dann als DMZ konfiguriert. Ein KBU-Freifunk-Router muß zur Zeit im LAN DHCP, DNS, im Internet NTP sowie mit den [[fastd]]-Knoten reden können. Folgendes Bespiel für eine iptables-Firewall nimmt an, dass der Freifunk-Router über eth2 angeschlossen ist:&lt;br /&gt;
&lt;br /&gt;
 # eth2 darf nur dns, ntp, dhcp und ansonsten mit den fastdX reden&lt;br /&gt;
 iptables -i eth2 -A INPUT   -p udp --dport 67:68 --sport 67:68 -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A FORWARD -p udp --dport 67:68 --sport 67:68 -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A INPUT   -p udp --dport 53                  -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A INPUT   -p tcp --dport 53                  -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A INPUT   -p tcp --dport 123                 -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A FORWARD -p udp --dport 53                  -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A FORWARD -p tcp --dport 53                  -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A FORWARD -p tcp --dport 123                 -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A FORWARD --dst 176.9.41.253                 -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A FORWARD --src 176.9.41.253                 -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A FORWARD --dst 178.63.59.41                 -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A FORWARD --src 178.63.59.41                 -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A FORWARD --dst 37.120.169.214               -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A FORWARD --src 37.120.169.214               -j ACCEPT &lt;br /&gt;
 iptables -i eth2 -A FORWARD --dst 37.221.195.47                -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A FORWARD --src 37.221.195.47                -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A FORWARD --dst 78.46.68.75                  -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A FORWARD --src 78.46.68.75                  -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A FORWARD --dst 84.201.35.206                -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A FORWARD --src 84.201.35.206                -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A INPUT                                      -j DROP&lt;br /&gt;
 iptables -i eth2 -A FORWARD                                    -j DROP&lt;br /&gt;
 # eth2 darf maximal 2000 kbit/s ein- und ausgehenden traffic machen&lt;br /&gt;
 wondershaper eth2 2000 2000&lt;br /&gt;
&lt;br /&gt;
Prinzipiell könnte man den Traffic noch weiter einschränken. DHCP und DNS müssen nur zum DHCP- bzw. DNS-Server funktionieren und der Traffic zu den fastd-Servern ließe sich auf TCP Port 80 und UDP Port 10000 begrenzen.&lt;/div&gt;</summary>
		<author><name>Linuxer</name></author>
	</entry>
	<entry>
		<id>https://kbu.freifunk.net/wiki/index.php?title=Pimp_my_Node&amp;diff=3155</id>
		<title>Pimp my Node</title>
		<link rel="alternate" type="text/html" href="https://kbu.freifunk.net/wiki/index.php?title=Pimp_my_Node&amp;diff=3155"/>
		<updated>2015-01-17T08:12:22Z</updated>

		<summary type="html">&lt;p&gt;Linuxer: /* Arbeiten auf der Shell */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Kategorie:Mitmachen]]&lt;br /&gt;
== Netztheorie/Technik und Entwicklung ==&lt;br /&gt;
Vertiefung&lt;br /&gt;
&lt;br /&gt;
*[[FSM-Dynamisches-Bridging]] &lt;br /&gt;
*[[Batman_adv]]&lt;br /&gt;
*[[Entwicklung]]&lt;br /&gt;
*[[Firmware|Firmware/Betriebssystem]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Arbeiten auf der Shell ==&lt;br /&gt;
Vorraussetzung für folgende Befehle sind eine Verbindung mit dem KBU Freifunk Netz sowie ein Terminal / Shell. &lt;br /&gt;
Vergesst nicht eth0 gegen die Bezeichnung eures Netzwerkinterfaces, welches am Freifunk hängt zu tauschen. &lt;br /&gt;
Bei Macbooks via Wlan z.B. &amp;quot;en1&amp;quot; statt &amp;quot;eth0&amp;quot;! Die link local Adresse der jeweiligen node findet ihr auf der [http://register.kbu.freifunk.net KBU Register] Seite. Um Dateien auf dem Node ändern zu können, steht als einziger Editor ''vi'' bzw. ''vim'' zur Verfügung.&lt;br /&gt;
 &lt;br /&gt;
=== IPv6 ping ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ping6 &amp;lt;link local adress des node&amp;gt;%eth0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== IPv6 ssh ===&lt;br /&gt;
Hinter der link local Adresse &amp;quot;%&amp;quot; + &amp;quot;Netzwerk Interface an eurer Kiste&amp;quot; (Hier im Beispiel eth0)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ssh root@&amp;lt;link local adress des node&amp;gt;%eth0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Hostnamen des Nodes ändern ===&lt;br /&gt;
Standardmäßig ist der Hostname des Nodes gleich der MAC-Adresse des Routers. Möchte man den Hostnamen ändern, so kann man dies in der Datei ''/etc/config/system''. Hier gibt es gleich als ersten Punkt ''config system'' und dort findet man den Eintrag&lt;br /&gt;
&amp;lt;pre&amp;gt;option hostname 'aa:bb:cc:dd:ee:ff'&amp;lt;/pre&amp;gt;&lt;br /&gt;
Hier kann man jetzt aa:bb:cc:dd:ee:ff (diese Adresse sieht bei jedem Node anders aus!) zu dem gewünschten Hostnamen ändern. Eine Änderung wird erst nach dem Kommando ''reboot'' (danach startet der Node neu) wirksam.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== ntp-Bug in Firmware 1.2.1b beseitigen ===&lt;br /&gt;
Falls sich ein Node-Betreiber wundert, warum sein Node keine Statistiken liefert und es ein Mesh-Only-Node ist (d. h. ohne eigenen Uplink zum Internet), so liegt das an einem Bug in der Firmware. Diesen kann man jedoch mit einfachen Mitteln beheben:&lt;br /&gt;
Editiert wird die Datei ''/etc/config/system''. Dort findet man einen Eintrag ''config timeserver 'ntp'''. Defaultmäßig stehen hier 4 Zeitserver von openwrt (in der Form x.openwrt.pool.ntp.org). Diese müssen bei Mesh-Only-Nodes in IPv6-Adressen geändert werden, und zwar, dass der komplette Konfigurationspunkt wie folgt aussieht:&lt;br /&gt;
&amp;lt;pre&amp;gt;config timeserver 'ntp'&lt;br /&gt;
        list server '2a03:4000:2:494::2'&lt;br /&gt;
        list server '2a01:4f8:161:2461:e4::1'&lt;br /&gt;
        list server '2a02:180:1:1::551f:bb4b'&lt;br /&gt;
        option enabled '1'&lt;br /&gt;
        option enable_server '0'&amp;lt;/pre&amp;gt;&lt;br /&gt;
Auch hier werden die Änderungen erst nach einem Neustart des Nodes mittels ''reboot'' wirksam.&lt;br /&gt;
Dieser Bug soll mit dem nächsten Firmware-Release behoben sein. Man kann die Eintragungen auch in den Nodes mit Internet-Uplink ändern ohne die Funktion zu beeinträchtigen.&lt;br /&gt;
&lt;br /&gt;
=== Firmware aktualisieren ===&lt;br /&gt;
==== Node mit uplink ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ssh root@&amp;lt;link local adress des node&amp;gt;%eth0              // SSH Verbindung zum Node aufbauen&lt;br /&gt;
cd ../tmp/                                              // in das Verzeichnis &amp;quot;tmp&amp;quot; wechseln&lt;br /&gt;
free                                                    // Freien Speicher prüfen&lt;br /&gt;
wget http://pfad/zur/firmware.bin                       // Firmware herunterladen oder&lt;br /&gt;
sysupgrade -v firmware.bin                              // Firmwareupgrade durchführen&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Achtung''': Beim Download der Firmware via wget kann auf dem Router die Integrität der Firmware nicht geprüft werden, da gpg i.d.R. auf den Routern nicht verfügbar ist. Deshalb ist es sicherer, den oben beschriebenen Weg zu wählen, oder die geprüfte Firmware per scp (s.u.) auf den Router zu kopieren. &lt;br /&gt;
&lt;br /&gt;
==== Node ohne uplink (mesh node) ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
scp -6 -v -r firmware.bin root@\[&amp;lt;linkloc&amp;gt;%eth0\]:../tmp/          // Firmware auf den node schieben (md5 checken!)&lt;br /&gt;
ssh root@&amp;lt;link local adress des node&amp;gt;%eth0 &lt;br /&gt;
cd ../tmp/  &lt;br /&gt;
sysupgrade -v firmware.bin  &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== LAN Kopplung ===&lt;br /&gt;
Eine LAN Kopplung kann in manchen Fällen sinnvoll sein, besonders wenn man einen VLAN fähigen Switch und eine bestehende Ntzwerkverkabelung hat. Hier werden die Switchports angwiesen auch über LAN zu meshen.&lt;br /&gt;
&lt;br /&gt;
==== TL-WR841ND ====&lt;br /&gt;
03/2014: Hier wird über die alle 4 LAN Ports gemeshed, Mesh über WLAN kann man optional noch ausschalten! Folgende Config stammt von rampone/FF-KBU und wurde an 2 TL-WR841N v.8 getestet mit KBU-FF-Firmware 1.1.&lt;br /&gt;
&lt;br /&gt;
''vim /etc/config/network'' - Folgende Änderungen wurden an der FF-Firmware 1.0 vorgenommen:&lt;br /&gt;
#config interface 'freifunk' -&amp;gt; Hier haben wir eth0 aus &amp;quot;ifname&amp;quot; rausgenommen, damit kein ff aus dem eth0 (switch) rauskommt.&lt;br /&gt;
#config interface 'mesh_lan' -&amp;gt; kompl. codeblock hinzugefügt, dieser bewirkt das über eth0 (switch) gemeshed wird. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
config interface 'loopback'&lt;br /&gt;
	option ifname 'lo'&lt;br /&gt;
	option proto 'static'&lt;br /&gt;
	option ipaddr '127.0.0.1'&lt;br /&gt;
	option netmask '255.0.0.0'&lt;br /&gt;
&lt;br /&gt;
config interface 'wan'&lt;br /&gt;
	option ifname 'eth0'&lt;br /&gt;
	option proto 'dhcp'&lt;br /&gt;
	option type 'bridge'&lt;br /&gt;
	option accept_ra '0'&lt;br /&gt;
	option auto '1'&lt;br /&gt;
&lt;br /&gt;
config switch&lt;br /&gt;
	option name 'switch0'&lt;br /&gt;
	option reset '1'&lt;br /&gt;
	option enable_vlan '1'&lt;br /&gt;
&lt;br /&gt;
config switch_vlan&lt;br /&gt;
	option device 'switch0'&lt;br /&gt;
	option vlan '1'&lt;br /&gt;
	option ports '0 1 2 3 4'&lt;br /&gt;
&lt;br /&gt;
config interface 'freifunk'&lt;br /&gt;
	option ifname 'bat0'		#LAN-Kopplung: ifname eth1 entfernt&lt;br /&gt;
	option type 'bridge'&lt;br /&gt;
	option proto 'none'&lt;br /&gt;
	option auto '1'&lt;br /&gt;
	option accept_ra '1'&lt;br /&gt;
	option macaddr '10:fe:ed:f1:53:84'&lt;br /&gt;
&lt;br /&gt;
config interface 'mesh'&lt;br /&gt;
	option proto 'batadv'&lt;br /&gt;
	option mtu '1528'&lt;br /&gt;
	option mesh 'bat0'&lt;br /&gt;
&lt;br /&gt;
config interface 'mesh_vpn'&lt;br /&gt;
	option ifname 'mesh-vpn'&lt;br /&gt;
	option proto 'batadv'&lt;br /&gt;
	option mesh 'bat0'&lt;br /&gt;
	option macaddr '12:fe:ed:f2:53:84'&lt;br /&gt;
&lt;br /&gt;
config interface 'mesh_lan'		#LAN-Kopplung: Codeblock mesh-lan hinzugefuegt&lt;br /&gt;
	option ifname 'eth1'&lt;br /&gt;
	option proto 'batadv'&lt;br /&gt;
	option mesh 'bat0'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''vim /etc/config/wireless'' - Hier wird der Codeblock, der für das Mesh über WLAN verantwortlich ist auskommentiert (optional)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#config wifi-iface 'wifi_mesh'&lt;br /&gt;
#       option device 'radio0'&lt;br /&gt;
#       option network 'mesh'&lt;br /&gt;
#       option mode 'adhoc'&lt;br /&gt;
#       option ssid '02:d1:11:37:fc:39'&lt;br /&gt;
#       option bssid '02:d1:11:37:fc:39&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== TL-WDR4300 ====&lt;br /&gt;
Das gleiche nochmal für den 4300er&lt;br /&gt;
&lt;br /&gt;
''vim /etc/config/network''&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
config interface 'loopback'&lt;br /&gt;
	option ifname 'lo'&lt;br /&gt;
	option proto 'static'&lt;br /&gt;
	option ipaddr '127.0.0.1'&lt;br /&gt;
	option netmask '255.0.0.0'&lt;br /&gt;
&lt;br /&gt;
config interface 'wan'&lt;br /&gt;
	option ifname 'eth0.2'&lt;br /&gt;
	option proto 'dhcp'&lt;br /&gt;
	option type 'bridge'&lt;br /&gt;
	option accept_ra '0'&lt;br /&gt;
	option auto '1'&lt;br /&gt;
	option macaddr 'a2:f3:c1:65:81:cd'&lt;br /&gt;
&lt;br /&gt;
config switch&lt;br /&gt;
	option name 'eth0'&lt;br /&gt;
	option reset '1'&lt;br /&gt;
	option enable_vlan '1'&lt;br /&gt;
&lt;br /&gt;
config switch_vlan&lt;br /&gt;
	option device 'eth0'&lt;br /&gt;
	option vlan '1'&lt;br /&gt;
	option ports '0t 2 3 4 5'&lt;br /&gt;
&lt;br /&gt;
config switch_vlan&lt;br /&gt;
	option device 'eth0'&lt;br /&gt;
	option vlan '2'&lt;br /&gt;
	option ports '0t 1'&lt;br /&gt;
&lt;br /&gt;
config interface 'freifunk'&lt;br /&gt;
	option ifname 'bat0'		#LAN-Kopplung: ifname eth0.1 entfernt&lt;br /&gt;
	option type 'bridge'&lt;br /&gt;
	option proto 'none'&lt;br /&gt;
	option auto '1'&lt;br /&gt;
	option accept_ra '1'&lt;br /&gt;
	option macaddr 'a0:f3:c1:64:81:cc'&lt;br /&gt;
&lt;br /&gt;
config interface 'mesh'&lt;br /&gt;
	option proto 'batadv'&lt;br /&gt;
	option mtu '1528'&lt;br /&gt;
	option mesh 'bat0'&lt;br /&gt;
&lt;br /&gt;
config interface 'mesh_vpn'&lt;br /&gt;
	option ifname 'mesh-vpn'&lt;br /&gt;
	option proto 'batadv'&lt;br /&gt;
	option mesh 'bat0'&lt;br /&gt;
	option macaddr 'a2:f3:c1:65:81:cc'&lt;br /&gt;
&lt;br /&gt;
config interface 'mesh_lan'		#LAN-Kopplung: Codeblock mesh-lan hinzugefuegt&lt;br /&gt;
        option ifname 'eth0.1'&lt;br /&gt;
        option proto 'batadv'&lt;br /&gt;
        option mesh 'bat0'&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Einsperren des Freifunk-Routers in eine DMZ ==&lt;br /&gt;
&lt;br /&gt;
Wer seinen Freifunk-Router einsperren und/oder die Bandbreite begrenzen möchte, kann dies am einfachsten tun, indem er ihn an seiner Firewall an einen eigenen Netzwerkport klemmt und diesen dann als DMZ konfiguriert. Ein KBU-Freifunk-Router muß zur Zeit im LAN DHCP, DNS, im Internet NTP sowie mit den [[fastd]]-Knoten reden können. Folgendes Bespiel für eine iptables-Firewall nimmt an, dass der Freifunk-Router über eth2 angeschlossen ist:&lt;br /&gt;
&lt;br /&gt;
 # eth2 darf nur dns, ntp, dhcp und ansonsten mit den fastdX reden&lt;br /&gt;
 iptables -i eth2 -A INPUT   -p udp --dport 67:68 --sport 67:68 -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A FORWARD -p udp --dport 67:68 --sport 67:68 -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A INPUT   -p udp --dport 53                  -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A INPUT   -p tcp --dport 53                  -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A INPUT   -p tcp --dport 123                 -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A FORWARD -p udp --dport 53                  -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A FORWARD -p tcp --dport 53                  -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A FORWARD -p tcp --dport 123                 -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A FORWARD --dst 176.9.41.253                 -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A FORWARD --src 176.9.41.253                 -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A FORWARD --dst 178.63.59.41                 -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A FORWARD --src 178.63.59.41                 -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A FORWARD --dst 37.120.169.214               -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A FORWARD --src 37.120.169.214               -j ACCEPT &lt;br /&gt;
 iptables -i eth2 -A FORWARD --dst 37.221.195.47                -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A FORWARD --src 37.221.195.47                -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A FORWARD --dst 78.46.68.75                  -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A FORWARD --src 78.46.68.75                  -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A FORWARD --dst 84.201.35.206                -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A FORWARD --src 84.201.35.206                -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A INPUT                                      -j DROP&lt;br /&gt;
 iptables -i eth2 -A FORWARD                                    -j DROP&lt;br /&gt;
 # eth2 darf maximal 2000 kbit/s ein- und ausgehenden traffic machen&lt;br /&gt;
 wondershaper eth2 2000 2000&lt;br /&gt;
&lt;br /&gt;
Prinzipiell könnte man den Traffic noch weiter einschränken. DHCP und DNS müssen nur zum DHCP- bzw. DNS-Server funktionieren und der Traffic zu den fastd-Servern ließe sich auf TCP Port 80 und UDP Port 10000 begrenzen.&lt;/div&gt;</summary>
		<author><name>Linuxer</name></author>
	</entry>
	<entry>
		<id>https://kbu.freifunk.net/wiki/index.php?title=Pimp_my_Node&amp;diff=3154</id>
		<title>Pimp my Node</title>
		<link rel="alternate" type="text/html" href="https://kbu.freifunk.net/wiki/index.php?title=Pimp_my_Node&amp;diff=3154"/>
		<updated>2015-01-17T08:03:37Z</updated>

		<summary type="html">&lt;p&gt;Linuxer: /* Arbeiten auf der Shell */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Kategorie:Mitmachen]]&lt;br /&gt;
== Netztheorie/Technik und Entwicklung ==&lt;br /&gt;
Vertiefung&lt;br /&gt;
&lt;br /&gt;
*[[FSM-Dynamisches-Bridging]] &lt;br /&gt;
*[[Batman_adv]]&lt;br /&gt;
*[[Entwicklung]]&lt;br /&gt;
*[[Firmware|Firmware/Betriebssystem]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Arbeiten auf der Shell ==&lt;br /&gt;
Vorraussetzung für folgende Befehle sind eine Verbindung mit dem KBU Freifunk Netz sowie ein Terminal / Shell. &lt;br /&gt;
Vergesst nicht eth0 gegen die Bezeichnung eures Netzwerkinterfaces, welches am Freifunk hängt zu tauschen. &lt;br /&gt;
Bei Macbooks via Wlan z.B. &amp;quot;en1&amp;quot; statt &amp;quot;eth0&amp;quot;! Die link local Adresse der jeweiligen node findet ihr auf der [http://register.kbu.freifunk.net KBU Register] Seite. Um Dateien auf dem Node ändern zu können, steht als einziger Editor ''vi'' zur Verfügung.&lt;br /&gt;
 &lt;br /&gt;
=== IPv6 ping ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ping6 &amp;lt;link local adress des node&amp;gt;%eth0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== IPv6 ssh ===&lt;br /&gt;
Hinter der link local Adresse &amp;quot;%&amp;quot; + &amp;quot;Netzwerk Interface an eurer Kiste&amp;quot; (Hier im Beispiel eth0)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ssh root@&amp;lt;link local adress des node&amp;gt;%eth0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Hostnamen des Nodes ändern ===&lt;br /&gt;
Standardmäßig ist der Hostname des Nodes gleich der MAC-Adresse des Routers. Möchte man den Hostnamen ändern, so kann man dies in der Datei ''/etc/config/system''. Hier gibt es gleich als ersten Punkt ''config system'' und dort findet man den Eintrag&lt;br /&gt;
&amp;lt;pre&amp;gt;option hostname 'aa:bb:cc:dd:ee:ff'&amp;lt;/pre&amp;gt;&lt;br /&gt;
Hier kann man jetzt aa:bb:cc:dd:ee:ff (diese Adresse sieht bei jedem Node anders aus!) zu dem gewünschten Hostnamen ändern. Eine Änderung wird erst nach dem Kommando ''reboot'' (danach startet der Node neu) wirksam.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== ntp-Bug in Firmware 1.2.1b beseitigen ===&lt;br /&gt;
Falls sich ein Node-Betreiber wundert, warum sein Node keine Statistiken liefert und es ein Mesh-Only-Node ist (d. h. ohne eigenen Uplink zum Internet), so liegt das an einem Bug in der Firmware. Diesen kann man jedoch mit einfachen Mitteln beheben:&lt;br /&gt;
Editiert wird die Datei ''/etc/config/system''. Dort findet man einen Eintrag ''config timeserver 'ntp'''. Defaultmäßig stehen hier 4 Zeitserver von openwrt (in der Form x.openwrt.pool.ntp.org). Diese müssen bei Mesh-Only-Nodes in IPv6-Adressen geändert werden, und zwar, dass der komplette Konfigurationspunkt wie folgt aussieht:&lt;br /&gt;
&amp;lt;pre&amp;gt;config timeserver 'ntp'&lt;br /&gt;
        list server '2a03:4000:2:494::2'&lt;br /&gt;
        list server '2a01:4f8:161:2461:e4::1'&lt;br /&gt;
        list server '2a02:180:1:1::551f:bb4b'&lt;br /&gt;
        option enabled '1'&lt;br /&gt;
        option enable_server '0'&amp;lt;/pre&amp;gt;&lt;br /&gt;
Auch hier werden die Änderungen erst nach einem Neustart des Nodes mittels ''reboot'' wirksam.&lt;br /&gt;
Dieser Bug soll mit dem nächsten Firmware-Release behoben sein. Man kann die Eintragungen auch in den Nodes mit Internet-Uplink ändern ohne die Funktion zu beeinträchtigen.&lt;br /&gt;
&lt;br /&gt;
=== Firmware aktualisieren ===&lt;br /&gt;
==== Node mit uplink ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ssh root@&amp;lt;link local adress des node&amp;gt;%eth0              // SSH Verbindung zum Node aufbauen&lt;br /&gt;
cd ../tmp/                                              // in das Verzeichnis &amp;quot;tmp&amp;quot; wechseln&lt;br /&gt;
free                                                    // Freien Speicher prüfen&lt;br /&gt;
wget http://pfad/zur/firmware.bin                       // Firmware herunterladen oder&lt;br /&gt;
sysupgrade -v firmware.bin                              // Firmwareupgrade durchführen&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Achtung''': Beim Download der Firmware via wget kann auf dem Router die Integrität der Firmware nicht geprüft werden, da gpg i.d.R. auf den Routern nicht verfügbar ist. Deshalb ist es sicherer, den oben beschriebenen Weg zu wählen, oder die geprüfte Firmware per scp (s.u.) auf den Router zu kopieren. &lt;br /&gt;
&lt;br /&gt;
==== Node ohne uplink (mesh node) ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
scp -6 -v -r firmware.bin root@\[&amp;lt;linkloc&amp;gt;%eth0\]:../tmp/          // Firmware auf den node schieben (md5 checken!)&lt;br /&gt;
ssh root@&amp;lt;link local adress des node&amp;gt;%eth0 &lt;br /&gt;
cd ../tmp/  &lt;br /&gt;
sysupgrade -v firmware.bin  &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== LAN Kopplung ===&lt;br /&gt;
Eine LAN Kopplung kann in manchen Fällen sinnvoll sein, besonders wenn man einen VLAN fähigen Switch und eine bestehende Ntzwerkverkabelung hat. Hier werden die Switchports angwiesen auch über LAN zu meshen.&lt;br /&gt;
&lt;br /&gt;
==== TL-WR841ND ====&lt;br /&gt;
03/2014: Hier wird über die alle 4 LAN Ports gemeshed, Mesh über WLAN kann man optional noch ausschalten! Folgende Config stammt von rampone/FF-KBU und wurde an 2 TL-WR841N v.8 getestet mit KBU-FF-Firmware 1.1.&lt;br /&gt;
&lt;br /&gt;
''vim /etc/config/network'' - Folgende Änderungen wurden an der FF-Firmware 1.0 vorgenommen:&lt;br /&gt;
#config interface 'freifunk' -&amp;gt; Hier haben wir eth0 aus &amp;quot;ifname&amp;quot; rausgenommen, damit kein ff aus dem eth0 (switch) rauskommt.&lt;br /&gt;
#config interface 'mesh_lan' -&amp;gt; kompl. codeblock hinzugefügt, dieser bewirkt das über eth0 (switch) gemeshed wird. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
config interface 'loopback'&lt;br /&gt;
	option ifname 'lo'&lt;br /&gt;
	option proto 'static'&lt;br /&gt;
	option ipaddr '127.0.0.1'&lt;br /&gt;
	option netmask '255.0.0.0'&lt;br /&gt;
&lt;br /&gt;
config interface 'wan'&lt;br /&gt;
	option ifname 'eth0'&lt;br /&gt;
	option proto 'dhcp'&lt;br /&gt;
	option type 'bridge'&lt;br /&gt;
	option accept_ra '0'&lt;br /&gt;
	option auto '1'&lt;br /&gt;
&lt;br /&gt;
config switch&lt;br /&gt;
	option name 'switch0'&lt;br /&gt;
	option reset '1'&lt;br /&gt;
	option enable_vlan '1'&lt;br /&gt;
&lt;br /&gt;
config switch_vlan&lt;br /&gt;
	option device 'switch0'&lt;br /&gt;
	option vlan '1'&lt;br /&gt;
	option ports '0 1 2 3 4'&lt;br /&gt;
&lt;br /&gt;
config interface 'freifunk'&lt;br /&gt;
	option ifname 'bat0'		#LAN-Kopplung: ifname eth1 entfernt&lt;br /&gt;
	option type 'bridge'&lt;br /&gt;
	option proto 'none'&lt;br /&gt;
	option auto '1'&lt;br /&gt;
	option accept_ra '1'&lt;br /&gt;
	option macaddr '10:fe:ed:f1:53:84'&lt;br /&gt;
&lt;br /&gt;
config interface 'mesh'&lt;br /&gt;
	option proto 'batadv'&lt;br /&gt;
	option mtu '1528'&lt;br /&gt;
	option mesh 'bat0'&lt;br /&gt;
&lt;br /&gt;
config interface 'mesh_vpn'&lt;br /&gt;
	option ifname 'mesh-vpn'&lt;br /&gt;
	option proto 'batadv'&lt;br /&gt;
	option mesh 'bat0'&lt;br /&gt;
	option macaddr '12:fe:ed:f2:53:84'&lt;br /&gt;
&lt;br /&gt;
config interface 'mesh_lan'		#LAN-Kopplung: Codeblock mesh-lan hinzugefuegt&lt;br /&gt;
	option ifname 'eth1'&lt;br /&gt;
	option proto 'batadv'&lt;br /&gt;
	option mesh 'bat0'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''vim /etc/config/wireless'' - Hier wird der Codeblock, der für das Mesh über WLAN verantwortlich ist auskommentiert (optional)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#config wifi-iface 'wifi_mesh'&lt;br /&gt;
#       option device 'radio0'&lt;br /&gt;
#       option network 'mesh'&lt;br /&gt;
#       option mode 'adhoc'&lt;br /&gt;
#       option ssid '02:d1:11:37:fc:39'&lt;br /&gt;
#       option bssid '02:d1:11:37:fc:39&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== TL-WDR4300 ====&lt;br /&gt;
Das gleiche nochmal für den 4300er&lt;br /&gt;
&lt;br /&gt;
''vim /etc/config/network''&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
config interface 'loopback'&lt;br /&gt;
	option ifname 'lo'&lt;br /&gt;
	option proto 'static'&lt;br /&gt;
	option ipaddr '127.0.0.1'&lt;br /&gt;
	option netmask '255.0.0.0'&lt;br /&gt;
&lt;br /&gt;
config interface 'wan'&lt;br /&gt;
	option ifname 'eth0.2'&lt;br /&gt;
	option proto 'dhcp'&lt;br /&gt;
	option type 'bridge'&lt;br /&gt;
	option accept_ra '0'&lt;br /&gt;
	option auto '1'&lt;br /&gt;
	option macaddr 'a2:f3:c1:65:81:cd'&lt;br /&gt;
&lt;br /&gt;
config switch&lt;br /&gt;
	option name 'eth0'&lt;br /&gt;
	option reset '1'&lt;br /&gt;
	option enable_vlan '1'&lt;br /&gt;
&lt;br /&gt;
config switch_vlan&lt;br /&gt;
	option device 'eth0'&lt;br /&gt;
	option vlan '1'&lt;br /&gt;
	option ports '0t 2 3 4 5'&lt;br /&gt;
&lt;br /&gt;
config switch_vlan&lt;br /&gt;
	option device 'eth0'&lt;br /&gt;
	option vlan '2'&lt;br /&gt;
	option ports '0t 1'&lt;br /&gt;
&lt;br /&gt;
config interface 'freifunk'&lt;br /&gt;
	option ifname 'bat0'		#LAN-Kopplung: ifname eth0.1 entfernt&lt;br /&gt;
	option type 'bridge'&lt;br /&gt;
	option proto 'none'&lt;br /&gt;
	option auto '1'&lt;br /&gt;
	option accept_ra '1'&lt;br /&gt;
	option macaddr 'a0:f3:c1:64:81:cc'&lt;br /&gt;
&lt;br /&gt;
config interface 'mesh'&lt;br /&gt;
	option proto 'batadv'&lt;br /&gt;
	option mtu '1528'&lt;br /&gt;
	option mesh 'bat0'&lt;br /&gt;
&lt;br /&gt;
config interface 'mesh_vpn'&lt;br /&gt;
	option ifname 'mesh-vpn'&lt;br /&gt;
	option proto 'batadv'&lt;br /&gt;
	option mesh 'bat0'&lt;br /&gt;
	option macaddr 'a2:f3:c1:65:81:cc'&lt;br /&gt;
&lt;br /&gt;
config interface 'mesh_lan'		#LAN-Kopplung: Codeblock mesh-lan hinzugefuegt&lt;br /&gt;
        option ifname 'eth0.1'&lt;br /&gt;
        option proto 'batadv'&lt;br /&gt;
        option mesh 'bat0'&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Einsperren des Freifunk-Routers in eine DMZ ==&lt;br /&gt;
&lt;br /&gt;
Wer seinen Freifunk-Router einsperren und/oder die Bandbreite begrenzen möchte, kann dies am einfachsten tun, indem er ihn an seiner Firewall an einen eigenen Netzwerkport klemmt und diesen dann als DMZ konfiguriert. Ein KBU-Freifunk-Router muß zur Zeit im LAN DHCP, DNS, im Internet NTP sowie mit den [[fastd]]-Knoten reden können. Folgendes Bespiel für eine iptables-Firewall nimmt an, dass der Freifunk-Router über eth2 angeschlossen ist:&lt;br /&gt;
&lt;br /&gt;
 # eth2 darf nur dns, ntp, dhcp und ansonsten mit den fastdX reden&lt;br /&gt;
 iptables -i eth2 -A INPUT   -p udp --dport 67:68 --sport 67:68 -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A FORWARD -p udp --dport 67:68 --sport 67:68 -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A INPUT   -p udp --dport 53                  -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A INPUT   -p tcp --dport 53                  -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A INPUT   -p tcp --dport 123                 -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A FORWARD -p udp --dport 53                  -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A FORWARD -p tcp --dport 53                  -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A FORWARD -p tcp --dport 123                 -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A FORWARD --dst 176.9.41.253                 -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A FORWARD --src 176.9.41.253                 -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A FORWARD --dst 178.63.59.41                 -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A FORWARD --src 178.63.59.41                 -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A FORWARD --dst 37.120.169.214               -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A FORWARD --src 37.120.169.214               -j ACCEPT &lt;br /&gt;
 iptables -i eth2 -A FORWARD --dst 37.221.195.47                -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A FORWARD --src 37.221.195.47                -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A FORWARD --dst 78.46.68.75                  -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A FORWARD --src 78.46.68.75                  -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A FORWARD --dst 84.201.35.206                -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A FORWARD --src 84.201.35.206                -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A INPUT                                      -j DROP&lt;br /&gt;
 iptables -i eth2 -A FORWARD                                    -j DROP&lt;br /&gt;
 # eth2 darf maximal 2000 kbit/s ein- und ausgehenden traffic machen&lt;br /&gt;
 wondershaper eth2 2000 2000&lt;br /&gt;
&lt;br /&gt;
Prinzipiell könnte man den Traffic noch weiter einschränken. DHCP und DNS müssen nur zum DHCP- bzw. DNS-Server funktionieren und der Traffic zu den fastd-Servern ließe sich auf TCP Port 80 und UDP Port 10000 begrenzen.&lt;/div&gt;</summary>
		<author><name>Linuxer</name></author>
	</entry>
	<entry>
		<id>https://kbu.freifunk.net/wiki/index.php?title=Pimp_my_Node&amp;diff=3153</id>
		<title>Pimp my Node</title>
		<link rel="alternate" type="text/html" href="https://kbu.freifunk.net/wiki/index.php?title=Pimp_my_Node&amp;diff=3153"/>
		<updated>2015-01-17T07:47:03Z</updated>

		<summary type="html">&lt;p&gt;Linuxer: /* Arbeiten auf der Shell */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Kategorie:Mitmachen]]&lt;br /&gt;
== Netztheorie/Technik und Entwicklung ==&lt;br /&gt;
Vertiefung&lt;br /&gt;
&lt;br /&gt;
*[[FSM-Dynamisches-Bridging]] &lt;br /&gt;
*[[Batman_adv]]&lt;br /&gt;
*[[Entwicklung]]&lt;br /&gt;
*[[Firmware|Firmware/Betriebssystem]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Arbeiten auf der Shell ==&lt;br /&gt;
Vorraussetzung für folgende Befehle sind eine Verbindung mit dem KBU Freifunk Netz sowie ein Terminal / Shell. &lt;br /&gt;
Vergesst nicht eth0 gegen die Bezeichnung eures Netzwerkinterfaces, welches am Freifunk hängt zu tauschen. &lt;br /&gt;
Bei Macbooks via Wlan z.B. &amp;quot;en1&amp;quot; statt &amp;quot;eth0&amp;quot;! Die link local Adresse der jeweiligen node findet ihr auf der [http://register.kbu.freifunk.net KBU Register] Seite. &lt;br /&gt;
=== IPv6 ping ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ping6 &amp;lt;link local adress des node&amp;gt;%eth0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== IPv6 ssh ===&lt;br /&gt;
Hinter der link local Adresse &amp;quot;%&amp;quot; + &amp;quot;Netzwerk Interface an eurer Kiste&amp;quot; (Hier im Beispiel eth0)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ssh root@&amp;lt;link local adress des node&amp;gt;%eth0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Hostnamen des Nodes ändern ===&lt;br /&gt;
Standardmäßig ist der Hostname des Nodes gleich der MAC-Adresse des Routers. Möchte man den Hostnamen ändern, so kann man dies in der Datei ''/etc/config/system''. Hier gibt es gleich als ersten Punkt ''config system'' und dort findet man den Eintrag&lt;br /&gt;
&amp;lt;pre&amp;gt;option hostname 'aa:bb:cc:dd:ee:ff'&amp;lt;/pre&amp;gt;&lt;br /&gt;
Hier kann man jetzt aa:bb:cc:dd:ee:ff (diese Adresse sieht bei jedem Node anders aus!) zu dem gewünschten Hostnamen ändern. Eine Änderung wird erst nach dem Kommando ''reboot'' (danach startet der Node neu) wirksam.&lt;br /&gt;
&lt;br /&gt;
=== Firmware aktualisieren ===&lt;br /&gt;
==== Node mit uplink ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
ssh root@&amp;lt;link local adress des node&amp;gt;%eth0              // SSH Verbindung zum Node aufbauen&lt;br /&gt;
cd ../tmp/                                              // in das Verzeichnis &amp;quot;tmp&amp;quot; wechseln&lt;br /&gt;
free                                                    // Freien Speicher prüfen&lt;br /&gt;
wget http://pfad/zur/firmware.bin                       // Firmware herunterladen oder&lt;br /&gt;
sysupgrade -v firmware.bin                              // Firmwareupgrade durchführen&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Achtung''': Beim Download der Firmware via wget kann auf dem Router die Integrität der Firmware nicht geprüft werden, da gpg i.d.R. auf den Routern nicht verfügbar ist. Deshalb ist es sicherer, den oben beschriebenen Weg zu wählen, oder die geprüfte Firmware per scp (s.u.) auf den Router zu kopieren. &lt;br /&gt;
&lt;br /&gt;
==== Node ohne uplink (mesh node) ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
scp -6 -v -r firmware.bin root@\[&amp;lt;linkloc&amp;gt;%eth0\]:../tmp/          // Firmware auf den node schieben (md5 checken!)&lt;br /&gt;
ssh root@&amp;lt;link local adress des node&amp;gt;%eth0 &lt;br /&gt;
cd ../tmp/  &lt;br /&gt;
sysupgrade -v firmware.bin  &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== LAN Kopplung ===&lt;br /&gt;
Eine LAN Kopplung kann in manchen Fällen sinnvoll sein, besonders wenn man einen VLAN fähigen Switch und eine bestehende Ntzwerkverkabelung hat. Hier werden die Switchports angwiesen auch über LAN zu meshen.&lt;br /&gt;
&lt;br /&gt;
==== TL-WR841ND ====&lt;br /&gt;
03/2014: Hier wird über die alle 4 LAN Ports gemeshed, Mesh über WLAN kann man optional noch ausschalten! Folgende Config stammt von rampone/FF-KBU und wurde an 2 TL-WR841N v.8 getestet mit KBU-FF-Firmware 1.1.&lt;br /&gt;
&lt;br /&gt;
''vim /etc/config/network'' - Folgende Änderungen wurden an der FF-Firmware 1.0 vorgenommen:&lt;br /&gt;
#config interface 'freifunk' -&amp;gt; Hier haben wir eth0 aus &amp;quot;ifname&amp;quot; rausgenommen, damit kein ff aus dem eth0 (switch) rauskommt.&lt;br /&gt;
#config interface 'mesh_lan' -&amp;gt; kompl. codeblock hinzugefügt, dieser bewirkt das über eth0 (switch) gemeshed wird. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
config interface 'loopback'&lt;br /&gt;
	option ifname 'lo'&lt;br /&gt;
	option proto 'static'&lt;br /&gt;
	option ipaddr '127.0.0.1'&lt;br /&gt;
	option netmask '255.0.0.0'&lt;br /&gt;
&lt;br /&gt;
config interface 'wan'&lt;br /&gt;
	option ifname 'eth0'&lt;br /&gt;
	option proto 'dhcp'&lt;br /&gt;
	option type 'bridge'&lt;br /&gt;
	option accept_ra '0'&lt;br /&gt;
	option auto '1'&lt;br /&gt;
&lt;br /&gt;
config switch&lt;br /&gt;
	option name 'switch0'&lt;br /&gt;
	option reset '1'&lt;br /&gt;
	option enable_vlan '1'&lt;br /&gt;
&lt;br /&gt;
config switch_vlan&lt;br /&gt;
	option device 'switch0'&lt;br /&gt;
	option vlan '1'&lt;br /&gt;
	option ports '0 1 2 3 4'&lt;br /&gt;
&lt;br /&gt;
config interface 'freifunk'&lt;br /&gt;
	option ifname 'bat0'		#LAN-Kopplung: ifname eth1 entfernt&lt;br /&gt;
	option type 'bridge'&lt;br /&gt;
	option proto 'none'&lt;br /&gt;
	option auto '1'&lt;br /&gt;
	option accept_ra '1'&lt;br /&gt;
	option macaddr '10:fe:ed:f1:53:84'&lt;br /&gt;
&lt;br /&gt;
config interface 'mesh'&lt;br /&gt;
	option proto 'batadv'&lt;br /&gt;
	option mtu '1528'&lt;br /&gt;
	option mesh 'bat0'&lt;br /&gt;
&lt;br /&gt;
config interface 'mesh_vpn'&lt;br /&gt;
	option ifname 'mesh-vpn'&lt;br /&gt;
	option proto 'batadv'&lt;br /&gt;
	option mesh 'bat0'&lt;br /&gt;
	option macaddr '12:fe:ed:f2:53:84'&lt;br /&gt;
&lt;br /&gt;
config interface 'mesh_lan'		#LAN-Kopplung: Codeblock mesh-lan hinzugefuegt&lt;br /&gt;
	option ifname 'eth1'&lt;br /&gt;
	option proto 'batadv'&lt;br /&gt;
	option mesh 'bat0'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''vim /etc/config/wireless'' - Hier wird der Codeblock, der für das Mesh über WLAN verantwortlich ist auskommentiert (optional)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#config wifi-iface 'wifi_mesh'&lt;br /&gt;
#       option device 'radio0'&lt;br /&gt;
#       option network 'mesh'&lt;br /&gt;
#       option mode 'adhoc'&lt;br /&gt;
#       option ssid '02:d1:11:37:fc:39'&lt;br /&gt;
#       option bssid '02:d1:11:37:fc:39&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== TL-WDR4300 ====&lt;br /&gt;
Das gleiche nochmal für den 4300er&lt;br /&gt;
&lt;br /&gt;
''vim /etc/config/network''&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
config interface 'loopback'&lt;br /&gt;
	option ifname 'lo'&lt;br /&gt;
	option proto 'static'&lt;br /&gt;
	option ipaddr '127.0.0.1'&lt;br /&gt;
	option netmask '255.0.0.0'&lt;br /&gt;
&lt;br /&gt;
config interface 'wan'&lt;br /&gt;
	option ifname 'eth0.2'&lt;br /&gt;
	option proto 'dhcp'&lt;br /&gt;
	option type 'bridge'&lt;br /&gt;
	option accept_ra '0'&lt;br /&gt;
	option auto '1'&lt;br /&gt;
	option macaddr 'a2:f3:c1:65:81:cd'&lt;br /&gt;
&lt;br /&gt;
config switch&lt;br /&gt;
	option name 'eth0'&lt;br /&gt;
	option reset '1'&lt;br /&gt;
	option enable_vlan '1'&lt;br /&gt;
&lt;br /&gt;
config switch_vlan&lt;br /&gt;
	option device 'eth0'&lt;br /&gt;
	option vlan '1'&lt;br /&gt;
	option ports '0t 2 3 4 5'&lt;br /&gt;
&lt;br /&gt;
config switch_vlan&lt;br /&gt;
	option device 'eth0'&lt;br /&gt;
	option vlan '2'&lt;br /&gt;
	option ports '0t 1'&lt;br /&gt;
&lt;br /&gt;
config interface 'freifunk'&lt;br /&gt;
	option ifname 'bat0'		#LAN-Kopplung: ifname eth0.1 entfernt&lt;br /&gt;
	option type 'bridge'&lt;br /&gt;
	option proto 'none'&lt;br /&gt;
	option auto '1'&lt;br /&gt;
	option accept_ra '1'&lt;br /&gt;
	option macaddr 'a0:f3:c1:64:81:cc'&lt;br /&gt;
&lt;br /&gt;
config interface 'mesh'&lt;br /&gt;
	option proto 'batadv'&lt;br /&gt;
	option mtu '1528'&lt;br /&gt;
	option mesh 'bat0'&lt;br /&gt;
&lt;br /&gt;
config interface 'mesh_vpn'&lt;br /&gt;
	option ifname 'mesh-vpn'&lt;br /&gt;
	option proto 'batadv'&lt;br /&gt;
	option mesh 'bat0'&lt;br /&gt;
	option macaddr 'a2:f3:c1:65:81:cc'&lt;br /&gt;
&lt;br /&gt;
config interface 'mesh_lan'		#LAN-Kopplung: Codeblock mesh-lan hinzugefuegt&lt;br /&gt;
        option ifname 'eth0.1'&lt;br /&gt;
        option proto 'batadv'&lt;br /&gt;
        option mesh 'bat0'&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Einsperren des Freifunk-Routers in eine DMZ ==&lt;br /&gt;
&lt;br /&gt;
Wer seinen Freifunk-Router einsperren und/oder die Bandbreite begrenzen möchte, kann dies am einfachsten tun, indem er ihn an seiner Firewall an einen eigenen Netzwerkport klemmt und diesen dann als DMZ konfiguriert. Ein KBU-Freifunk-Router muß zur Zeit im LAN DHCP, DNS, im Internet NTP sowie mit den [[fastd]]-Knoten reden können. Folgendes Bespiel für eine iptables-Firewall nimmt an, dass der Freifunk-Router über eth2 angeschlossen ist:&lt;br /&gt;
&lt;br /&gt;
 # eth2 darf nur dns, ntp, dhcp und ansonsten mit den fastdX reden&lt;br /&gt;
 iptables -i eth2 -A INPUT   -p udp --dport 67:68 --sport 67:68 -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A FORWARD -p udp --dport 67:68 --sport 67:68 -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A INPUT   -p udp --dport 53                  -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A INPUT   -p tcp --dport 53                  -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A INPUT   -p tcp --dport 123                 -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A FORWARD -p udp --dport 53                  -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A FORWARD -p tcp --dport 53                  -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A FORWARD -p tcp --dport 123                 -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A FORWARD --dst 176.9.41.253                 -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A FORWARD --src 176.9.41.253                 -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A FORWARD --dst 178.63.59.41                 -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A FORWARD --src 178.63.59.41                 -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A FORWARD --dst 37.120.169.214               -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A FORWARD --src 37.120.169.214               -j ACCEPT &lt;br /&gt;
 iptables -i eth2 -A FORWARD --dst 37.221.195.47                -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A FORWARD --src 37.221.195.47                -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A FORWARD --dst 78.46.68.75                  -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A FORWARD --src 78.46.68.75                  -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A FORWARD --dst 84.201.35.206                -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A FORWARD --src 84.201.35.206                -j ACCEPT&lt;br /&gt;
 iptables -i eth2 -A INPUT                                      -j DROP&lt;br /&gt;
 iptables -i eth2 -A FORWARD                                    -j DROP&lt;br /&gt;
 # eth2 darf maximal 2000 kbit/s ein- und ausgehenden traffic machen&lt;br /&gt;
 wondershaper eth2 2000 2000&lt;br /&gt;
&lt;br /&gt;
Prinzipiell könnte man den Traffic noch weiter einschränken. DHCP und DNS müssen nur zum DHCP- bzw. DNS-Server funktionieren und der Traffic zu den fastd-Servern ließe sich auf TCP Port 80 und UDP Port 10000 begrenzen.&lt;/div&gt;</summary>
		<author><name>Linuxer</name></author>
	</entry>
</feed>