Freifunk
Inhaltsverzeichnis
Node Shell Zeug
Vorraussetzung für folgende Befehle sind eine Verbindung mit dem KBU Freifunk Netz sowie ein Terminal / Shell. Vergesst nicht eth0 gegen die Bezeichnung eures Netzwerkinterfaces, welches am Freifunk hängt zu tauschen. Bei Macbooks via Wlan z.B. "en1" statt "eth0"!
IPv6 ping
ping6 <link local adress des node>%eth0
IPv6 ssh - Hinter der link local Adresse "%" + "Netzwerk Interface an eurer Kiste"
ssh root@<link local adress des node>%eth0
Firmware upgrade bei node mit uplink
ssh root@<link local adress des node>%eth0 // SSH Verbindung zum Node aufbauen cd ../tmp/ // in das Verzeichnis "tmp" wechseln free // Freien Speicher prüfen wget http://pfad/zur/firmware.bin // Firmware herunterladen oder sysupgrade -v firmware.bin // Firmwareupgrade durchführen
Firmware upgrade bei node ohne uplink
scp -6 -v -r firmware.bin root@\[<linkloc%eth0\]:../tmp/ // Firmware auf den node schieben (md5 checken!) ssh root@<link local adress des node>%eth0 cd ../tmp/ sysupgrade -v firmware.bin
Links
Config Zeug
Hostname ändern
vim /etc/config/system
config system option hostname 'Freifunk-10feeda0507c' #Hostname = Nodename option timezone 'CET-1CEST,M3.5.0,M10.5.0/3'
LAN Kopplung
TL-WR841ND
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.
vim /etc/config/network - Folgende Änderungen wurden an der FF-Firmware 1.0 vorgenommen:
- config interface 'freifunk' -> Hier haben wir eth0 aus "ifname" rausgenommen, damit kein ff aus dem eth0 (switch) rauskommt.
- config interface 'mesh_lan' -> kompl. codeblock hinzugefügt, dieser bewirkt das über eth0 (switch) gemeshed wird.
config interface 'loopback' option ifname 'lo' option proto 'static' option ipaddr '127.0.0.1' option netmask '255.0.0.0' config interface 'wan' option ifname 'eth0' option proto 'dhcp' option type 'bridge' option accept_ra '0' option auto '1' config switch option name 'switch0' option reset '1' option enable_vlan '1' config switch_vlan option device 'switch0' option vlan '1' option ports '0 1 2 3 4' config interface 'freifunk' option ifname 'bat0' #LAN-Kopplung: ifname eth1 entfernt option type 'bridge' option proto 'none' option auto '1' option accept_ra '1' option macaddr '10:fe:ed:f1:53:84' config interface 'mesh' option proto 'batadv' option mtu '1528' option mesh 'bat0' config interface 'mesh_vpn' option ifname 'mesh-vpn' option proto 'batadv' option mesh 'bat0' option macaddr '12:fe:ed:f2:53:84' config interface 'mesh_lan' #LAN-Kopplung: Codeblock mesh-lan hinzugefuegt option ifname 'eth1' option proto 'batadv' option mesh 'bat0'
vim /etc/config/wireless - Hier wird der Codeblock, der für das Mesh über WLAN verantwortlich ist auskommentiert (optional)
#config wifi-iface 'wifi_mesh' # option device 'radio0' # option network 'mesh' # option mode 'adhoc' # option ssid '02:d1:11:37:fc:39' # option bssid '02:d1:11:37:fc:39
TL-WDR4300
Das gleiche nochmal für den 4300er
vim /etc/config/network
config interface 'loopback' option ifname 'lo' option proto 'static' option ipaddr '127.0.0.1' option netmask '255.0.0.0' config interface 'wan' option ifname 'eth0.2' option proto 'dhcp' option type 'bridge' option accept_ra '0' option auto '1' option macaddr 'a2:f3:c1:65:81:cd' config switch option name 'eth0' option reset '1' option enable_vlan '1' config switch_vlan option device 'eth0' option vlan '1' option ports '0t 2 3 4 5' config switch_vlan option device 'eth0' option vlan '2' option ports '0t 1' config interface 'freifunk' option ifname 'bat0' #LAN-Kopplung: ifname eth0.1 entfernt option type 'bridge' option proto 'none' option auto '1' option accept_ra '1' option macaddr 'a0:f3:c1:64:81:cc' config interface 'mesh' option proto 'batadv' option mtu '1528' option mesh 'bat0' config interface 'mesh_vpn' option ifname 'mesh-vpn' option proto 'batadv' option mesh 'bat0' option macaddr 'a2:f3:c1:65:81:cc' config interface 'mesh_lan' #LAN-Kopplung: Codeblock mesh-lan hinzugefuegt option ifname 'eth0.1' option proto 'batadv' option mesh 'bat0'
Sonstiges
Extern erreichbare ipv6
ip address show br-freifunk link/ether a0:f3:c1:64:81:cc brd ff:ff:ff:ff:ff:ff inet6 2001:4dd0:2019:xxx:xxxx:xxxx:xxxx:xxxx/64 scope global dynamic valid_lft 81269sec preferred_lft 9269sec inet6 2001:67c:20a0:xxx:xxxx:xxxx:xxxx:xxxx/64 scope global dynamic valid_lft 86395sec preferred_lft 14395sec inet6 2001:67c:20a0:xxx:xxxx:xxxx:xxxx:xxxx/64 scope global dynamic valid_lft 86395sec preferred_lft 14395sec inet6 2001:67c:20a0:xxx:xxxx:xxxx:xxxx:xxxx/64 scope global dynamic valid_lft 86395sec preferred_lft 14395sec
FF KBU Website
Jekyll Setup
Nach diesen Kochrezept hab ich die IDE für OS 10.6.8 aufgesetzt, an der Stelle danke an gevatter für die Einführung!
Als erstes lege ich irgendwo ein Verzeichnis an, in dem ich die Seite ablegen möchte, um Sie zu bearbeiten. Anschliessend wechsele ich in das neu angelegte Verzeichnis.
mkdir /verzeichnis/zur/website/ cd /verzeichnis/zur/website/
Nun werden die notwenigen Jekyll Komponenten installiert. Wer OS X User ist, sollte sich erstmal Macports besorgen. Ubuntu/ Debian Nutzer ersetzen das "port" gegen "aptitude".
sudo port install ruby1.9 gem1.9 ImageMagick git-core Jekyll
Aktuellen Source der Page clonen
git clone https://github.com/ff-kbu/website.git
Jetzt installieren wir noch bundler
gem1.9 install bundler bundle install
Soweit so gut, jetzt können wir:
jekyll build // die Seite bauen jekyll -w // uns Änderungen anzeigen lassen jekyll serve -w // Einen lokalen Server starten auf port 4000 (http://0.0.0.0:4000) auf dem wir eine Vorschau haben
Wenn die Änderungen eingearbeitet sind, wird diese in euer eigenes Repository gepusht, von hier können die Admins die Änderungen einsehen und ggf. einarbeiten in die produktive Seite.
Wer einen Account auf github hat, kann so von der Shell auf ein neues Repo erstellen:
touch README.md git init git add README.md git commit -m "first commit" git remote add origin https://github.com/username/repo-name.git git push -u origin master
Troubleshooting
error: undefined method `size' for nil:NilClass. Use --trace to view backtrace
sollte mal prüfen ob ImageMagick installiert ist. Bei OS X ist es default nicht dabei!
sudo port install ImageMagick
Sonstiges
Link Local Adresse = fe80::