Commit 224847d9 authored by chrissi^'s avatar chrissi^

Content from the Wiki: Old but still loveable

This are pages that have been taken from wiki.freifunk-bs.de before
we have taken it down.

We hope that we can recycle some of this contents for our new
website.
Signed-off-by: chrissi^'s avatarChris Fiege <chris@tinyhost.de>
parent 8eaa4c9e
disabled: true
title: Bullet M2
{{Infobox Router
|Name = Bullet M2
|Bild = Router_Bullet_side.jpg
|Bildunterschrift = ''Bullet M2''
|Hersteller = Ubiquity
|Modell = Bullet M2
|2.4GHz = Ja
|5GHz = Nein
|Standards = IEEE 802.11n,g,b
|Antennen = keine
|AbstrahlungHorizontal = n/a
|AbstrahlungVertikal = n/a
|Reichweite = n/a
|Outdoor = Outdoor
|Stromversorgung = POE
|Durchsatz= ca. 8 Mbps
|Clients = ca. 15
|LANPorts = keiner
|Gesamtpreis= ca. 80 Eur
}}
Die Bullet M2 besitzt keine mitgelieferte Antenne. Vielmehr kann das Gerät mittels des N-Steckers (Bullet M2: Buchse, Antenne: Stecker) an eine Richtfunk- oder Rundstrahlantenne direkt angeschlossen werden.
Die Bullet ist in einer Kunststoff- und einer "Titanium" Variante erhätlich. Die Titanium - Variante ist aus Aluminium, und besitzt keine Status - LEDs.
== Einsatzszenarien ==
Der Bullet M2 ist ein semiprofessionelles Gerät für den Innen- und Außenbereich und gut geeignet um kleinere Hallen, Strassenbereiche oder Plätze auszuleuchten oder um eine Richtfunkstrecke aufzubauen.
Der Router kann eine kleinere Anzahl Clients (ca. 15) mit einer Gesamtbandbreite von ca. 8MBit/s versorgen.
== Antennen ==
Als Rundstrahlantennen kommen bspw. die Alfa, oder Engenius Antenne in Betracht.
Die Alfa Antenne ist ein preiswertes Modell (ca 15 Euro), der Lieferumfang umfaßt die reine Antenne.
Die Engenius Antenne ist ein mittelpreisiges Modell (ca 45 Euro), im Lieferumfang sind Masthalterungen enthalten.
== Stromversorgung ==
Die Bullet M2 benötigt ein abgesetztes 24V / 1A POE - Netzteil versorgt. Im Gegensatz zu den Nanostations ist dieses NICHT im Lieferumfang enthalten.
== Anschlüsse und Bedienelemente ==
Die Bullet M2 besitzt lediglich einen WAN Port, dementsprechend sind Szenarien wie Mesh on LAN oder die zusätzliche Anbindung von PCs nicht möglich.
In das zum heimischen Router führende Kabel wird das POE Netzteil zwischengeschaltet um die Nanostation mit Strom zu versorgen. Der mit "POE" bezeichnete Anschluß wird hierbei an die Nanostation angeschlossen, der mit "LAN" bezeichnete Anschluß an das heimische Netzwerk.
Sowohl an der Bullet M2 wie auch am POE - Netzteil befinden sich ein Reset - Taster welche bspw. mit einer Büroklammer betätigt werden können.
== Befestigung ==
Die Befestigung erfolgt an einem Masten oder einem Balkongeländer, je nach verwendetem Antennentyp.
== Versionsnummer ==
Derzeit gibt es nur eine Version der Bullet M2: V1.
== Bezugsquellen ==
[https://www.wecanhelp.de/422305002/productsearch?pr=MTQ1MTMwMzc4&e=MDA4MTAzNTQwMjQ5MDA=&searchterm=bullet%20m2 Preisvergleich]
[http://bit.ly/2ohGm2Z Conrad]
== Fotos ==
=== Bullet M2 ===
<gallery style="text-align:center" mode="packed">
Router_BulletM2_full.jpg
Router_BulletM2_front.jpg
Router_BulletM2_rear.jpg
</gallery>
=== POE Netzteil ===
<gallery style="text-align:center" mode="packed">
Router_BulletM2_poe1.jpg
Router_BulletM2_poe2.jpg
Router_BulletM2_poe3.jpg
Router_BulletM2_poe4.jpg
</gallery>
=== Antennen ===
<gallery style="text-align:center" mode="packed">
Router_BulletEngenius.jpg
Antenne_Alfa.jpg
Antenne_Engenius.jpg
</gallery>
[[Category:Hardware]]
disabled: true
title: Eduroam
''' Dies ist hoch experimental'''
''' Dieser Artikel ist unvollständig '''
Dieses Setup erlaubt es einen FF-route in das uni eduroam net zu hängen welcher dann widerum ein wlan aufmacht um in FF-netz zu gelangen.
== TODO ==
* Script scheiben
* test fix für firewall auf neuem os
== Benötigt ==
* [[Einrichtung/TP-LINK_TL-WR_und_TL-WDR| FF auf nem router]]
* [[SSH-Zugang|SSH-Zugang]]
== Getestet ==
* TL-WR841N
== Einrichtung ==
=== patches ===
==== /etc/config/wireles ====
An ende dies hinzufügen
<pre>
config wifi-iface 'wan_w_radio0'
option network 'wan_w'
option macaddr '<Deine Mac>'
option device 'radio0'
option mode 'sta'
## Auskommentieren wenn ihr nur in nen gewöhnliches wpa2 wlan wollt letzten schriet weglassen
# option 'encryption' 'psk2'
# option 'ssid' '<ESSID>'
# option 'key' '<password>'
</pre>
==== /etc/config/netwok====
add
<pre>
config interface 'wan_w'
option proto 'dhcp
option peerdns '0'
option auto '1'
</pre>
==== /etc/config/firewall ====
in zone wan add:
<pre>
list network 'wan_w'
</pre>
==== /etc/hotplug.d/iface/50-gluon-wan-dnsmasq ====
add
<pre>
if [ "$INTERFACE" = 'wan_w' ]; then
/lib/gluon/wan-dnsmasq/update.lua
fi
</pre>
==== /lib/gluon/wan-dnsmasq/update.lua ====
ergänze die liste so
<pre>
pcall(write_interface_servers, f, 'wan6')
pcall(write_interface_servers, f, 'wan')
pcall(write_interface_servers, f, 'wan_w')
</pre>
==== /etc/wpa_sup.conf ====
Datei anlegen und deine Daten eintragen
<pre>
network={
ssid="eduroam"
key_mgmt=WPA-EAP
pairwise=CCMP TKIP
eap=TTLS
proto=WPA RSN
identity="[username/mail ding]"
anonymous_identity="anonymous@ostfalia.de" ##oder wie das bei euch heist
password="[Dein Password]"
phase2="auth=PAP"
}
</pre>
=== weiters ===
nach neustart
$ killall wpa_supplicant # besser öfter damit das auch wirklich tot ist
$ wpa_supplicant -P /var/run/wpa_supplicant-wlan0.pid -D nl80211 -i wlan0-1 -c /etc/wpa_sup.conf -C /var/run/wpa_supplicant -H /var/run/hostapd/wlan0-2
wenn die jetzt Internet auf dem router hast aber dein vpn nicht verbindet versuch mal die firewal auszumachen mit
''' /etc/init.d/firewall stop '''
nicht ratsam aber hilft kann man wider anmachen sobald die Verbindung hergestellt ist
disabled: true
title: Hardware
= Hardware =
Geräte auf denen die Freifunk - Software läuft gibt es bereits ab [[TL-WR841ND|20 Euro]] - und diese reichen in vielen Fällen auch bereits aus um Freifunk auch bei Dir verfügbar zu machen !
== Einsatzszenarien ==
Welches Gerät optimal für den jeweiligen Einsatzfall ist läßt sich natürlich nicht pauschal sagen.
Die Beispielszenarien unten sollten aber ausreichend sein, um eine erste Vorauswahl treffen zu können.
Wenn Du unsicher bist kannst Du gerne die Mailingliste befragen, oder im Stratum vorbeischauen.
=== Ein Zimmer, eine kleine Wohnung, die Fläche vor dem Fenster ===
Der [[TL-WR841ND|WR841N/ND]] ist ein preiswerter Router für den Innenbereich und gut geeignet um kleine bis mittlere Bereiche (wie einzelne Zimmer, kleinere Wohnungen etc.) zu versorgen. Im Fensterbrett aufgestellt kann er auch die nähere Umgebung (bis ca. 50m bei freier Sicht) versorgen.
Der Router kann eine kleinere Anzahl Clients (ca. 10) mit einer Gesamtbandbreite von ca. 6MBit/s versorgen.
=== Eine größere Wohnung, ein Cafè oder Restaurant, die Fläche vor dem Fenster, die Nachbarn ===
Der [[TL-WDR3600]] ist ein Router für den Innenbereich und gut geeignet um kleine und mittlere Bereiche (wie einzelne Zimmer, Wohnungen, ein kleines Cafe oder Restaurant, ein Sportheim etc.) zu versorgen. Im Fensterbrett aufgestellt kann er auch die nähere Umgebung (bis ca. 50m bei freier Sicht) versorgen.
Der Router kann eine mittlere Anzahl Clients (ca. 20) mit einer Gesamtbandbreite von ca. 10MBit/s versorgen.
Je nach Ausdehnung der auszuleuchtenden Örtlichkeit, oder wenn Innen- und Außenbereiche gut versorgt werden sollen ist es evtl. sinnvoll mehrere Geräte aufzustellen. Dies können bspw. weitere [[TL-WR841ND|WR841N/ND]] Geräte sein um die Reichweite in ansonsten nicht gut versorgte Bereiche auszudehnen (bspw. viel Stahlbeton oder viele Wände), oder aber auch eine [[Nanostation Loco M2]] um den Platz vor dem Café / Restaurant / Sportheim auszuleuchten.
Die Anbindung der "Satelliten" kann, muß aber nicht über Kabel erfolgen.
Überall dort, wo es auf ansprechende Optik ankommt ist der [[UniFi AP|UniFi AP]] in diesem Einsatzbereich eine gute Wahl.
Für Außenbereiche ist ebenfalls die [[Picostation]] eine unauffällige, schnell montierbare Lösung.
=== Einen kleinen Platz, eine kleine Halle, die Straße vor der Wohnung ===
Wenn ein Platz versorgt werden soll bietet sich die Nanostation [[Nanostation Loco M2]] an. Diese strahlt im Gegensatz zu den "Heimroutern" nicht gleichmäßig in alle Richtungen ab, sondern versorgt gezielt einen Bereich von 60° Vertikal / 60° Horizontal vor ihr. Dementsprechend sollte sie auch ein wenig "über" dem zu versorgenden Gebiet angebracht werden. Da das Gerät für den Außenbereich geeignet ist und mit POE über Strom versorgt wird steht einer Montage am / auf dem Dach nicht viel entgegen.
Die [[Picostation]] ist ebenfalls gut geeignet um bspw. die Freiflächen vor dem Ladengeschäft zu versorgen.
=== Einen Sportplatz, ein Festivalgelände ===
Ist eine größere Fläche zu versorgen kann die Outdoorfähige [[Bullet M2|Bullet M2]] mit einer Rundstrahlantenne gute Dienste leisten, insbesonders dann wenn die Aufstellung in der Mitte des Platzes möglich ist.
Ebenso ist mit der [[Picostation]] eine gleichmäßige Rundum - Abdeckung erreichbar. Die [[Picostation]] ist klein, unauffällig und läßt sich leicht und schnell montieren.
Die [[Nanostation Loco M2]] kommt in Frage wenn eine Fläche vor dem Aufstellpunkt versorgt werden soll.
== Übersicht ==
Die Tabelle zeigt einige der gebräuchlichen Hardware - Möglichkeiten auf. Die angegebenen Werte sind ca. - Werte (eher konservativ abgeschätzt).
{| class="wikitable sortable" style="text-align:center; font-size: 80%"
|-
! Name !! Hersteller !! 2.4GHz !! 5GHz !! Antenne(n) !! Horiz. !! Vert. !! Reichweite !! Outdoor !! Stromversorgung !! Durchsatz !! Clients !! LAN Ports !! Gesamtpreis
|-
| [[TL-WR841ND|TL-WR841N]] || TP-Link|| Ja || Nein || 2 x 5dBi fest || 360° || 360° || ca. 50m || Indoor || Steckernetzteil 9V/0,6A || ca. 8Mbps || ca. 10 || 4 x 100 Mbps|| ca. 20 Euro
|-
| [[TL-WR841ND|TL-WR841ND]] || TP-Link|| Ja || Nein || 2 x 5dBi abnehmbar || 360° || 360° || ca. 50m || Indoor || Steckernetzteil 9V/0,6A || ca. 8Mbps || ca. 10 || 4 x 100 Mbps|| ca. 25 Euro
|-
| [[TL-WDR3600]] || TP-Link|| Ja || Ja|| 2 x abnehmbar || 360° || 360° || ca. 50m || Indoor || Steckernetzteil 12V/1,5A || ca. 12Mbps || ca. 20 || 4 x 1 Gbps|| ca. 45 Euro
|-
| [[Nanostation Loco M2]] || Ubiquity || Ja || Nein || 1 x 8dBi intern || 60° || 60° || ca. 100m || Outdoor || POE 24V/0,5A || ca. 6Mbps || ca. 15 || keine || ca. 55 Euro
|-
| [[Picostation]] || Ubiquity || Ja || Nein || 1 x 2dBi extern || 360° || 360° || ca. 150m || Outdoor || POE 24V/0,5A || ca. 8Mbps || ca. 20 || keine || ca. 75 Euro
|-
| [[Bullet M2|Bullet M2]] || Ubiquity || Ja || Nein|| keine || n/a || n/a || n/a || Outdoor || POE 24V/1A || ca. 8Mbps || ca. 20 || keine|| ca. 110 Euro
|-
| [[UniFi AP|UniFi AP Long range]] || Ubiquity || Ja || Nein|| 1 x 3dBi intern || 360° || 360° || ca. 100m || Indoor|| POE 24V/0,5A || ca. 8Mbps || ca. 25 || keine || ca. 80 Euro
|-
| [[UniFi AP|UniFi AP]] || Ubiquity || Ja || Nein|| 1 x 3dBi intern || 360° || 360° || ca. 60m || Indoor|| POE 24V/0,5A || ca. 8Mbps || ca. 25 || keine || ca. 65 Euro
|}
[[Category:Hardware]]
disabled: true
title: IP Block Zuweisung
Hier ist eine Auflistung der derzeit verwendeten ip Netze und für was und für wen
{| border="1" cellpadding="2" cellspacing="0" style="text-align:center;"
|-
! Subnetz !! use !! Verwaltet !! Ansprechpartner
|-
| 10.38.1.0/24 || Openvpn einwahl auf GW1 || Openvpn || oni
|-
| 10.38.10.0 - 10.38.19.254 || Client Net || dhcp GW 1 ||
|-
| 10.38.20.0 - 10.38.29.254 || Client Net || dhcp GW 2 ||
|-
| 10.38.30.0 - 10.38.39.254 || Client Net || dhcp GW 3 ||
|-
| 10.38.40.0 - 10.38.49.254 || Client Net || dhcp GW 4 ||
|-
| 10.38.128.0/23 || R&D || static || lichtfeind
|-
| 10.38.200.0/27 || Richtfunkstrecken || static || Sebastian
|-
| 10.38.200.32/27 || Test || static || Alexander
|-
| 10.38.200.33 || Unterrichtsmaterial || static || Alexander
|-
| 10.38.222.1/27 || craftbeerpi3 || static || larsan
|-
|}
disabled: true
title: Infrastruktur
= Netzwerkplan =
'''Das hier stimmt nicht mehr so ganzt aber als starke vereinfachung kann es erst mal so bleiben.'''
Das folgende Bild zeigt einen vereinfachten Netwerkplan das braunschweiger Setups.
Dabei werden sowohl die Rechner/Router also auch das Routing auch auf freifunk-bs.de gezeitgt.<br>
In Worten:<br>
Die Freifunkrouter bauen einen ''fastd''-Tunnel zu freifunk-bs.de auf.
Durch diesen Tunnel werden alle Pakete der am Freifunkrouter angemeldeten Clients geleitet die nicht an Clients im gleichen Adhoc-Netz adressiert sind.
freifunk-bs.de kann Pakete von eine Client zu einem anderen Client weiterleiten der nicht im gleichen Adhoc-Netz ist.
Außerdem stellt freifunk-bs.de über einen ''openvpn''-Tunnel eine Verbindung in das alte Internet zur Verfügung.
Dazu werden alle Pakete aus den Netz 10.38.0.0/16 die an dem Interface ''br-ffbs'' ankommen mit ''0x01'' makiert.
Pakete mit der Makierung ''0x01'' werden von eine ''ip rule'' in die Routing-Tabelle ''freifunk'' geschoben.
Dort werden sie von der ''Default-Route'' (0.0.0.0) in den ''Openvpn''-Tunnel von IPredator weitergeleitet.<br>
Auf den Rückweg werden die Pakete von ''tun0'' das ''NAT'' wieder auch die ursprünglichen Adressen geändert und dann durch den ''default''-Routing Table auch ''br-ffbs'' weitergeleitet.
[[File:Simple_network_plan.jpg]]<br>
Die dia Quelldatei gibt es hier [http://freifunk-bs.de/firmware/doc/simple_network_plan.dia simple_network_plan.dia] bitte bei Änderungen anpassen.
= Gateway aufsetzen =
Sources hinzufügen: folgendes zu /etc/apt/sources.list
deb http://repo.universe-factory.net/debian/ sid main
deb http://apt.rfc2324.org/debian/ wheezy main
und dann noch die keys
# gpg --keyserver pgpkeys.mit.edu --recv-key 16EF3F64CB201D9C C1CEB2640F96BF26
# gpg -a --export 16EF3F64CB201D9C | apt-key add -
# gpg -a --export C1CEB2640F96BF26 | apt-key add -
Pakete installieren
aptitude install bridge-utils batctl=2013.4.0-1 openvpn fastd radvd isc-dhcp-server dnsmasq git batman-adv-dkms alfred
== alfred ==
=== /etc/default/alfred ===
#
# /etc/default/alfred
#
#
# This is a POSIX shell fragment
#
# Additional command line options
DAEMON_OPTS="-m"
# Interface for A.L.F.R.E.D. to listen on. Has to be specified.
INTERFACE=br-ffbs
# Specify the batman-adv interface configured on the system (default: bat0).
# Use 'none' to disable the batman-adv based best server selection.
BATMANIF=bat0
== disable rp_filter ==
/etc/sysctl.d/10-network-security.conf
net.ipv4.conf.default.rp_filter=0
net.ipv4.conf.all.rp_filter=0
== batman adv instalieren ==
dkms remove batman-adv/2013.4.0 --all
dkms --force install batman-adv/2013.4.0
batman-adv bei booten laden: dazu folgendes in /etv/modules schreiben
batman-adv
== Netzwerk interfaces ==
in /etc/network/interfaces folgendes hinzufügen
auto br-ffbs
iface br-ffbs inet6 static
bridge-ports none
address 2001:bf7:380::<gw id>
netmask 64
iface br-ffbs inet static
address 10.38.0.<gw id>
netmask 255.255.0.0
allow-hotplug bat0
iface bat0 inet6 manual
pre-up modprobe batman-adv
pre-up batctl if add fastd_bat
up ip link set $IFACE up
post-up brctl addif br-ffbs $IFACE
post-up batctl it 10000
post-up batctl gw_mode server
post-up batctl vis_mode server
post-up /sbin/ip rule add iif br-ffbs table freifunk
post-up ip route flush table freifunk
post-up ip route add unreachable default table freifunk
post-up /etc/init.d/dnsmasq stop || true
pre-down iptables -t mangle -F
#pre-down /sbin/ip rule del iif br-ffbs table freifunk
pre-down brctl delif br-ffbs $IFACE || true
down ip link set $IFACE down
== fastd ==
$ mkdir /etc/fastd/vpn
$ mkdir /etc/fastd/vpn/peers/
fastd --generate-key
der hier generierte key muss jetzt in die config (/etc/fastd/vpn/fastd.conf) eingetragen werden.
den public key merken
bind 0.0.0.0:10000;
interface "fastd_bat";
user "fastd";
mode tap;
method "salsa2012+gmac";
method "xsalsa20-poly1305";
mtu 1426;
#hier den secret key eintragen
secret "<secret key>";
log level verbose;
log to "/var/log/fastd.log" level verbose;
#folgende Zeile sorgt dafuer das jeder Peer akzeptiet wird
#on verify "true";
# public key der clients aus dem Verzeichniss ./peers/ laden
include peers from "peers";
# wenn fastd_bat up geht wird es zu batman hinzugefügt
on up "
ip link set up fastd_bat
batctl if add fastd_bat
";
== openvpn ==
man braucht einen Anbieter, der liefert dann auch eine config. In diese müssen die folgenden Zeilen hinzugefügt werden.
script-security 3 system
down /etc/openvpn/route_and_dnsmasq_remove.sh
route-noexec
route-up /etc/openvpn/route_and_dnsmasq_setup.sh
Desweiteren müssen die folgenden Dateien in /etc/openvpn angelegt werden
=== route_and_dnsmasq_remove.sh ===
#!/bin/bash
/etc/init.d/dnsmasq stop
ip route flush table freifunk
ip route add unreachable default table freifunk
=== route_and_dnsmasq_setup.sh ===
#!/bin/bash
iptables -t nat -F
iptables -t nat -j SNAT -s 10.38.0.0/16 --to-source $ifconfig_local -o tun0 -A POSTROUTING
ip route flush table freifunk
ip route add default via $route_vpn_gateway dev tun0 table freifunk
/etc/init.d/dnsmasq start
dann noch ausführbar machen:
# chmod +x /etc/openvpn/route_and_dnsmasq_setup.sh
# chmod +x /etc/openvpn/route_and_dnsmasq_remove.sh
== DNSmasq ==
=== /etc/dnsmasq.d/rules ===
server=85.214.20.141@tun0 # FoeBud
server=194.150.168.168@tun0 # dns.as250.net
server=213.73.91.35@tun0 # dnscache.berlin.ccc.de
=== /etc/dnsmasq.d/general ===
interface=br-ffbs
no-dhcp-interface=br-ffbs
no-dhcp-interface=lo
no-dhcp-interface=eth0
log-facility=/var/log/dnsmasq.log
domain-needed
#bogus-priv ffbs reverse does not work with this enabled
no-resolv
no-hosts
addn-hosts=/etc/hosts.ffbs
cache-size=4096
== Routing ==
Da das meiste in dem routeup script von openvpn passiert muss hier nicht mehr viel gemacht werden.
=== IP Forwarding ===
IPv4 & IPv6 forwarding aktivieren. Dazu folgende Zeilen in der sysctl.conf einkommentieren
$ vim /etc/sysctl.conf
# Uncomment the next line to enable packet forwarding for IPv4
net.ipv4.ip_forward=1
# Uncomment the next line to enable packet forwarding for IPv6
# Enabling this option disables Stateless Address Autoconfiguration
# based on Router Advertisements for this host
net.ipv6.conf.all.forwarding = 1
=== Freifunk Routing-Table anlegen ===
diese Zeile in /etc/iproute2/rt_tables kopieren. Sorgt dafür, dass der table "freifunk" vor den anderen/default genuzt wird.
201 freifunk
== DHCP ==
Folgendes in die entsprechende Datein kopieren
=== /etc/dhcp/dhcpd.conf ===
# The ddns-updates-style parameter controls whether or not the server will
# attempt to do a DNS update when a lease is confirmed. We default to the
# behavior of the version 2 packages ('none', since DHCP v2 didn't
# have support for DDNS.)
ddns-update-style none;
# If this DHCP server is the official DHCP server for the local
# network, the authoritative directive should be uncommented.
authoritative;
# Use this to send dhcp log messages to a different log file (you also
# have to hack syslog.conf to complete the redirection).
log-facility local7;
option domain-name ".ffbs";
#fastf_bat network definition
subnet 10.38.0.0 netmask 255.255.0.0 {
authoritative;
# hier noch die richtige Range einstellen
range 10.38.<gw number*2>.1 10.38.<(gw number*2)+1>.254;
default-lease-time 600;
max-lease-time 3600;
option domain-name-servers 10.38.0.1, 10.38.0.2, 10.38.0.<gw nummer>;
option subnet-mask 255.255.0.0;
option routers 10.38.0.<gw nummer>;
}
include "/etc/dhcp/static.conf";
=== /etc/dhcp/static.conf ===
host gw1 {
hardware ethernet 0e:ab:b4:92:74:ce;
fixed-address 10.38.0.1;
option host-name "gw1";
}
host gw2 {
hardware ethernet de:99:25:12:ca:6c;
fixed-address 10.38.0.2;
option host-name "gw2";
}
=== /etc/default/isc-dhcp-server ===
INTERFACES="br-ffbs"
== radvd ==
=== /etc/radvd.conf ===
interface br-ffbs
{
AdvSendAdvert on;
MaxRtrAdvInterval 200;
prefix 2001:bf7:38<gw id>::/48 {
};
RDNSS 2001:bf7:380::<gw id> {
};
};
= IP Adressen vergabe =
siehe [[IP-Block-zuweisung]]
= Joining - Layer3 Alfred-Tunnel =
Joining ist ein Tool, das Alfred-Daten über UDP versendet. Es wurde entwickelt um Alfred und Batman-adv auf lange Sicht aus dem Infrastukturnetz zu verbannen.
Auf dem Webserver(fredo) läuft es als systemd service namens "joining" /etc/systemd/system/joining.service. Es ersetzt hier auch die beiden Tools alfred-json und batvis, diese haben aber einen identisch formatierten Output.
Auf den Gateway gibt es einen cronjob für den user Root der die Daten periodisch an den Webserver sendent.
disabled: true
Title: Koordinatenkonfiguration mit Taskr
Zielsetzung und Szenario:
Ein Freifunkrouter soll an wechselnden Standorten (z.B. während eines Events) eingesetzt werden,
wobei sich seine Position vor Ort aber nicht weiter verändert.
Bei Inbetriebnahme soll die Position eines über WiFi/SSH verbundenen Smartphones im Router halbautomatisch konfiguriert werden.
Auf einen angeschlossenen, stromverbrauchenden GPS-Tracker soll verzichtet werden.
Die konfigurierten Koordinaten müssen bei einem Reboot des Freifunkrouters (zumeist an einem anderen Ort) nicht erhalten bleiben.
Gelegentliche Koordinatenverluste aufgrund eines Systemupdates sind akzeptabel.
== Voraussetzungen ==
* Ein eingerichteter Freifunk-Router mit aktivertem [[SSH-Zugang]].
* Gerät mit Android als Betriebssystem.
** Installierte App [https://play.google.com/store/apps/details?id=net.dinglisch.android.taskerm&hl=de Tasker] (kostenpflichtig)
** Installiertes Tasker-SSH-Plugin zum Ausführen von Remote Commands via SSH welches RSA-Keyfile-Authentifizierung und Substitution von Tasker-Variablen unsterstützt:
*** [https://play.google.com/store/apps/details?id=com.aledthomas.taskersshcommand&hl=de Tasker SSH Command Launcher] : kostenpflichtig, funktioniert
*** <strike>JuiceSSH Tasker Plugin</strike>: kostenpflichtig, <u>keine</u> Substitution von Tasker-Variablen möglich
*** weitere: noch nicht getestet (positive sowie negative Ergänzungen willkommen!)
** Tasker-Profile: ''GpsFix, GpsLoc, SshNode'' und ''WifiNode''.
== Vorbereitungen ==
=== SSH-Keyfiles ===
Die Keyfiles mit den [https://forum.freifunk.net/t/ssh-key-einrichten/2165 SSH-Keys] sind auf das Android-Gerät zu übertragen.
Der Pfad zu den Keyfiles wird in den Tasker-Profilen ''SshNode'' und ''WifiNode'' benötigt.
=== Tasker-Profile ===
Die folgenden Profile sollten auf einem nicht gerooteten Android-Smartphone funktionieren.
Leider kann ohne Root-Rechte das GPS nicht automatisch ein- und ausgeschaltet werden.
Folgende Tasker-Profile sind mit Tasker zu erstellen:
==== Tasker-Profil ''GpsFix'' ====
Bei eingeschaltetem GPS wird versucht ein GPS-Fix zu erhalten.
Sobald ein erfolgreicher GPS-Fix vorliegt,
werden die Variablen <tt>%LOC</tt> und <tt>%LOCTMS</tt> gesetzt.
* Context &rarr; Ort
** Latitude: ''0'' (Wert spielt keine Rolle)
** Longitude: ''0'' (Wert spielt keine Rolle)
** Netz: ''nicht gewählt''
** GPS: ''ausgewählt''
** Radius: ''30m'' (Wert spielt keine Rolle)
* A1: Task &rarr; Stopp
==== Tasker-Profil ''GpsLoc'' ====
Nach erfolgreichem GPS-Fix (Variable <tt>%LOCTMS</tt> gesetzt) wird das Profil ''GpsFix'' deaktiviert.
Die Koordinaten in der Variable <tt>%LOC</tt> werden in <tt>%LOC1</tt> (Latitude) und <tt>%LOC2</tt> (Longitude) aufgeteilt. Die Koordinaten werden auf 5 Nachkommastellen, was in unseren Breiten einem knappen Meter Genauigkeit entspricht, gerundet in die Variablen <tt>%LAT</tt> und <tt>%LNG</tt> übertragen. Schließlich deaktiviert sich das Profil ''GpsLoc'' selbst.
* Context &rarr; Ereignis &rarr; Variable &rarr; Variable setzen
** Variable: <tt>%LOCTMS</tt>
* A1: Task &rarr; Tasker &rarr; Profil Status
** Name: ''GpsFix''
** setzen: ''aus''
* A2: Task &rarr; Variable &rarr; Variable Aufteilen
** Name: <tt>%LOC</tt>
** Teiler: ,
* A3: Task &rarr; Code &rarr; Javascriptlet
** Code:<br />
**: <tt>setGlobal('LAT',<nowiki>''</nowiki>+(Math.round(global('LOC1')*100000)/100000));</tt>
**: <tt>setGlobal('LNG',<nowiki>''</nowiki>+(Math.round(global('LOC2')*100000)/100000));</tt>
** Auto-Exit: ''ausgewählt''
** If <tt>%LOC1</tt> &gt; -90 And <tt>%LOC1</tt> &lt; 90 And <tt>%Loc2</tt> &gt; -180 And <tt>%Loc2</tt> &lt; 180
* A4: Task &rarr; Tasker &rarr; Profil Status
** Name: ''GpsLoc''
** setzen: ''aus''
==== Tasker-Profil ''SshNode'' ====
Bei Setzen einer neuen Koordinate (<tt>%LNG</tt> wird überwacht) wird zunächst das Profil ''WifiNode'' deaktiviert.
Die Koordinaten (<tt>%LAT</tt> und <tt>%LNG</tt>) werden via SSH auf dem Freifunkrouter gesetzt und das Sharing aktiviert.
Dabei wird auf <tt>uci commit gluon-node-info</tt> verzichtet,
damit die Koordinaten beim nächsten Reboot (an anderer Lokation) nicht erhalten bleiben.
Ein Popup zeigt die neuen Koordinaten an.
Schließlich deaktiviert sich das Profil ''SshNode'' selbst.
* Context &rarr; Ereignis &rarr; Variable &rarr; Variable setzen
** Variable: <tt>%LNG</tt>
* A1: Task &rarr; Tasker &rarr; Profil Status
** Name: ''WifiNode''
** setzen: ''aus''
* A2: Task &rarr; Plugin &rarr; Tasker SSH Command
** Konfiguration:
*** Command to run on remote server:
***: <tt>uci set gluon-node-info.@location[0].latitude=%LAT;</tt>
***: <tt>uci set gluon-node-info.@location[0].longitude=%LNG;</tt>
***: <tt>uci set gluon-node-info.@location[0].share_location=1;exit;</tt>
*** Server settings:
**** Hostname: <tt>[fe80::</tt>''...(link-local IPv6)...''<tt>%wlan0]</tt>
**** Port: ''22''
**** Username: ''root''
**** Password: (leer)
**** Keyfile: ''/path/to/your/keyfile''
**** Auth Type: ''Keyfile''
** If <tt>%LAT</tt> ''ist gesetzt'' And <tt>%LNG</tt> ''ist gesetzt''
* A3: Task &rarr; Alarm &rarr; Popup (Tasker)
** "Location <tt>%LAT %LNG</tt>"
** If <tt>%GPS</tt> ~ ''off''
* A4: Task &rarr; Tasker &rarr; Profil Status
** Name: ''SshNode''
** setzen: ''aus''
==== Tasker-Profil ''WifiNode'' ====
Das Profil wird durch eine WiFi-Verbindung mit dem Freifunk-Knoten ausgelöst.
Ist das GPS ausgeschaltet, wird das Location-Sharing auf dem Knoten via SSH deaktiviert und ein Popup ''Location disabled'' angezeigt.
Die Variablen <tt>%LAT</tt> und <tt>%LNG</tt> werden gelöscht.
Ist das GPS eingeschaltet, werden die Profile ''SshNode, GpsLoc'' und '' GpsFix'' aktiviert.
* Context &rarr; Status &rarr; Netzwerk &rarr; WiFi Verbunden
** SSID: ''braunschweig.freifunk.net/freifunk.net/Freifunk''
** MAC: ''MAC-Addresse(n) des Freifunkrouters'' (mehrere mit / trennen)
* A1: Task &rarr; Plugin &rarr; Tasker SSH Command
** Konfiguration:
*** Command to run on remote server:<br ><tt>uci set gluon-node-info.@location[0].share_location=0;exit;</tt>
*** Server settings:
**** Hostname: <tt>[fe80::</tt>''...(link-local IPv6)...''<tt>%wlan0]</tt>
**** Port: ''22''
**** Username: ''root''
**** Password: (leer)
**** Keyfile: ''/path/to/your/keyfile''
**** Auth Type: ''Keyfile''
** If <tt>%GPS</tt> ~ ''off''
* A2: Task &rarr; Alarm &rarr; Popup (Tasker)
** "Location disabled"
** If <tt>%GPS</tt> ~ ''off''
* A3: Task &rarr; Variable &rarr; Variable Lösche
** Name: <tt>%LAT</tt>
* A4: Task &rarr; Variable &rarr; Variable Lösche
** Name: <tt>%LNG</tt>
* A5: Task &rarr; Tasker &rarr; Profil Status
** Name: SshNode
** setzen: an
** If <tt>%GPS</tt> ~ ''on''
* A6: Task &rarr; Tasker &rarr; Profil Status
** Name: ''GpsLoc''
** setzen: an
** If <tt>%GPS</tt> ~ ''on''
* A7: Task &rarr; Tasker &rarr; Profil Status
** Name: ''GpsFix''
** setzen: an
** If <tt>%GPS</tt> ~ ''on''
== Anwendung ==
Die Vorgehensweise zum Setzen und Löschen der Koordinaten unterscheidet sich lediglich darin,
das <u>vor</u> dem Verbinden von Smartphone und Freifunkrouter via WiFi das GPS entweder ein- oder ausgeschaltet ist.
Die Koordinaten gehen (beabsichtigterweise) bei einem Reboot verloren.
===Koordinaten im Freifunkrouter setzen===
# Freifunkrouter einschalten.
# GPS manuell auf dem Android-Gerät <u>ein</u>schalten.
# Tasker-Profile ''GpsFix, GpsLoc'' und ''SshNode'' deaktivieren (optional).
# Tasker-Profil ''WifiNode'' aktivieren.
# Direkt mit dem Freifunkrouter via WiFi verbinden.
# Auf Popup "Location Latitude Longitude" warten.
===Koordinaten im Freifunkrouter löschen===
# Freifunkrouter einschalten.
# GPS manuell auf dem Android-Gerät <u>aus</u>schalten.
# Tasker-Profile ''GpsFix, GpsLoc'' und ''SshNode'' deaktivieren (optional).
# Tasker-Profil ''WifiNode'' aktivieren.
# Direkt mit dem Freifunkrouter via WiFi verbinden.
# Auf Popup "Location disabled" warten.
== Anmerkungen ==
Die Koordinatenkonfiguration mit Tasker wurde erfolgreich von [[User:Lotch]] mit folgendem Setup getestet:
* TP-Link WR841ND v9
** Verpolungsschutzdiode im Router überbrückt um eine 5V-Spannungsversorgung zu ermöglichen.
** Firmware: 0.8~stable-20151119 / gluon-v2014.2-987-g30677cd
** [[SSH-Zugang]] aktiviert