Entsprechend des Vorschlages der Stadtverwaltung sammeln wir auf dieser Seite Vorschläge für die technische Dokumentation, die dann von einem städtischen Mitarbeiter in das dortige System übertragen wird.
//**Update**//
Da viele Daten in den Livedaten vorhanden sind bzw. eine Doppelerfassung nicht sinnvoll ist, wird auf die Pflege der Daten im städtischen GIS verzichtet. Weitere Informationen (Buchhaltung, Seriennummern, usw.) liegen der Stadtverwaltung vor. Diese Seite ist damit veraltet.
- Objektdaten
- Adresse
- Fotos der möglichen Knotenpunkte (innen)
- Panoramen der möglichen Außenpunkte
- Fotos Innenverkablung
- Daten "Standortbewertung"
- nach ersten Tests Bewertung ob gut und wenn nicht warum nicht
- Relation zu anderen Objekten (in welche Richtungen sind direkt andere Gebäude sichtbar)
- Positionsdaten Knoten bzw. Backboneequipment (mehrere zu Objekt zugehörig)
- lat/long/Höhe
- Beschreibung
- Anbringung (innen/außen)
- Blickrichtung
- Verbindungspunkt, wenn Backbone (Relation anderes Objekt)
- Technische Daten
- Hersteller, Modell, Revisionsnummer
- Seriennummer, MAC-Adresse
- fastd-Schlüssel
- Horizontal-/Vertikalwinkel der Antenne (oder Rundstrahler)
- Ansprechpartner (Emailadresse) bei Freifunk
- Backup Konfigurationsdatei
- Kaufmännische Daten
- Lieferant
- Installateur
- Preis
- Messergebnisse
- Verbindungsqualität
- Durchsatzmessung
- Zeitreihenergebnisse (Verbindungsqualität, Clients, Durchsatz,...)
- Details
- Geschrieben von: Matthias Drobny
- Kategorie: Backbone Standorte
<
Allgemeines
Das Theater ist sowohl Backbone-Standort als auch Knoten-Standort.Das heißt, von hier können
- weitere Backbone-Standorte angebunden werden
(z.B. temporär zu Veranstaltungen im Hofwiesenpark, oder zum Rathausturm) - jeder mit Sichtverbindung zu den Antennen auf dem Dach kann sich mit dem Backbone verbinden und so Freifunk nutzen und anbieten
(erster Nutzer dieser Möglichkeit wird das Theater-Wohnheim sein) - im Theater selbst steht Freifunk für Besucher und Künstler zur Verfügung
Struktur
Der Aufbau des Standortes ist im folgenden Bild dargestellt:
Der Offloader stellt über einen VPN-Tunnel die Verbindung zu den Gateways und damit zum restlichen Netz der Community Gera-Greiz her. Damit muß nicht jeder der Freifunk-Router einen eigenen Tunnel aufbauen, was deren Ressourcen schon und somit eine hohe Bandbreite nutzbar macht. Da wir hier unseren ersten produktiven Backbone-Standort aufbauen, sollte als Offloader ein vergleichsweise leistungsfähiges System installiert werden. Evtl. werden zusätzliche Ressourcen benötigt, um den Offloader als vollwertiges Gateway zu betreiben.
Der Offloader wird mit dem bestehenden Netz des Theaters über einen Trunk verbunden, die konkreten VLAN-IDs werden bei der Installation festgelegt und hier ergänzt. Am bestehenden Netzwerk werden auch die normalen Freifunk-Knoten in der Kasse, der Kantine und dem Beratungsraum angebunden. Das Spiegel-Foyer wird per Mesh mit der Kasse verbunden.
Die Backbone-Bestandteile werden auf dem Dach installiert. Zentrale Komponente ist der Switch, welcher über einen Trunk und das vorhandene Netz mit dem Offloader verbunden ist. Im ersten Schritt werden 2 Richtfunk-Router (RiFu1 und RiFu2) installiert, einer könnte eine Verbindung zum Rathausturm herstellen, ein weiterer ist Reserve für einen weiteren Backbone-Standort. Bis dieser gefunden ist, können damit Tests für Verbindungen über größere Strecken (z.B. Ferberturm) durchgeführt werden.
Um Interessenten aus der Bevölkerung mit Sicht zum Theaterdach die Möglichkeit zu geben, durch Installation eines eigenen Routers über den Backbone Verbindung zum Freifunknetz aufzunehmen, soll der "normale" Freifunk (Client- und Meshnetz) in alle 4 Himmelsrichtungen abgestrahlt werden. Dazu dienen die Router AP11, AP21, AP31 und AP41. Je nach Modell (bzw. deren Abstrahlwinkel) genügen die 4 Router nicht zur 360Grad-Abdeckung. Dann müßten weitere Roter installiert werden.
Prinzipiell könnten auch 4 weitere Router mit 5GHz-WLAN installiert werden, um beide nutzbare Bereiche abzudecken. Diese müßten aber auf Grund gesetzlicher Vorgaben mit der Original-Firmware betrieben werden.
Im Theaterwohnheim wird ein Router mit Richtantenne installiert, der Verbindung zur nach Osten gerichteten Antenne des Backbones aufnimmt. Zur eigentlichen Versorgung der Bewohner dient ein weiterer WLAN-Router.
Bestandteile
Die Freifunk-Router für den Client-Zugriff (AP01-AP04 im Theater sowie AP01 und AP02 im Wohnheim) gehören nicht zum eigentlichen Backbone und werden durch das Theater selbst beschafft. Zum Aufbau des Backbone-Standortes werden damit folgende Komponenten benötigt:
Menge | Bestellnr. | Bezeichnung | Verwendung | Preis Unitas | Preis Hauffe |
---|---|---|---|---|---|
1 | APU.2C4 | PC-Engines Komplettsystem | Gateway / Offloader | 222,00€ | 0,00€ |
1 | TS-8-PRO | Ubiquiti TOUGHSwitch PoE-PRO 8-Port | Switch Dach | 192,90€ | 0,00€ |
2 | NBE 5AC 19 | Ubiquiti NanoBeam AC | Richtfunk | 200,00€ | 0,00€ |
4 | Loco M2 | Ubiquiti NanoStation Loco M2 | Backbone-Zugang 2,4GHz | 0,00€ | 199,96€ |
4 | Loco M5 | Ubiquiti NanoStation Loco M5 | Backbone-Zugang 5GHz | 0,00€ | 279,84€ |
1 | ETH-SP | Ubiquiti Ethernet Surge Protector | Überspannungs-Schutz | 0,00€ | 17,91€ |
8 | ALL_UbiBracket | Wand/Masthalterung für Outdoor Access Points | Halterung für Loco M2/5 | 0,00€ | 120,05€ |
1 | Gehäuse | Outdoor-Gehäuse | für Switch am Mast | 0,00€ | 50,00€ |
Kleinmaterial | Schellen, Kabelbinder, Verteiler, Patchkabel, ... | 0,00€ | 50,00€ | ||
gesamt: | 614,90€ | 717,76€ |
Die Beschaffung erfolgt entsprechend der Absprachen zum Treffen vom 1. September über Spenden der beiden Sponsoren Elektro-Hauffe GmbH und Unitas Network GmbH (s. die beiden Spalten ganz rechts).
Die Werte in Klammern (Menge, Preis) sind optionale Bestandteile, welche nur benötigt werden, falls wir den Zugang zum Backbone auch mit 5GHz ermöglichen wollen (zumindest für Tests sinnvoll).
Dienstleistungen
Zur Inbetriebnahme des Backbone-Standortes und der einzelnen Freifunk-Router sind verschiedene Tätigkeiten notwendig:
- Montage Router und sonstige Backbone-Technik auf Dach an vorhandenem Mast (Ausführung: Freifunk-Community)
- Prüfung und evtl. Nachinstallation Stromversorgung Dach (Ausführung: Hauselektriker Theater)
- Prüfung und evtl. Nachinstallation Blitzschutz / Potentialausgleich (Ausführung: Hauselektriker Theater)
- Installation Freifunk-Knoten in Theater und Theaterwohnheim (Ausführung: IT Theater und Freifunk-Community)
- Montage Gateway / Offloader (Ausführung: Freifunk-Community und IT Theater)
- Anpassung vorhandenes Netz: Firewall, Ports, VLANs... (Ausführung: IT Theater und Freifunk-Community)
- Konfiguration Offloader / Gateway (Ausführung: Freifunk-Community)
- Konfiguration Backbone: Switch, Richtfunkrouter, Freifunkrouter (Ausführung: Freifunk-Community)
- Konfiguration Freifunk-Knoten in Theater und Theaterwohnheim(Ausführung: IT Theater und Freifunk-Community)
- Details
- Geschrieben von: Jörg
- Kategorie: Backbone Standorte
Es wurden verschiedene Szenarien aufgebaut um Engpässe im Datenverkehr zu lokalisieren. Dabei zeigte sich, dass es einen deutlichen Unterschied zwischen der "normalen" Richtfunknutzung und der Übertragung von Freifunk-Datenverkehr gab.
Aufbauszenario | Technik |
Bandbreite2 in MBit/s |
---|---|---|
1a | ![]() |
930 |
1b | ![]() |
934 |
2a |
originale Ubiquiti-Firmware |
460 |
2b | wie 2a, aber mit Verschlüsselung WPA2/PSK | 450 |
2c |
wie 2a, aber mit VLANs |
411 |
3a |
|
- Dieser Aufbau funktioniert nicht, da auf dem Laptop kein Batman vorhanden ist. |
3b | ![]() |
180 Die Messung erfolgte zwischen Laptop und HP DC direkt. iperf wurde per opkg nachinstalliert. |
3c | ![]() |
180 |
3d | ![]() |
190 |
4 | ![]() |
880 möglicher Loop im Netz! |
- Details
- Geschrieben von: Eric
- Kategorie: Backbone Planung
Zweck
Der Backbone bildet das Rückgrat unseres Netzwerkes. Er soll größere Strecken überbrücken und so die Vernetzung auch weiter voneinander entfernter Standorte ermöglichen.
Aufbau
Gesamtstruktur
In folgenden Bild ist als Beispiel der grundlegende Aufbau mit mehreren Standorten dargestellt:
- Details
- Geschrieben von: Matthias Drobny
- Kategorie: Backbone Planung
<
Hardware
Auf Grund des vergleichweise hohen Traffics, welcher an Backbone-Standorten zu erwarten ist, scheiden die üblichen Consumer-Router zur Anbindung an die Gateways aus. Das gilt erst recht, wenn an dieser Stelle gleich ein separates Gateway eingesetzt wird. Eine empfehlenswerte Hardware für diesen Einsatz sind die APU-Boards von PC Engines. Diese haben z.B. eine recht leistungsfähige CPU (AMD G series, Duals- oder Quad-Core, 1 GHz), Verschlüsselungsunterstützung in Hardware (AES-NI), 2-4 GB RAM u.v.a.
Konkret kommt im Folgenden eine APU.2C4 (Quad-Core, 4 GB RAM) mit einer mSATA-SSD von 30 GB zum Einsatz.
Linux-Installation
Allgemeines
Als Linux-Distribution wird im folgenden Beispiel Gentoo installiert. Die Installation findet von einem PC aus statt, auf welchem ebenfalls Gentoo Linux läuft.
SystemRescueCd am APU-Board
Die Installation soll mit Hilfe der SystemRescueCd erfolgen. Diese ist allerdings beim APU-Board nicht so einfach wie gewohnt einsetzbar. Neben dem fehlenden CD-Laufwerk hat dieses auch keine Videokarte. Also muß als Installationsmedium ein USB-Stick genutzt werden, alle Ein-und Ausgaben müssen anfangs über die serielle Schnittstelle erfolgen.
Dazu wird die SystemRescueCd laut Anleitung auf einem USB-Stick installiert. In Kurzform (ACHTUNG: nicht einfach kopieren! Datei- und Gerätenamen anpassen!):
# mount -o loop /tmp/systemrescuecd-x86-4.7.2.iso /mnt/cdrom/ # mkfs.vfat -F 32 -n SYSRESC /dev/sdb1 # dd if=/usr/share/syslinux/mbr.bin of=/dev/sdb # sync # mount -t vfat /dev/sdb1 /mnt/usbstick/ # cp -af /mnt/cdrom/* /mnt/usbstick/ # rm -rf /mnt/usbstick/syslinux # mv /mnt/usbstick/isolinux/isolinux.cfg /mnt/usbstick/isolinux/syslinux.cfg # mv /mnt/usbstick/isolinux /mnt/usbstick/syslinux # umount /mnt/usbstick/ # syslinux /dev/sdb1 # sync
Im obigen Beispiel ist der USB-Stick /dev/sdb, dieser verfügt bereits über eine Partition /dev/sdb1. Das ISO-Image der SystemRescueCd Version 4.7.2 liegt in /tmp.
Anschließend wird der Inhalt der Datei "/syslinux/syslinux-cfg" auf dem USB-Stick mit Folgendem ersetzt:
SERIAL 0 115200 CONSOLE 0 default SystemRescue ALLOWOPTIONS 0 TIMEOUT 600 LABEL SystemRescue MENU LABEL ^SystemRescue KERNEL rescue64 INITRD initram.igz APPEND console=ttyS0,115200n8 docache setkmap=de rootpass=root
Damit startet ein 64Bit-Kernel, der gesamte Inhalt der SystemRescueCD wird in den RAM kopiert und als Console dient ttyS0 mit einer Geschwindigkeit von 115200 Baud.
Das APU-Board wird nun über die linke Netzwerkbuchse (Blick auf die Buchsen) ans Netzwerk angeschlossen, in welchem sich ein DHCP-Server befinden sollte. An die serielle Schnittstelle wird ein PC angeschlossen und dort ein Terminalprogramm gestartet, welches auf 115200 baud (8N1) eingestellt wird. Nach Anschließen des Netzteiles ans APU-Board sollte im Terminal der Start verfolgt werden können.
Um nicht die gesamte Installation über die serielle Konsole durchführen zu müssen, sollte man sich nun per SSH anmelden (Nutzer "root" mit Paßwort "root").
Gentoo-Grundinstallation
Es erfolgt eine normale Installation entsprechend dem Gentoo-Handbuch für AMD64-Systeme. Auf dem mSATA-Laufwerk wird eine GUID Partition Table (GPT) angelegt, die Partitionierung erfolgt nach dem Default Partitioning Scheme mit einer 2MB BIOS-Boot-Partition (sda1), einer 128MB Boot-Partition (sda2), 4GB Swap (sda3) und dem Rest als Root-Partition (sda4).
Es wird ein Hardened Gentoo installiert, dafür also das passende Stage3 und der entsprechende Kernel gewählt.
Um nach der Installation wieder über die serielle Console zugreifen zu können, wurde folg. angepaßt:
/etc/inittab:
# SERIAL CONSOLES s0:12345:respawn:/sbin/agetty -L 115200 ttyS0 vt100
/etc/default/grub:
# Append parameters to the linux kernel command line for non-recovery entries GRUB_CMDLINE_LINUX_DEFAULT="console=ttyS0,115200n8" # Uncomment to disable graphical terminal (grub-pc only) GRUB_TERMINAL=serial GRUB_SERIAL_COMMAND="serial --speed=115200 --unit=0 --word=8 --parity=no --stop=1"
Die Netzwerk-Konfiguration erfolgt vorerst nur für den ersten Port (enp1s0) mit DHCP.
Nach dem abschließenden Neustart sollte der Zugriff sowohl über die serielle Konsole als auch über Netzwerk per SSH möglich sein.
Anpassungen
Nach der Installation werden noch grundlegende Anpassungen vorgenommen:
NTP wird installiert:
# emerge -av ntp
Danach wird die Konfiguration angepaßt:
/etc/ntp.conf:
driftfile /var/lib/ntp/ntp.drift # Pools for Gentoo users server 0.gentoo.pool.ntp.org server 1.gentoo.pool.ntp.org server 2.gentoo.pool.ntp.org server 3.gentoo.pool.ntp.org # By default, exchange time with nobody. restrict default ignore restrict -6 default ignore # allow server pools above restrict source nomodify notrap noquery # Local users may interrogate the ntp server more closely. restrict 127.0.0.1 restrict ::1
Nun werden Client und Server gestartet und in den Default-Runlevel aufgenommen:
# rc-service ntp-client start # rc-service ntpd start # rc-update add ntp-client default # rc-update add ntpd default
Es wird Layman installiert und unser Freifunk-Gentoo-Repository angelegt:
# emerge -av layman # cd /etc/layman/overlays # wget https://raw.githubusercontent.com/ffggrz/ff-overlay/master/ff-overlay.xml # layman -L # layman -a ff-overlay
Nun werden noch etliche nützliche Programme installiert:
# emerge -av logrotate sudo nano man-pages-de mc screen screenservice gentoolkit nullmailer tcpdump traceroute bind-tools nfs-utils iperf dmidecode iproute2 pciutils pam_ssh_agent_auth acpid
Der Screen-Service wird in den Default-Runlevel integriert:
# rc-update add screen default
sudo wird konfiguriert:
sudoedit /etc/sudoers
## Uncomment to allow members of group wheel to execute any command %wheel ALL=(ALL) ALL Defaults env_keep += SSH_AUTH_SOCK
/etc/pam.d/sudo:
auth [success=2 default=ignore] pam_ssh_agent_auth.so file=~/.ssh/authorized_keys auth include system-auth account include system-auth session include system-auth
Nach dieser Konfiguration ist es nach einem erfolgreichen Login als normaler Benutzer möglich, mittels sudo Root-Rechte zu bekommen. dazu muß der Benutzer Mitglied der Gruppe "wheel" sein und ssh mit dem Parameter "-A" aufrufen.
Es werden alle Administrator-Accounts angelegt, inkl. der zugehörigen SSH-Keys.
Offloader-Konfiguration
Allgemeines
Bei der Konfiguration als Offloder arbeitet das APU-Board im Wesentlichen wie ein normaler Freifunk-Knoten.
Interfaces
Das APU-Board verfügt über 3 Interfaces. Beim Blick auf die Interfaces werden die von links nach rechts wie folgt nummeriert:
enp1s0, enp2s0, enp3s0
enp1s0 wird als externes (WAN-) Interface verwendet und je nach Anforderung konfiguriert (/etc/conf.d/net). Im einfachsten Fall für DHCP:
############################### # Externe Anbindung ############################### config_enp1s0="dhcp"
Über enp2s0 kann ein Client angeschlossen werden, welcher sich mit dem Mesh-Netz verbindet. Dafür wird erstmal keine Konfiguration benötigt:
############################### # Client-Interface (Mesh) ############################### config_enp2s0="null"
enp3s0 wird als IEEE802.1Q-Trunk konfiguriert. Über einen Switch werden daran dir Richtfunkstrecken und die Router für den Clientzugriff angeschlossen.
############################### # Trunk ############################### vlans_enp3s0="11 12 13 14" config_enp3s0="null" config_enp3s0_11="null" config_enp3s0_12="null" config_enp3s0_13="null" config_enp3s0_14="null"
enp1s0 ist bereits aktiviert, die anderen beiden Interfaces werden wie folgt in den Runlevel "default" aufgenommen:
# cd /etc/init.d # ln -s net.lo net.enp2s0 # ln -s net.lo net.enp3s0 # rc-service net.enp2s0 start # rc-service net.enp3s0 start # rc-update add net.enp2s0 default # rc-update add net.enp3s0 default
Client-Bridge
Die Client-Brige "br-client"überträgt den Traffic des Mesh-Netzes.
Dafür werden die Bridgeutil benötigt:
# emerge -av bridge-utils
Zur Konfiguration wird /etc/conf.d/net wie folgt ergänzt:
############################### # Bridge ############################### bridge_ggrzBR="enp2s0" config_br_client="null" brctl_br_client="setfd 0 sethello 10 stp off"
Die Bridge wird nach Anlegen der erforderlichen Symlinks gestartet und in den Runlevel default aufgenommen:
# cd /etc/init.d # ln -s net.lo net.br-client # rc-service net.br-client start # rc-update add net.br-client default
B.A.T.M.A.N.
Zuerst wird B.A.T.M.A.N. installiert:
emerge -av batman-adv batctl
Die dazugehörige Konfiguration in /etc/conf.d/net:
############################### # Mesh-Interfaces ############################### config_bat0="null" rc_net_bat0_need="net.br-client" ############################### # Up-/Down-Scripts ############################### preup() { if [[ $IFACE == bat0 ]] ; then /sbin/modprobe batman-adv fi return 0 } postup() { if [[ $IFACE == bat0 ]] ; then /sbin/brctl addif br-client $IFACE fi return 0 } predown() { if [[ $IFACE == bat0 ]] ; then /sbin/brctl delif br-client $IFACE fi return 0 }
Das B.A.T.M.A.N.-Interface bat0 wird nach Anlegen der erforderlichen Symlinks gestartet und in den Runlevel default aufgenommen:
# cd /etc/init.d # ln -s net.lo net.bat0 # rc-service net.bat0 start # rc-update add net.bat0 default
FastD
FastD baut einen Tunnel zu den Gateways auf, über welchen dann die weitere Kommunikation erfolgt. Die Installation erfolgt mittels:
# emerge -av fastd
wird fortgesetzt...
- Details
- Geschrieben von: Jörg
- Kategorie: Backbone Planung