<?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=Sajumanodo</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=Sajumanodo"/>
	<link rel="alternate" type="text/html" href="https://kbu.freifunk.net/wiki/index.php?title=Spezial:Beitr%C3%A4ge/Sajumanodo"/>
	<updated>2026-04-11T18:26:30Z</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=3187</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=3187"/>
		<updated>2015-01-27T23:09:43Z</updated>

		<summary type="html">&lt;p&gt;Sajumanodo: /* 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;
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>Sajumanodo</name></author>
	</entry>
</feed>