knb:rpb4_wg

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
Nächste ÜberarbeitungBeide Seiten der Revision
knb:rpb4_wg [2020/12/17 10:52] – [Hintergründe] Djangoknb:rpb4_wg [2020/12/18 12:45] – [Ansible-Playbook gesteuerter Bau des Offloaders] Django
Zeile 16: Zeile 16:
 \\ \\
 In den nachfolgenden Beispielen zu den Shell-/Konsolen-Befehlen gelt folgende Formatierungen: In den nachfolgenden Beispielen zu den Shell-/Konsolen-Befehlen gelt folgende Formatierungen:
-  * Ein vorangestelltes Dollarzeichen **''$''** bedeutet, dass der bzw. die Befehle mit Userrechten des gerade angemldeten Benutzers ausgeführt werden können. +  * Ein vorangestelltes Dollarzeichen **''$''** bedeutet, dass der bzw. die Befehle mit Userrechten des gerade angemeldeten Benutzers ausgeführt werden können. 
-  * Ein vorangestelltes Raute-Symbol **''#''** hingegen bedeutet, dass zum Ausführen des Befehls bzw. der befehle Root-Rechte benötigt werden, die man z.b. mit Hilfe von **'' $ sudo su -''** erlangen kann. +  * Ein vorangestelltes Raute-Symbol **''#''** hingegen bedeutet, dass zum Ausführen des Befehls bzw. der Befehle Root-Rechte benötigt werden, die man z.b. mit Hilfe von **'' $ sudo su -''** erlangen kann. 
 \\ \\
 Sollten trotz des eingehenden Studiums dieser Anleitung dennoch Fragen offen bleiben, oder unvorhergesehenen Problemstellungen auftreten, findet man im **[[https://chat.ffmuc.net/freifunk/channels/technik-offloader|Chat]]** sicher schnell Hilfe und Unterstützung.  Sollten trotz des eingehenden Studiums dieser Anleitung dennoch Fragen offen bleiben, oder unvorhergesehenen Problemstellungen auftreten, findet man im **[[https://chat.ffmuc.net/freifunk/channels/technik-offloader|Chat]]** sicher schnell Hilfe und Unterstützung. 
Zeile 23: Zeile 23:
 </WRAP> </WRAP>
  
-Mit dem [[https://www.raspberrypi.org/documentation/hardware/raspberrypi/bcm2711/rpi_DATA_2711_1p0_preliminary.pdf|Raspberry PI 4]] ist es das erste Mal möglich, einen Offloader sinnvoll auf einem PI zu betreiben. Denn in dieser Version bietet der Ethernet Anschluss genug Durchsatz und die CPU ist leistungsfähig genug um eine ordentliche **WireGuard** Performance zu bieten. Dies war bei den Vorgänger Modellen so leider **nicht** der Fall.+Mit dem [[https://www.raspberrypi.org/documentation/hardware/raspberrypi/bcm2711/rpi_DATA_2711_1p0_preliminary.pdf|Raspberry PI 4]] ist es das erste Mal möglich, einen Offloader sinnvoll auf einem PI zu betreiben. Denn in dieser Version bietet der Ethernet Anschluss genug Durchsatzund die CPU ist leistungsfähig genug um eine ordentliche **WireGuard** Performance zu bieten. Dies war bei den Vorgänger Modellen so leider **nicht** der Fall.
  
 <WRAP center round important 60%> <WRAP center round important 60%>
Zeile 34: Zeile 34:
 {{:knb:raspberry:rpi.jpg?405|Bild: Raspberry 4 - Lieferung/Verpackung}} \\ {{:knb:raspberry:rpi.jpg?405|Bild: Raspberry 4 - Lieferung/Verpackung}} \\
 {{:knb:raspberry:19-06-26_14-06-10_2041.jpg?405|Bild: Raspberry 4 - Platine in Verpackung}} {{:knb:raspberry:19-06-26_14-06-10_2041.jpg?405|Bild: Raspberry 4 - Platine in Verpackung}}
 +
 +===== 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://www.ansible.com/|Ansible]]** binnen 20 Minuten automatisiert einen Offloader Menü geführt und scriptiert erstellen lassen. 
 +
 +<html><center>Das entsprechende <b><a href="https://wiki.mailserver.guru/doku.php/centos:ansible:ffmuc-rpb4-ol" class="urlextern" target="_tab" title="https://wiki.mailserver.guru/doku.php/centos:ansible:ffmuc-rpb4-ol" rel="nofollow noopener">HOWTO</a></b> findet man in <b><a href="https://wiki.mailserver.guru" class="urlextern" target="_tab" title="https://wiki.mailserver.guru" rel="nofollow noopener">Djangos WIKI</a></b>.</center></html>
 +</WRAP>
  
 ===== 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, die wir später in den Raspberry 4B stecken kopieren. Wir werfen also am besten einmal einen Blick in das syslog unseres Arbeitsrechners und erkennen so das Device unserer Speicherkarte.+Nun können wir das Image auf die MicroSD-Karte, die wir später in den Raspberry 4B steckenkopieren. Wir werfen also am besten einmal einen Blick in das syslog unseres Arbeitsrechners und erkennen so das Device unserer Speicherkarte.
    # tail -f /var/log/messages    # tail -f /var/log/messages
 bzw. bzw.
Zeile 787: Zeile 794:
    # chmod +x /usr/local/bin/vxlan    # chmod +x /usr/local/bin/vxlan
  
-Damit das vxlan-Meshing automatisch beim Starten unseres Offloaders gestartet wird, legen wir uns auch hier ein antsprechendes systemd-Startscript an.+Damit das vxlan-Meshing automatisch beim Starten unseres Offloaders gestartet wird, legen wir uns auch hier ein entsprechendes systemd-Startscript an.
    # vim /etc/systemd/system/vxlan.service    # vim /etc/systemd/system/vxlan.service
 <file bash /etc/systemd/system/vxlan.service># Django : 2020-12-15 <file bash /etc/systemd/system/vxlan.service># Django : 2020-12-15
Zeile 807: Zeile 814:
 </file> </file>
  
-Wie schon zuvor bei unserem Broker-Informations-systemd-Startscriot informieren wir hier nun systemd über unsere neue systemd-Startupdatei.+Wie schon zuvor bei unserem Broker-Informations-systemd-Startscript informieren wir hier nun systemd über unsere neue systemd-Startupdatei.
    # systemctl daemon-reload    # systemctl daemon-reload
  
Zeile 813: Zeile 820:
    # systemctl start vxlan.service    # systemctl start vxlan.service
  
-Für den automatischen Start beim Hochfahren unseres Offloaders aktivieren wir nun noch das entsprechende script.+Für den automatischen Start beim Hochfahren unseres Offloaders aktivieren wir nun noch das entsprechende Script.
    # systemctl enable vxlan.service     # systemctl enable vxlan.service 
  
Zeile 825: Zeile 832:
  
 ==== Werteermittlung ==== ==== Werteermittlung ====
-Wir ermitteln also am einfachsten die Geo-Koordinaten aus der Feifunk München Karte: https://map.ffmuc.net+Wir ermitteln also am einfachsten die Geo-Koordinaten aus der Freifunk München Karte: https://map.ffmuc.net
  
-{{ :knb:raspberry:ffmuc_map_01.png?900 |Bild: Kartenauschnitt der Freifunk München Karte zur Ermittlung der Geo-Koordinaten}}+{{ :knb:raspberry:ffmuc_map_01.png?900 |Bild: Kartenausschnitt der Freifunk München Karte zur Ermittlung der Geo-Koordinaten}}
  
  
Zeile 876: Zeile 883:
 </WRAP> </WRAP>
  
-Wir tragen demach folgende Daten ein:+Wir tragen demnach folgende Daten ein:
 \\ \\
 <html> <html>
Zeile 967: Zeile 974:
 </pre></html> </pre></html>
  
-Nach kurzer Zeit taucht unser Node auf der Karte auf.+Nach kurzer Zeit taucht unser Node dann auch auf der Karte auf.
 {{ :knb:raspberry:ffmuc_map_02.png?700 |Bild: Freifunk München Karte mit eingetragenem neune Node}} {{ :knb:raspberry:ffmuc_map_02.png?700 |Bild: Freifunk München Karte mit eingetragenem neune Node}}
  
Zeile 990: Zeile 997:
   br-welt          UP             10.80.204.2/21 2001:678:e68:109:dea6:32ff:fe5c:4607/64 fe80::dea6:32ff:fe5c:4607/64   br-welt          UP             10.80.204.2/21 2001:678:e68:109:dea6:32ff:fe5c:4607/64 fe80::dea6:32ff:fe5c:4607/64
  
-Wir sehen somit die Adresen auf unseren Interfaces aus dem gewählten Segment.+Wir sehen somit die Adressen auf unseren Interfaces aus dem gewählten Segment.
  
 Als nächstes prüfen wir, ob die beiden Interfaces **''dummy-welt''** und **''mesh-vpn''** aktiv sind. Als nächstes prüfen wir, ob die beiden Interfaces **''dummy-welt''** und **''mesh-vpn''** aktiv sind.
Zeile 1004: Zeile 1011:
 8a:5d:44:50:c3:f8    0.220s (       10.0) [  mesh-vpn]</code> 8a:5d:44:50:c3:f8    0.220s (       10.0) [  mesh-vpn]</code>
  
-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
 <code>[B.A.T.M.A.N. adv 2020.4, MainIF/MAC: dummy-welt/dc:a6:32:5c:46:07 (bat-welt/dc:a6:32:5c:46:07 BATMAN_V)] <code>[B.A.T.M.A.N. adv 2020.4, MainIF/MAC: dummy-welt/dc:a6:32:5c:46:07 (bat-welt/dc:a6:32:5c:46:07 BATMAN_V)]
Zeile 1132: Zeile 1139:
    # echo 'DAEMON_OPTS="-d"' >> /etc/default/hostapd    # echo 'DAEMON_OPTS="-d"' >> /etc/default/hostapd
  
-==== Konfiguartion ==== +==== Konfiguration ==== 
- Nun legen wir uns eine entsprechende KOnfigurationsdatei an.+ Nun legen wir uns eine entsprechende Konfigurationsdatei an.
    # vim /etc/hostapd/hostapd.conf    # vim /etc/hostapd/hostapd.conf
  
Zeile 1171: Zeile 1178:
 </file> </file>
  
-Anschließend ativieren und starten wir den **''hostapd''**-Daemon.+Anschließend aktivieren und starten wir den **''hostapd''**-Daemon.
    # systemctl unmask hostapd    # systemctl unmask hostapd
    # systemctl enable hostapd    # systemctl enable hostapd
Zeile 1202: Zeile 1209:
 </file> </file>
  
-Am Besten nochmal rebooten um sicher zugehen dass alles passt, danach einfach mit dem ClientWifi verbinden.+Am Besten nochmal rebooten um sicher zugehendass 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 **''/etc/network/interfaces''** diezugehörige Konfiguration. Im folgenden Beispiel nutzen wir die VLAN-ID **''333''** und definieren zunächst einmal das VLAn-Interface und fügen es anschließend in der vorhandenen Bridge hinzu.+Will man LAN Clients versorgen, so erstellt man am einfachsten ein VLAN getaggtes Clientnetz. Dazu erstellt man in der Konfigurationsdatei **''/etc/network/interfaces''** die zugehörige Konfiguration. Im folgenden Beispiel nutzen wir die VLAN-ID **''333''** und definieren zunächst einmal das VLAn-Interface und fügen es anschließend in der vorhandenen Bridge hinzu.
    # vim /etc/network/interfaces    # vim /etc/network/interfaces
 <file bash /etc/network/interfaces> <file bash /etc/network/interfaces>
Zeile 1313: Zeile 1320:
  
 ==== Installation der Software-Bibliotheken ==== ==== Installation der Software-Bibliotheken ====
-Jetzt installieren wir die notwendige Python Library um das Display ansteuern zu können.+Jetzt installieren wir die notwendige Python Bibliotheken  um das Display ansteuern zu können.
    # apt install git fonts-freefont-ttf -y    # apt install git fonts-freefont-ttf -y
    # cd /usr/local/src/    # cd /usr/local/src/
Zeile 1601: Zeile 1608:
 </file> </file>
  
-Anschließend Informieren wir unser System über unser definiertes Daemon-Startscript und aktivieren dies auch gleich noch. +Anschließend informieren wir unser System über unser definiertes Daemon-Startscript und aktivieren dies auch gleich noch. 
    # systemctl daemon-reload    # systemctl daemon-reload
    # systemctl enable oled-bandwidth.service    # systemctl enable oled-bandwidth.service
  
-Zu guter letzte rebooten wir nun unseren Rechner.+Zu guter Letzt rebooten wir nun unseren Rechner.
    # systemctl reboot    # systemctl reboot
  
  • knb/rpb4_wg.txt
  • Zuletzt geändert: 2023/11/04 21:29
  • von django