Diese Anleitung richtet einen neuen Offloader ein. Vorhandene Konfigurationsdateien werden vor Änderungen mit Zeitstempel unter /var/backups/freifunk gesichert. Am Ende wird der Installationsbericht unter /root/install-yyyy-mm-dd-hh-mm.txt erzeugt. Bei bestehenden Offloadern zuerst die vorhandene Netzwerk- und VPN-Konfiguration prüfen.
Jeden Terminalblock vollständig kopieren und der Reihenfolge nach als root ausführen. Eingaben erfolgen im Terminal; Enter übernimmt den angezeigten Vorschlag. Ab b kommen Webserver, Statusseite und Datensammler hinzu. Die Firmware-Anleitung oberhalb bleibt ein eigener Installationsweg.
Erklärung
-
Grüne Schrift Terminal Befehle die als root auszuführen sind.
Rote Schrift Inhalte die in Dateien zu schreiben sind.
Grundkenntnisse in Linux sind notwendig. Die folgenden Terminalblöcke werden als root ausgeführt. Wir gehen davon aus, dass Du einen PC mit Linux benutzt.
Blauer Schrift dient der Erläuterungen oder kennzeichnet Stellen, die Du eventuell ändern musst.
Mini PC
-
Als Offloader empfehlen wir Mini PCś mit zwei Netzwerk-Ports, 8GB RAM, 100GB SSD, CPU 4 Kerne.
BIOS
-
BIOS so einstellen, dass der Mini-PC nach einem Stromausfall wieder startet! (Power ON)
Linux
-
Auch die aktuellste Version von debian ohne und mit Desktop haben wir getestet.
Linux (mint) auf Basis ubuntu oder debian haben wir auch getestet.
Login als Root
-
root@server:~#
Softwarevarianten a bis d
Debian 13 und Desktop: Für die Varianten a, b und c empfehlen wir Debian ohne grafische Desktop-Umgebung. Für Variante d ist eine grafische Desktop-Umgebung erforderlich. Wähle sie bereits bei der Debian-Installation aus.
Alle Varianten bauen aufeinander auf. Das Skript prüft, ob eine installierte Desktop-Umgebung und ein startbarer X11- oder Wayland-Sitzungseintrag vorhanden sind. Allgemeine Anmelde- und Konsoleneinträge reichen dafür nicht aus. Ohne erkannten Desktop stehen a, b und c zur Auswahl. Enter wählt c. Mit erkanntem Desktop stehen a, b, c und d zur Auswahl. Enter wählt d. Die Erkennung funktioniert auch beim Aufruf per SSH. Die Listen dienen zur Erläuterung und haben keine eigenen Kopierbuttons.
a – notwendige Basis ohne Webserver
Grundpakete: openssh-server openssh-client batctl bridge-utils rsync iptables net-tools git fastd ipv6calc isc-dhcp-client python3 iputils-ping chrony cron ifupdown iproute2 kmod curl wget ca-certificates python3-netifaces nano ethtool lsb-release vlan dialog iw wireless-regdb
b – zusätzlich Statusseite, Datensammler und Diagnose
Enthält alle vorherigen Varianten; zusätzlich: vim apache2 apache2-utils php php-curl php-zip php-xml php-gd php-mbstring sudo php-cli lm-sensors nut-client nut-server nftables ssl-cert iperf3 vnstat hardinfo2 duf
c – unsere Empfehlung mit weiteren Werkzeugen
Enthält alle vorherigen Varianten; zusätzlich: iftop htop rsyslog unattended-upgrades glances etherape links2 gpm letsencrypt python3-certbot-apache traceroute iperf
d – zusätzlich als Büro-PC verwenden
Enthält alle vorherigen Varianten; zusätzlich: nextcloud-desktop numlockx gimp libreoffice libreoffice-l10n-de libreoffice-help-de libreoffice-impress libreoffice-draw libreoffice-base simple-scan chromium pdfarranger keepassxc gparted vlc x11-apps thunderbird
Ab b wird zusätzlich der offizielle Ookla-Speedtest (Paket speedtest) aus dessen Paketquelle installiert. Das Debian-Paket speedtest-cli ist kein Ersatz. duf und vnstat sind bereits ab b enthalten. iperf3 gehört ebenfalls ab b dazu; beim Paketdialog kann der Daemon gewählt werden.
DNS-Hinweis zu index.php?all: resolvectl benötigt systemd-resolved. Das Skript installiert diesen DNS-Dienst nicht allein für die Anzeige, weil seine Installation die bestehende DNS-Verwaltung verändern würde. Deshalb kann dieser einzelne Diagnoseabschnitt ohne diesen Dienst „nicht verfügbar“ melden.
Die Zusatzabfragen für ISC-DHCP-Server, OpenVPN, radvd, WireGuard und Kea entfallen. Der Installer installiert oder entfernt diese Komponenten nicht gezielt. Bereits vorhandene Pakete bleiben erhalten; das allgemeine Systemupdate bleibt bestehen.
Vertrauenswürdige HTTPS-Quellen, Firewall und Rücknahme
Unser Server freifunk-halle.org gilt als vertrauenswürdige Quelle. Eigene Dateien werden über HTTPS mit aktiver Zertifikatsprüfung heruntergeladen. Ein zusätzlicher OpenPGP-Schlüssel, Signieren oder Freigabemanifest ist nicht erforderlich.
Der Startbefehl gleicht die heruntergeladene Installer-Datei mit der auf dieser Seite hinterlegten SHA-256-Prüfsumme ab. Das TAR-Archiv wird vor dem Entpacken auf zulässige Inhalte geprüft; seine Prüfsumme wird im Bericht protokolliert. Prüfsummen dienen der Zuordnung und Integritätsprüfung und bieten keinen unabhängigen Schutz gegen Änderungen auf dem vertrauenswürdigen Server.
ext-respondd wird über GitHub-HTTPS an einen konkreten Git-Commit gebunden. Debian und Ookla verwenden weiterhin die APT-Signaturprüfung. Der öffentliche Ookla-Paketschlüssel wird über HTTPS direkt vom Anbieter geladen und nur für dessen Repository mit signed-by verwendet. Es wird kein fremdes Repository-Installationsskript als root ausgeführt.
Firewall: SSH bleibt über alle lokalen IPv4-/IPv6-Adressen zugelassen. Es wird nur gefragt: „Soll Apache auch am WAN antworten?“ – Standard nein. Dann werden die Apache-Listen-Ports am WAN und VLAN 6 gesperrt. Andere Firewalltabellen werden nicht gelöscht. Konflikte mit vorhandenen Firewallverwaltungen müssen zuerst geklärt werden. Der eigene Regelsatz wird vor Anwendung geprüft und über einen eigenen Dienst dauerhaft geladen.
Rücknahme: /usr/local/sbin/freifunk-installation --rollback zeigt den Plan und verlangt eine ausdrückliche Bestätigung. Die Änderungen des jeweiligen protokollierten Laufs an Dateien, Diensten, Paketen und eigener Firewall werden zurückgesetzt; das System-Upgrade bleibt erhalten. Nachträglich veränderte Konfigurationen führen zum Anhalten. Sammlerdaten werden auf den gesicherten Stand zurückgesetzt. Berichte, Quellennachweise und Sicherungen bleiben zur Nachvollziehbarkeit erhalten. Die privaten Journalsicherungen können Zugangsdaten enthalten und sind nur für root zugänglich. Ein älterer journalgestützter Lauf kann mit --rollback /var/lib/freifunk-installation/SITZUNG gewählt werden; bei mehreren Läufen zuerst den jüngsten zurücknehmen. Für Installationen älterer Fassungen ohne Journal gibt es keine vollständige automatische Rücknahme.
Für die Rücknahme bitte eine lokale Konsole benutzen: Das Zurücksetzen von WAN-/SSH-Einstellungen kann den Zugang trennen. Die vorherige Netzwerkkonfiguration wird nach einem ausdrücklich bestätigten Neustart aktiv. Die Rücknahmepfade sind neue Testfunktionen und müssen zunächst auf dem Test-Offloader geprüft werden.
Fortsetzen: Beim ersten Lauf wird der SHA-256-Hash des ausgeführten Installers in der Sitzung gespeichert. --resume vergleicht ihn vor der Fortsetzung. Bei abweichendem oder fehlendem Hash wird angehalten; der ursprüngliche Hash wird nicht überschrieben. Dann die ursprüngliche Skriptversion verwenden oder einen neuen Lauf starten. Dies ist ein Versionsvergleich, keine Signaturprüfung.
Die Fragen zu alias.json stehen vor den IP-Adressabfragen. br0 erhält automatisch eine IPv6 aus der Bridge-MAC und eine weitere aus der Node-ID-MAC. Die Node-ID-Adresse wird vorab angezeigt; die Bridge-Adresse ebenfalls, sofern br0 bereits existiert. Eine zusätzliche reservierte IPv6 bleibt optional.
Portrollen: Ungetaggtes Freifunk-LAN wird je Ethernet-Port über ein eigenes macvlan mit br0 verbunden. Auf diesem Port sind ungetaggtes WAN und Mesh ausgeschlossen; getaggte VLANs bleiben zulässig. Optionales Management-VLAN 7 wird auf allen erkannten Ethernet-Ports angelegt. Die reservierte IPv4 steht einmal auf br7; STP ist dort aktiviert. Fremde widersprüchliche Netzkonfigurationen werden nicht überschrieben. Die erste Nutzererfassung wird bei fehlendem Mesh übersprungen; Cron bleibt aktiv.
Ein im Archiv enthaltener Ordner offloaderwebseite/vnstat wird vollständig neben index.html und index.php im gewählten Webverzeichnis installiert. Vorhandene gleichnamige Dateien werden gesichert und überschrieben. Zusätzliche vorhandene Dateien bleiben erhalten.
Nachbarnamen im Freifunk-Mesh
Der Installer richtet in allen Varianten den Freifunk-Halle-Patch für ext-respondd ein. Er erfasst die vorhandenen Kabel-Mesh-, VLAN-Mesh- und VPN-Schnittstellen beim Dienststart. Ein bereits exakt so gepatchter Stand wird übernommen. Bei abweichenden lokalen Änderungen hält die Einrichtung an.
Beim Booten startet /etc/rc.local den Dienst nach der Mesh-Portzuordnung erneut. Der Start wartet dabei bis zu 15 Sekunden darauf, dass vpn3 in BATMAN erscheint. Fehlt es danach noch, startet der Dienst mit den vorhandenen Ports. Nach dem Neustart zeigt /usr/local/sbin/freifunk-installation --check die Multicast-Mitgliedschaft für die vorhandenen BATMAN-Ports. Prüfe anschließend auf der Statusseite, ob die Nachbarnamen angezeigt werden.
Im laufenden Betrieb überwacht freifunk-mesh-link-watch.service die Kabel-Mesh-Ports, die physischen Träger und Schnittstellen von VLAN 5 sowie vpn3. Linkwechsel im Kabel-Mesh sowie das Anlegen, Entfernen oder Umhängen einer Mesh-Schnittstelle lösen nach drei Sekunden ohne weitere Änderung einen Neustart von ext-respondd aus. Reine WAN- oder Client-LAN-Ports lösen ihn nicht aus. VPN-Peerwechsel bei unverändertem vpn3 bleiben ohne Neustart. Ein Kabelwechsel hinter einem Switch ist erkennbar, wenn sich dadurch der Linkzustand am Offloader ändert.
Für die erstmalige Übernahme des Patches auf einem bestehenden Offloader ist ein neuer regulärer Installationslauf mit dieser Fassung erforderlich. --network schreibt die Bootreihenfolge, überspringt aber die Einrichtung von ext-respondd.
Ethernet-Ports im Terminal zuordnen
Die Portauswahl öffnet sich im Terminal. Mit den Pfeiltasten bewegen, mit der Leertaste Rollen markieren und mit Enter bestätigen. Mit Tab zu „Zurück“ wechseln, um den vorherigen Schritt zu bearbeiten. Bereits eingegebene Werte bleiben als Vorschläge erhalten. Mit Esc lässt sich die Portauswahl abbrechen. Ein Debian-Desktop ist dafür nicht nötig. Bei einem reinen Netzwerklauf auf einer älteren Installation müssen dialog und iw bereits installiert sein, damit die grafische Auswahl erscheint.
- Ethernet: WAN per DHCP, Kabel-Mesh, Freifunk-LAN und VLAN-Paket 5/6/8 je Anschluss auswählen. WAN und Kabel-Mesh dürfen sich einen Port teilen. Ungetaggtes Freifunk-LAN schließt beide auf diesem Port aus. Das VLAN-Paket bleibt unabhängig.
Die Abschlussübersicht nennt die eingerichteten Ethernet-Funktionen. Kabel-Mesh und VPN-Mesh bleiben verfügbar.
VPN-Mesh nach einem WAN-Wechsel
Sobald ein bereits eingerichteter Ethernet-WAN-Port oder VLAN 6 wieder einen Link hat, fragt der Offloader auf genau dieser Schnittstelle DHCPv4 neu an. Dabei bleibt die Mesh-Zuordnung bestehen. Die Routenmetrik der Schnittstelle wird beibehalten. Die DHCP-Linküberwachung ist unabhängig von der optionalen periodischen DHCP-Zusatzabfrage.
Der Timer freifunk-wan-recovery.timer prüft den WAN-Pfad zur konfigurierten VPN-Gegenstelle. Das gilt für eingerichtete WAN-Ports und WAN über VLAN 6. Bei einem neuen nutzbaren Pfad erhält fastd mindestens 30 Sekunden Zeit für den eigenen Verbindungsaufbau. Meldet der Status-Socket danach weiterhin keinen verbundenen Peer, wird der laufende fastd@freifunk.service einmal neu gestartet. Die Beobachtung endet nach 150 Sekunden. Linkwechsel am WAN allein lösen keinen Neustart von ext-respondd aus.
Der neue Anschluss muss bereits als WAN eingerichtet sein und eine Adresse sowie eine Route zur VPN-Gegenstelle bekommen. Ein WAN-Ausfall bei unverändertem Link und unveränderter Route wird durch diese Überwachung nicht erkannt. Das Protokoll des Tests steht unter journalctl -u freifunk-wan-recovery.service.
Ein gemeinsamer Startbefehl
Terminalfarben: Blau = Installationsschritt, Grün = erfolgreich, Gelb = Hinweis, Rot = Fehler oder Reservierungswarnung, Cyan = Eingabe. Protokolle bleiben ohne Farbcodes. Bei umgeleiteter Ausgabe oder TERM=dumb werden Farben deaktiviert; NO_COLOR deaktiviert sie ebenfalls.
Internetverbindung erforderlich: Der Offloader muss bereits vor dem Start der Installation mit dem Internet verbunden sein. Die Verbindung muss während der gesamten Installation bestehen bleiben, da Pakete und Dateien heruntergeladen werden. Das Skript richtet einen noch fehlenden Internetzugang nicht vorab ein.
Als root in einem interaktiven Terminal ausführen. Der Befehl lädt das in genau dieser PHP-Seite enthaltene Skript, prüft dessen SHA-256 und startet es. Deshalb zuerst diese vollständige PHP-Datei auf freifunk-halle.org/offloader/ bereitstellen. Für den Start werden curl und python3 benötigt; ein frisch installiertes Debian gegebenenfalls vorher mit apt install curl ca-certificates python3 vorbereiten.
bash <<'FREIFUNK_START'
set -euo pipefail
[ "$(id -u)" -eq 0 ] || { echo 'Bitte als root ausführen.'; exit 1; }
arbeit=$(mktemp -d /tmp/freifunk-start.XXXXXX)
trap 'rm -rf -- "$arbeit"' EXIT
curl --proto '=https' --proto-redir '=https' --fail --show-error --location 'https://freifunk-halle.org/offloader/index.php?download=installer' --output "$arbeit/install-offloader.sh"
printf '%s %s\n' '4e8f2e3d8c552f60df79ba57e759d68b678d828bd54f33cfe0c161f138e1f72a' "$arbeit/install-offloader.sh" | sha256sum -c -
bash -n "$arbeit/install-offloader.sh"
bash "$arbeit/install-offloader.sh"
FREIFUNK_START
Installationsskript herunterladen
Bei manuellem Download: Die Datei auf dem einzurichtenden Offloader unter /tmp/install-offloader.sh speichern. Für den Download mit Prüfsummenvergleich den Startbefehl oben verwenden:
bash /tmp/install-offloader.sh
Der Kopierbefehl oben übernimmt Download und Start automatisch in einem eigenen temporären Verzeichnis unter /tmp. Das gestartete Skript legt außerdem eine Kopie unter /usr/local/sbin/freifunk-installation ab; darüber sind später --resume, --network und --check möglich.
Wann gebe ich IPv4 und IPv6 ein?
Die Adresseingabe erfolgt im Terminal, nachdem du WAN, Mesh und das VLAN-Paket gewählt hast. Das Skript zeigt dafür einen eigenen Abschnitt mit der Überschrift „ADRESSEN EINGEBEN“. Dort folgen immer diese drei Abfragen – auch wenn du VLAN 5/6/8 nicht einrichtest:
- br0: reservierte IPv4-Adresse (optional, Standard leer).
- br0: reservierte IPv6-Adresse (optional, Standard leer).
- VLAN 7: reservierte Management-IPv4-Adresse aus 192.168.62.0/24 (optional, Standard leer).
Für jede Adresse gilt: Ohne bestehende Reservierung nichts eintragen. Enter lässt die zusätzliche Angabe leer und erhält bereits vorhandene Adressen. Die generierte IPv6 für br0 wird immer eingerichtet. Bei VLAN 7 wird nach einer Adresseingabe bei Bedarf noch der physische Trägerport abgefragt.
Bereits eingerichtet oder Adresseingabe übersprungen? Mit der hier heruntergeladenen neuen Skriptfassung kannst du nur Ports und Adressen erneut einstellen:
/usr/local/sbin/freifunk-installation --network
Nach Installation dieser neuen Fassung geht es auch über /usr/local/sbin/freifunk-installation --network. Dafür kein --resume verwenden: --resume überspringt bereits erledigte Schritte. Der Netzwerkaufruf startet kein apt-Update, keine Paketinstallation und keine Passwortänderung. Vor dem Schreiben wird der Netzwerkplan angezeigt; ein Neustart wird erst am Ende ausdrücklich abgefragt.
| Schnittstelle | Erlaubte neue Eingabe | Präfix |
|---|
| br0 IPv4 | 10.62.0.1 bis 10.62.255.254 | /16 |
| br0 feste IPv6 | fd0f:8db3:d50a::1 bis fd0f:8db3:d50a::ffff | /64 |
| VLAN 7 IPv4 | 192.168.62.1 bis 192.168.62.254 | /24 |
Diese Prüfung bestätigt nur den zulässigen Bereich, keine Reservierung. Bereits vorhandene Adressen werden bei leerer Eingabe weiterhin erhalten. Die automatisch aus der MAC erzeugte IPv6 ist von der Einschränkung für feste IPv6-Eingaben ausgenommen.
WAN über Ethernet auswählen
Es werden ausschließlich physische Ethernet-Ports zur Einrichtung angeboten. WLAN wird weder eingerichtet noch umkonfiguriert. Bestehende WLAN-Verbindungen bleiben unverändert. Für die Installation ist ein funktionierender Internetzugang erforderlich.
Ports und VLANs zuordnen
Vorhandene Portzuordnungen sind nur Vorgaben. WAN, Mesh und VLAN-Träger können neu gewählt werden. WAN und Mesh dürfen auch bei mehreren Ethernet-Ports denselben Port nutzen. Jeder Ethernet-Port erhält drei eigene Ja/Nein-Abfragen: WAN, ungetaggtes Mesh und VLAN-Paket. Alle Kombinationen sowie ungenutzte Ports sind möglich. Mehrere WAN-Ports erhalten gestaffelte Routenmetriken. Der Installer überwacht den WAN-Pfad von fastd nach dem Neustart. Der Plan wird vor dem Schreiben angezeigt und muss bestätigt werden. Konflikte mit fremden festen Portkonfigurationen führen zum Abbruch.
WAN ist DHCP-Client. VLANs werden separat angeboten: gemeinsam VLAN 5 für zusätzliches Kabel-Mesh, VLAN 6 für WAN mit DHCP und VLAN 8 für Freifunk-LAN über fflan nach br0. Der Switch muss die VLANs passend bereitstellen. WAN-Routen erhalten Metriken ab 100, VLAN-6-Routen ab 500; kleinere Werte haben Vorrang. IPv6-RA-Routen erhalten entsprechende Vorgaben.
VLAN 7 ist unabhängig optional. Bei mehreren Ports wird der Trägerport abgefragt. Die Eingabe bleibt standardmäßig leer:
VLAN 7 für Management einrichten?
ACHTUNG: Hier darf ausschließlich eine für diesen Offloader reservierte
IPv4-Adresse aus dem Bereich 192.168.62.0/24 eingetragen werden!
Ohne bestehende Reservierung keine Adresse eingeben.
Reservierte IPv4-Adresse [leer = VLAN 7 nicht anlegen]:
VLAN 7 bekommt /24 und keine zusätzliche Standardroute. Das Skript kann die tatsächliche Reservierung nicht selbst prüfen. Vorhandene VLAN-7-Einstellungen werden bei leerer Eingabe erhalten. Bei einer bestehenden Adresse zeigt die Abfrage ausdrücklich „Enter = vorhandene Adresse beibehalten“ statt „VLAN 7 nicht anlegen“.
Für br0 werden optional eine reservierte IPv4- und eine reservierte IPv6-Adresse abgefragt. Ohne Reservierung nichts eintragen. Standard ist jeweils leer; bestehende Adressen werden dadurch nicht gelöscht. Eine Adresse mit /Präfix kann eingegeben werden; ohne Angabe verwendet br0 für IPv4 /16 und für IPv6 /64. Neue IPv4-Eingaben müssen in 10.62.0.0/16 liegen (keine Netz- oder Broadcastadresse). Feste IPv6-Eingaben müssen der Form fd0f:8db3:d50a::xxxx entsprechen, mit einem letzten Block von 1 bis ffff. Andere Bereiche oder Präfixe werden abgelehnt. Die Reservierung ist zusätzlich erforderlich. Die aus der MAC generierte IPv6-Adresse wird unabhängig davon immer eingerichtet.
SSH-Schlüssel und Angaben zur Netzkarte
Beliebig viele öffentliche SSH-Schlüssel nacheinander eingeben, jeweils eine vollständige Zeile aus einer .pub-Datei. Eine leere Eingabe beendet die Erfassung. Niemals private Schlüssel einfügen. Vorhandene Schlüssel bleiben erhalten; gleicher Schlüsselinhalt mit anderem Kommentar wird ebenfalls erkannt.
Hostname aus /etc/hostname, Node-ID aus der MAC des ersten Ethernet-Ports ohne Doppelpunkte, Hardwaremodell und firstseen werden vorgeschlagen. Kontakt darf E-Mail-Adresse oder Telefonnummer sein. Enter oder „-“ entfernt einen vorhandenen Kontakteintrag; ohne weitere Eigentümerangaben entfällt auch der leere owner-Abschnitt. Ohne beide Koordinaten entfällt der gesamte location-Abschnitt in alias.json. Bestehende ext-respondd-Dateien werden zunächst zur unveränderten Übernahme angeboten.
Cron, täglicher Neustart und LTE-DHCP
Der tägliche Neustart um 05:00 Uhr wird abgefragt. Die zusätzliche DHCP-Anfrage für problematische LTE-Router ist optional; das Intervall wird abgefragt, Standard 5 Minuten (1 bis 1440 Minuten möglich). Sie betrifft den gewählten ifupdown-WAN-Port und bei aktiviertem VLAN-Paket zusätzlich VLAN 6.
Die Aufgaben stehen in /etc/cron.d/freifunk. Für das Standardintervall von fünf Minuten steht direkt */5 * * * * root /usr/local/sbin/freifunk-dhcp-erneuern in der Cron-Datei. Andere passend darstellbare Intervalle werden ebenfalls direkt eingetragen; nur bei nicht exakt darstellbaren Intervallen prüft der Helfer jede Minute den fälligen Zeitpunkt. Ein Lock verhindert überlappende Zusatzläufe. Ab b: status, internet, nodes und nutzer alle fünf Minuten; USV/Akku optional jede Minute (Standard nein); Ookla stündlich :00 und iperf3 :30 (beide Standard ja). Die übrigen Sammleraufgaben sind ebenfalls standardmäßig aktiv. Auch beim ersten Sammlerlauf wird diese Auswahl berücksichtigt; Speedtest und iperf3 werden getrennt abgefragt: Speedtest mit Vorgabe Ja, iperf3 mit Vorgabe Nein. Enter überspringt damit die erste iperf3-Messung vor der VPN-Freischaltung. Für Ookla werden Lizenz-/Datenschutz-Zustimmung und automatische Messungen ausdrücklich abgefragt. Alte Root-Crontab-Einträge werden angezeigt und müssen gezielt bereinigt werden.
Alte Angaben außerhalb der Vorgaben
Vor den zusätzlichen Adresseingaben prüft das Skript bestehende feste Adressen von br0 und VLAN 7 in /etc/network/interfaces, den Dateien unter interfaces.d sowie der gespeicherten Installer-Auswahl. Bei einer Abweichung werden Adresse und Quelle angezeigt. Dann muss ausdrücklich 1 – unverändert beibehalten oder 2 – durch eine gültige reservierte Adresse ersetzen gewählt werden. Es gibt dafür keine automatische Auswahl.
Eine Ersetzung wird zunächst nur vorgemerkt. Die betroffene Adresse wird im Netzwerkplan tatsächlich ersetzt, nicht bloß um eine weitere Adresse ergänzt. Erst nach Bestätigung werden die gesicherten Konfigurationsdateien geschrieben. Bewusst beibehaltene Abweichungen und geplante Änderungen stehen im Installationsbericht. Die aus der MAC erzeugte IPv6 ist ausgenommen. Nicht eindeutig erkennbare Sonderkonstruktionen und andere Netzwerkverwaltungen werden nicht automatisch umgeschrieben.
Vorhandene Installation und erneuter Aufruf
Pakete werden ergänzt beziehungsweise aktualisiert. Vor Änderungen werden Dateien gesichert. Bestehende br0-Adressen, zusätzliche VLANs, Passwörter und fastd-Schlüssel bleiben erhalten. Portrollen können bewusst neu zugeordnet werden. Bei einer vorhandenen Installer-Cron-Datei wird gefragt, ob sie neu eingestellt werden soll. Das Skript ist eine neue Testfassung; vor dem Einsatz auf produktiven Offloadern zunächst auf debian13offloader prüfen.
Bei einem Fehler stoppt der Ablauf. Erledigte Schritte werden innerhalb derselben Sitzung beim Fortsetzen übersprungen. Mit /usr/local/sbin/freifunk-installation --resume fortsetzen. Für eine neue Auswahl beziehungsweise neue Portzuordnung das Skript ohne --resume starten.
Ethernet-/Bridge-Netzwerkdateien werden vorerst nur geschrieben. Der bisherige Netzwerkneustart in rc.local bleibt als Workaround erhalten, bis die vermutete IPv6-DAD-/Timing-Ursache auf der Datenschleuder geklärt ist. Der Rechner startet erst nach ausdrücklicher Bestätigung am Ende neu.
Abschluss und Hilfeseite
Der Bericht /root/install-yyyy-mm-dd-hh-mm.txt enthält Auswahl, Paketänderungen, Sicherungen, Prüfungen und offene Punkte. Passwörter und private Schlüssel werden nicht mitgeschrieben; die Datei ist nur für root lesbar. Nach dem Neustart /usr/local/sbin/freifunk-installation --check ausführen; die Ergebnisse ergänzen denselben Bericht.
Die Statusseite wird ab b zusammen mit dem Datensammler aus offloaderwebseite.tar installiert. Das Archiv wird unter /tmp mit tar -xf entpackt; Datensammler nach /opt/freifunk/datensammler.php, index.html und index.php in das abgefragte Webverzeichnis (Standard /var/www/html). Gleichnamige Dateien werden nach Sicherung ersetzt. index.html leitet auf index.php? weiter. Die Hilfe des Offloaders heißt index.php?hilfe.
Am Installationsende werden der öffentliche fastd-Schlüssel und die Registrierungsadresse nochmals deutlich angezeigt. Einen neuen Schlüssel vor der VPN-Nutzung unter VPN-Schlüssel speichern registrieren. Switch-VLANs sowie standortabhängige DHCP-Server- und USV-Konfiguration bleiben gesonderte Aufgaben. Ein eigenes Webverzeichnis erfordert ein passendes Apache-DocumentRoot. Ein konfigurierter Dienst muss anschließend im Betrieb geprüft werden.