Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung Nächste ÜberarbeitungBeide Seiten der Revision | ||
knb:rpb4_wg [2020/12/17 09:46] – Django | knb:rpb4_wg [2020/12/18 21:42] – Kleinigkeiten... gunter.m | ||
---|---|---|---|
Zeile 13: | Zeile 13: | ||
<WRAP center round info 90%> | <WRAP center round info 90%> | ||
- | Diese Anleitung funktioniert auf quasi allen Linux basierten Betriebssystemen, | + | Diese Anleitung |
\\ | \\ | ||
In den nachfolgenden Beispielen zu den Shell-/ | In den nachfolgenden Beispielen zu den Shell-/ | ||
- | * Ein vorangestelltes Dollarzeichen **'' | + | * Ein vorangestelltes Dollarzeichen **'' |
- | * Ein vorangestelltes Raute-Symbol **''#'' | + | * Ein vorangestelltes Raute-Symbol **''#'' |
\\ | \\ | ||
Sollten trotz des eingehenden Studiums dieser Anleitung dennoch Fragen offen bleiben, oder unvorhergesehenen Problemstellungen auftreten, findet man im **[[https:// | Sollten trotz des eingehenden Studiums dieser Anleitung dennoch Fragen offen bleiben, oder unvorhergesehenen Problemstellungen auftreten, findet man im **[[https:// | ||
Zeile 23: | Zeile 23: | ||
</ | </ | ||
- | Mit dem [[https:// | + | Mit dem [[https:// |
<WRAP center round important 60%> | <WRAP center round important 60%> | ||
Zeile 34: | Zeile 34: | ||
{{: | {{: | ||
{{: | {{: | ||
+ | |||
+ | ===== Ansible-Playbook gesteuerter Bau des Offloaders ===== | ||
+ | <WRAP center round tip 60%> | ||
+ | Wer nicht die nachfolgenden gut dokumentierten Schritte per Hand ausführen möchte, kann sich auch mit Hilfe von **[[https:// | ||
+ | |||
+ | < | ||
+ | </ | ||
===== Raspberry Pi OS ===== | ===== Raspberry Pi OS ===== | ||
Zeile 60: | Zeile 67: | ||
==== Kopieren des Images auf die MicroSD-Karte ==== | ==== Kopieren des Images auf die MicroSD-Karte ==== | ||
- | Nun können wir das Image auf die MicroSD-Karte, | + | Nun können wir das Image auf die MicroSD-Karte, |
# tail -f / | # tail -f / | ||
bzw. | bzw. | ||
Zeile 77: | Zeile 84: | ||
Sep 5 21:11:09 BOFHs-X230 gnome-terminal-[8119]: | Sep 5 21:11:09 BOFHs-X230 gnome-terminal-[8119]: | ||
- | In dem gezeigtem Fall handelt es sich also um die Gerätedatei **''/ | + | Aus der zweiten Zeile ergibt |
+ | |||
+ | Mit Hilfe der Gerätedatei können wir das heruntergeladene **[[# | ||
# dd if=~/ | # dd if=~/ | ||
Zeile 83: | Zeile 92: | ||
$ sudo dd if=/ | $ sudo dd if=/ | ||
- | Da wir später weder Tastatur noch Monitor an unseren Raspberry 4B anstecken wollen, diesen demnach im **headless**-Mode betreiben wollen und werden, legen wir noch eine Datei **'' | + | Wenn der Kopiervorgang abgeschlossen ist, Karte entfernen und wieder einstecken. Das System erkennt die beiden Partitions auf der Karte. Je nach Systemeinstellungen mountet sie die Partitions automatisch - in der Regel im Verzeichnis **''/ |
+ | |||
+ | # mount | ||
+ | |||
+ | aufrufen, und feststellen, | ||
+ | |||
+ | Da wir später weder Tastatur noch Monitor an unseren Raspberry 4B anstecken wollen, diesen demnach im **headless**-Mode betreiben wollen und werden, legen wir noch eine leere Datei **'' | ||
# touch / | # touch / | ||
bzw. | bzw. | ||
$ touch / | $ touch / | ||
- | Anschließend können wir nach einem Unmounten | + | Anschließend können wir nach einem Unmounten |
===== Vorbereitende Konfigurationsschritte ===== | ===== Vorbereitende Konfigurationsschritte ===== | ||
Zeile 160: | Zeile 175: | ||
==== Änderung des Hostnamens ==== | ==== Änderung des Hostnamens ==== | ||
- | Damit unser neuer Offloader | + | Damit unser neuer Offloader |
- | Nun setzen | + | Wir setzen den Hostnamen wie folgt: |
# hostnamectl set-hostname rpb4-wg-ol | # hostnamectl set-hostname rpb4-wg-ol | ||
- | Damit beim späteren Wechsel der Userrechte zu keiner Warnmeldung kommt, da der Hostname nicht aufgelöst werden konnte, korrigieren wir gleich noch die Konfigurationsdatei **''/ | + | Damit beim späteren Wechsel der Userrechte zu keiner Warnmeldung kommt, da der Hostname nicht aufgelöst werden konnte, korrigieren wir gleich noch die Konfigurationsdatei **''/ |
# vim /etc/hosts | # vim /etc/hosts | ||
<file bash / | <file bash / | ||
Zeile 184: | Zeile 199: | ||
<WRAP center round alert 80%> | <WRAP center round alert 80%> | ||
- | Möchte | + | Möchte später auch das WLAN des Raspberry verwenden, |
Hier loggen wir uns per SSH ein und setzen folgenden Befehl ab: | Hier loggen wir uns per SSH ein und setzen folgenden Befehl ab: | ||
# rfkill unblock wifi | # rfkill unblock wifi | ||
- | Zum Aktivieren ist noch ein Reboot unseres Raspberry 4 nötig! | + | Erst ein Reboot unseres Raspberry 4 aktiviert das WLAN tatsächlich! |
# systemctl reboot | # systemctl reboot | ||
</ | </ | ||
Zeile 197: | Zeile 212: | ||
# apt-get upgrade -y | # apt-get upgrade -y | ||
- | Nun ist es an der Zeit, das wir unseren Kleinstrechner **rpb4-wg-ol** neu zu starten. | + | Nun ist es dann doch an der Zeit, dass wir unseren Kleinstrechner **rpb4-wg-ol** neu zu starten. |
# systemctl reboot | # systemctl reboot | ||
===== BATMAN ===== | ===== BATMAN ===== | ||
- | Für das Routing der Layer-2-Verbindungen innerhalb des Freifunknetzes wird als Mesh-Protokoll **[[https:// | + | Für das Routing der Layer-2-Verbindungen innerhalb des Freifunknetzes wird als Mesh-Protokoll **[[https:// |
<WRAP center round tip 60%> | <WRAP center round tip 60%> | ||
Zeile 223: | Zeile 238: | ||
==== Kernelmodule ==== | ==== Kernelmodule ==== | ||
- | Nachdem das Kernelmodul manuell gebaut wird, wollen wir natürlich dass das auch Bestand hat, wenn ein Kernelupdate eingespielt wird. Dazu brauchen wir nun einige Pakete, die wir erst einmal installieren werden. | + | Nachdem das Kernelmodul manuell gebaut wird, wollen wir natürlich, dass das auch Bestand hat, wenn ein Kernelupdate eingespielt wird. Dazu brauchen wir nun einige Pakete, die wir erst einmal installieren werden. |
# apt update && apt install dkms raspberrypi-kernel-headers | # apt update && apt install dkms raspberrypi-kernel-headers | ||
- | Anschließend müssen wir auf Grund dessen, dass der Raspberry PI Kernel | + | Anschließend müssen wir die make Skripte neu generieren, weil der Raspberry PI Kernel |
# cd linux-headers-$(uname -r) | # cd linux-headers-$(uname -r) | ||
Zeile 246: | Zeile 261: | ||
</ | </ | ||
- | Da nun alle nötigen vorbereitenden Installations- und Konfigurationsschritte abgearbeitet | + | Da nun alle nötigen vorbereitenden Installations- und Konfigurationsschritte abgearbeitet |
# cd ../ | # cd ../ | ||
Zeile 267: | Zeile 282: | ||
Zum Speichern und Verlassen des Editors **vim** benutzen wir den **Vim**-Syntax **'' | Zum Speichern und Verlassen des Editors **vim** benutzen wir den **Vim**-Syntax **'' | ||
- | Nun sind wir mit unserer Konfiguration soweit dass wir die B.A.T.M.A.N-Kernelmodule bauen können. | + | Nun sind wir mit unserer Konfiguration soweit, dass wir die B.A.T.M.A.N-Kernelmodule bauen können. |
# dkms add -m batman-adv -v 2020.4 | # dkms add -m batman-adv -v 2020.4 | ||
Zeile 331: | Zeile 346: | ||
* BATMAN_V</ | * BATMAN_V</ | ||
- | Nun kommen wir zur Interface Konfiguration. In diesem Beispiel, werden wir das Raspberry PI im Segment " | + | Nun kommen wir zur Interface Konfiguration. In diesem Beispiel werden wir den RPi-Offloader |
# apt install bridge-utils -y | # apt install bridge-utils -y | ||
- | Wir können mit nachfolgendem Befehl | + | Wir können mit nachfolgendem Befehl überprüfen, |
# batctl -v | # batctl -v | ||
Zeile 730: | Zeile 745: | ||
<WRAP center round alert 60%> | <WRAP center round alert 60%> | ||
**WICHTIG**: | **WICHTIG**: | ||
- | Die hierzu nötige **vxlan id** darf nicht mit der VX-LAN.ID verwechslet | + | Die hierzu nötige **vxlan id** darf nicht mit der VX-LAN-ID verwechselt |
</ | </ | ||
Zeile 787: | Zeile 802: | ||
# chmod +x / | # chmod +x / | ||
- | Damit das vxlan-Meshing automatisch beim Starten unseres Offloaders gestartet wird, legen wir uns auch hier ein antsprechendes | + | Damit das vxlan-Meshing automatisch beim Starten unseres Offloaders gestartet wird, legen wir uns auch hier ein entsprechendes |
# vim / | # vim / | ||
<file bash / | <file bash / | ||
Zeile 807: | Zeile 822: | ||
</ | </ | ||
- | Wie schon zuvor bei unserem Broker-Informations-systemd-Startscriot | + | Wie schon zuvor bei unserem Broker-Informations-systemd-Startscript |
# systemctl daemon-reload | # systemctl daemon-reload | ||
Zeile 813: | Zeile 828: | ||
# systemctl start vxlan.service | # systemctl start vxlan.service | ||
- | Für den automatischen Start beim Hochfahren unseres Offloaders aktivieren wir nun noch das entsprechende | + | Für den automatischen Start beim Hochfahren unseres Offloaders aktivieren wir nun noch das entsprechende |
# systemctl enable vxlan.service | # systemctl enable vxlan.service | ||
Zeile 825: | Zeile 840: | ||
==== Werteermittlung ==== | ==== Werteermittlung ==== | ||
- | Wir ermitteln also am einfachsten die Geo-Koordinaten aus der Feifunk | + | Wir ermitteln also am einfachsten die Geo-Koordinaten aus der Freifunk |
- | {{ : | + | {{ : |
Zeile 876: | Zeile 891: | ||
</ | </ | ||
- | Wir tragen | + | Wir tragen |
\\ | \\ | ||
< | < | ||
Zeile 967: | Zeile 982: | ||
</ | </ | ||
- | Nach kurzer Zeit taucht unser Node auf der Karte auf. | + | Nach kurzer Zeit taucht unser Node dann auch auf der Karte auf. |
{{ : | {{ : | ||
Zeile 990: | Zeile 1005: | ||
br-welt | br-welt | ||
- | Wir sehen somit die Adresen | + | Wir sehen somit die Adressen |
Als nächstes prüfen wir, ob die beiden Interfaces **'' | Als nächstes prüfen wir, ob die beiden Interfaces **'' | ||
Zeile 1004: | Zeile 1019: | ||
8a: | 8a: | ||
- | Zu guter letzt sehen wir uns noch die Gateway-Liste an über bzw. mit denen unser Offloader verbunden ist. | + | Zu guter Letzt sehen wir uns noch die Gateway-Liste an über bzw. mit denen unser Offloader verbunden ist. |
# batctl meshif bat-welt gwl | # batctl meshif bat-welt gwl | ||
< | < | ||
Zeile 1132: | Zeile 1147: | ||
# echo ' | # echo ' | ||
- | ==== Konfiguartion | + | ==== Konfiguration |
- | Nun legen wir uns eine entsprechende | + | Nun legen wir uns eine entsprechende |
# vim / | # vim / | ||
Zeile 1171: | Zeile 1186: | ||
</ | </ | ||
- | Anschließend | + | Anschließend |
# systemctl unmask hostapd | # systemctl unmask hostapd | ||
# systemctl enable hostapd | # systemctl enable hostapd | ||
Zeile 1202: | Zeile 1217: | ||
</ | </ | ||
- | Am Besten nochmal rebooten um sicher zugehen dass alles passt, danach einfach mit dem ClientWifi verbinden. | + | Am Besten nochmal rebooten um sicher zugehen, dass alles passt, danach einfach mit dem ClientWifi verbinden. |
# systemctl reboot | # systemctl reboot | ||
===== LAN Clients ===== | ===== LAN Clients ===== | ||
- | Will man LAN Clients versorgen, so erstellt man am einfachsten ein VLAN getaggtes Clientnetz. Dazu erstellt man in der Konfigurationsdatei **''/ | + | Will man LAN Clients versorgen, so erstellt man am einfachsten ein VLAN getaggtes Clientnetz. Dazu erstellt man in der Konfigurationsdatei **''/ |
# vim / | # vim / | ||
<file bash / | <file bash / | ||
Zeile 1313: | Zeile 1328: | ||
==== Installation der Software-Bibliotheken ==== | ==== Installation der Software-Bibliotheken ==== | ||
- | Jetzt installieren wir die notwendige Python | + | Jetzt installieren wir die notwendige Python |
# apt install git fonts-freefont-ttf -y | # apt install git fonts-freefont-ttf -y | ||
# cd / | # cd / | ||
Zeile 1601: | Zeile 1616: | ||
</ | </ | ||
- | Anschließend | + | Anschließend |
# systemctl daemon-reload | # systemctl daemon-reload | ||
# systemctl enable oled-bandwidth.service | # systemctl enable oled-bandwidth.service | ||
- | Zu guter letzte | + | Zu guter Letzt rebooten wir nun unseren Rechner. |
# systemctl reboot | # systemctl reboot | ||