Freifunk

Aus d0b
Zur Navigation springenZur Suche springen


Freifunk Mitmachseite

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:

  1. config interface 'freifunk' -> Hier haben wir eth0 aus "ifname" rausgenommen, damit kein ff aus dem eth0 (switch) rauskommt.
  2. 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::