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 09:29] – [Installation] Djangoknb:rpb4_wg [2020/12/17 20:15] – fix some typos gunter.m
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 60: Zeile 60:
  
 ==== 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 377: Zeile 377:
 ===== WIREGUARD ===== ===== WIREGUARD =====
 ==== Grundlagen / Hintergründe ==== ==== Grundlagen / Hintergründe ====
-Für die Verbindung unseres Offloaders/Nodes zum Freifunk München Netz greifen wir auf den VPN-Tunnel Mechanismus von **[[https://www.wireguard.com/|wireguard]]** zurück. Hintergründe zum Wechsel von **[[https://github.com/NeoRaider/fastd/wiki|FASTD]]** hin zu **[[https://www.wireguard.com/|WireGuard]]** ist in diesem **[[https://ffmuc.net/freifunkmuc/2020/12/03/wireguard-firmware/|BlogPost]]** ausführlich beschrieben. +Für die Verbindung unseres Offloaders/Nodes zum Freifunk München Netz greifen wir auf den VPN-Tunnel Mechanismus von **[[https://www.wireguard.com/|WireGuard]]** zurück. Hintergründe zum Wechsel von **[[https://github.com/NeoRaider/fastd/wiki|FASTD]]** hin zu **[[https://www.wireguard.com/|WireGuard]]** ist in diesem **[[https://ffmuc.net/freifunkmuc/2020/12/03/wireguard-firmware/|BlogPost]]** ausführlich beschrieben. 
  
 <WRAP center round important 80%> <WRAP center round important 80%>
Zeile 386: Zeile 386:
    * **(remote) publickey** : Öffentliche Schlüssel des VPN-Gatway-Endpunktes    * **(remote) publickey** : Öffentliche Schlüssel des VPN-Gatway-Endpunktes
    * **lokale link-local-Adresse** : IPv6 Adresse des VPN-Endpunktes am Offloader    * **lokale link-local-Adresse** : IPv6 Adresse des VPN-Endpunktes am Offloader
-   * **(client) privatekey** : Private :!: Schlüssel für den wireguard-Endpunkt am Offloader  +   * **(client) privatekey** : Private :!: Schlüssel für den WireGuard-Endpunkt am Offloader  
-   * **(client) publickey** : Öffentliche Schlüssel für den wireguard-Endpunkt am Offloader+   * **(client) publickey** : Öffentliche Schlüssel für den WireGuard-Endpunkt am Offloader
  
 Bitte informiert euch vorher in welches Segment ihr wollt, dementsprechend müssen die Daten aus nachstehender Tabelle entnommen bzw. lokal generiert werden! Bitte informiert euch vorher in welches Segment ihr wollt, dementsprechend müssen die Daten aus nachstehender Tabelle entnommen bzw. lokal generiert werden!
Zeile 463: Zeile 463:
 </html> </html>
  
-Wir erzeugen nun als erstes das Schlüsselpaar (private-/public-key) für unseren VPN-Client.+Wir erzeugen nun im ersten Schritt das Schlüsselpaar (private-/public-key) für unseren VPN-Client.
    # wg genkey | tee /etc/wireguard/client_private.key | wg pubkey | tee /etc/wireguard/client_public.key    # wg genkey | tee /etc/wireguard/client_private.key | wg pubkey | tee /etc/wireguard/client_public.key
  
-Im Konfigurationsverzeichnis von wireguard haben wir nun beide Schlüssel. Die Dateiberechtigungen passen wir gleich mal noch an, damit nur der User **root** auf diese zugreifen kann.+Im Konfigurationsverzeichnis von WireGuard finden wir nun beide Schlüssel. Die Dateiberechtigungen passen wir gleich mal noch an, damit nur der User **root** auf diese zugreifen kann.
    # chmod 600 /etc/wireguard/*.key    # chmod 600 /etc/wireguard/*.key
  
-Die link-local IPv6-Adresse unseres lokalen VPN-Entpunktes ermitteln wir mit hilfe folgenden Befehls, nachdem wir den public.key zuvor erfolgreich erstellt hatten.+Die link-local IPv6-Adresse unseres lokalen VPN-Entpunktes ermitteln wir mit Hilfe folgenden Befehls, nachdem wir den public.key zuvor erfolgreich erstellt hatten.
    # cat /etc/wireguard/client_public.key | md5sum | sed 's/^\(..\)\(..\)\(..\)\(..\)\(..\).*$/fe80::02\1:\2ff:fe\3:\4\5/' > /etc/wireguard/link-local    # cat /etc/wireguard/client_public.key | md5sum | sed 's/^\(..\)\(..\)\(..\)\(..\)\(..\).*$/fe80::02\1:\2ff:fe\3:\4\5/' > /etc/wireguard/link-local
  
Zeile 515: Zeile 515:
  
 **WICHTIG**: **WICHTIG**:
-Der  (client) privatekey unseres Clients ist natürlich nicht publik zu machen uns ist nur hier im Rahmen deieses How2s abgedruckt, damit die weitere Konfiguration leichter zu verstehen ist. Im Relalife-Betrieb hüten wir diesen Schlüssel natürlich wie immer obligatorisch!+Der private Schlüssel unseres Clients (privatekey) ist natürlich nicht publik zu machen und ist nur hier im Rahmen dieses How2s abgedruckt, damit die weitere Konfiguration leichter zu verstehen ist. Im Relalife-Betrieb hüten wir diesen Schlüssel natürlich wie immer "wie unseren Augapfel"!
 </WRAP> </WRAP>
  
- +Damit nun das Gateway auch VPN-Verbindungen unseres WireGuard-clients akzeptieren kann benötigt dieses natürlich unseren **public-key**, den wir nun an das Gateway schicken müssen:
-Damit nun das Gateway auch VPN-Verbindungen unseres wireguard-clients akzeptieren kann benötigt dieses natürlich unseren **public-key**, den wir nun an das Gateway schicken müssen:+
    # wget -q -O- --post-data='{"domain": "ffmuc_welt","public_key": "HjDRCwE4Q7UPAKXrmM4s6VOgMK+HJZCixWTaVC8KiRU="}' http://broker.ffmuc.net/api/v1/wg/key/exchange    # wget -q -O- --post-data='{"domain": "ffmuc_welt","public_key": "HjDRCwE4Q7UPAKXrmM4s6VOgMK+HJZCixWTaVC8KiRU="}' http://broker.ffmuc.net/api/v1/wg/key/exchange
  
   {"Message":"OK"}   {"Message":"OK"}
  
-Die Bestätigung **''"Message":"OK"''** zeigt uns dass der Broker auf der Zielseite, also auf den Gatewasy unseren Pblic-key akzeptiert hat und diesen beim nachfolgenden Tunnelaufbau auch akzeptieren wird!+Die Bestätigung **''"Message":"OK"''** zeigt unsdass der Broker auf der Zielseite, also auf den Gatewasy unseren Pblic-key akzeptiert hat und diesen beim nachfolgenden Tunnelaufbau auch verwenden wird!
  
-Damit nun der Broker vor dem Starten unseres Tunnels auch immer unseren öffentlichen Schlüssel hat, stellen wir nun noch sicher, dass dieser automatisiert vor dem Starten des WireGurad-Daemon einmal zum Broker|Gateway übertragen wird. HIerzu legen wir uns ein systemd-Startscript an.+Damit nun der Broker vor dem Starten unseres Tunnels auch immer unseren öffentlichen Schlüssel hat, stellen wir nun noch sicher, dass dieser automatisiert vor dem Starten des WireGuard-Daemon einmal zum Broker|Gateway übertragen wird. Hierzu legen wir uns ein systemd-Startscript an.
    # vim /etc/systemd/system/broker.service    # vim /etc/systemd/system/broker.service
  
Zeile 557: Zeile 556:
   Created symlink /etc/systemd/system/default.target.wants/broker.service → /etc/systemd/system/broker.service.   Created symlink /etc/systemd/system/default.target.wants/broker.service → /etc/systemd/system/broker.service.
  
-Was unser Client noch benötigt ist eine rudimentäre Konfigurationsdatei für unseren wireguard-client, die wir nun als nächstes anlegen müssen.+Was unser Client noch benötigt ist eine rudimentäre Konfigurationsdatei für unseren WireGuard-client, die wir nun als nächstes anlegen müssen.
    # vim /etc/wireguard/wg-welt.conf    # vim /etc/wireguard/wg-welt.conf
 <file bash /etc/wireguard/wg-welt.conf># Django : 2020-12-15 <file bash /etc/wireguard/wg-welt.conf># Django : 2020-12-15
Zeile 580: Zeile 579:
 </code> </code>
  
-Den Status unseres wireguard-clients können wir mit Hilfe der Option **show** beim Aufruf von **''wg''** bzw. nur dur Aufruf von **''wg''** ermitteln+Den Status unseres WireGuard-clients können wir mit Hilfe der Option **show** beim Aufruf von **''wg''** bzw. nur dur Aufruf von **''wg''** ermitteln
    # wg show    # wg show
 oder einfach nur oder einfach nur
Zeile 600: Zeile 599:
  
 Da sowohl bei **''transfer''** wie auch bei **''received''** die Werte steigen sobald wie den Status erneut abfragen, können wir im ersten Schritt davon ausgehen, dass der WireGuard-Tunnel steht und auch benutzt werden kann. Da sowohl bei **''transfer''** wie auch bei **''received''** die Werte steigen sobald wie den Status erneut abfragen, können wir im ersten Schritt davon ausgehen, dass der WireGuard-Tunnel steht und auch benutzt werden kann.
-Wir sollten auch nun den Tunnelenpunkt am Gateway anpingen können. in unserem Konfiguratiosnbeispiel wäre dies demnach die Ziel-IP-Adresse **''fe80::27c:16ff:fec0:6c74''** auf dem Netzwerk-Device **''wg-welt''**.+Wir sollten auch nun den Tunnelenpunkt am Gateway anpingen können. In unserem Konfiguratiosnbeispiel wäre dies demnach die Ziel-IP-Adresse **''fe80::27c:16ff:fec0:6c74''** auf dem Netzwerk-Device **''wg-welt''**.
    # ping6 -c4 fe80::27c:16ff:fec0:6c74%wg-welt    # ping6 -c4 fe80::27c:16ff:fec0:6c74%wg-welt
 <code>PING fe80::27c:16ff:fec0:6c74%wg-welt(fe80::27c:16ff:fec0:6c74%wg-welt) 56 data bytes <code>PING fe80::27c:16ff:fec0:6c74%wg-welt(fe80::27c:16ff:fec0:6c74%wg-welt) 56 data bytes
Zeile 620: Zeile 619:
    # systemctl start wg-quick@wg-welt    # systemctl start wg-quick@wg-welt
  
-Der stop des wireguard-deamon erfolgt entsprechend mit:+Der Stop des WireGuard-Deamon erfolgt entsprechend mit:
    # systemctl stop wg-quick@wg-welt    # systemctl stop wg-quick@wg-welt
  
-Den Status des wireguard-Client-daemon fragen wir mit der Option **status** ab.+Den Status des WireGuard-Client-daemon fragen wir mit der Option **status** ab.
    # systemctl status wg-quick@wg-welt    # systemctl status wg-quick@wg-welt
  
Zeile 652: Zeile 651:
   Created symlink /etc/systemd/system/multi-user.target.wants/[email protected] → /lib/systemd/system/[email protected].   Created symlink /etc/systemd/system/multi-user.target.wants/[email protected] → /lib/systemd/system/[email protected].
  
-/* + 
-<code>root@rpb4-ansible-v4-wireguard:/home/pi# history  +==== WireGuard-Healthcheck ====
-    1  ip a +
-    2  cat /etc/network/interfaces +
-    3  /usr/sbin/batctl ra BATMAN_V +
-    4  /sbin/ip link add dummy-welt type dummy +
-    5  /sbin/ip link set address $(ip -br l | grep eth0 | egrep -o '([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})' | head -1) dev dummy-welt +
-    6  /sbin/ip link set dummy-welt up +
-    7  /usr/sbin/batctl -m bat-welt if add dummy-welt +
-    8  ip a +
-    9  man batctl +
-   10  /usr/sbin/batctl meshif bat-welt if add dummy-welt +
-   11  vim /etc/network/interfaces +
-   12  ip link del dummy-welt +
-   13  ip link del bat-welt +
-   14  ip a +
-   15  systemctl reboot +
-   16  ip a +
-   17  cat /etc/network/interfaces +
-   18  ip addr +
-   19  vatctl -v +
-   20  batctl -v +
-   21  echo /etc/network/interfaces +
-   22  vim /usr/local/bin/genkeys +
-   23  whereis chmod +
-   24  vim /usr/local/bin/genkeys +
-   25  apt install wireguard --assume-yes +
-   26  wg genkey | tee /etc/wireguard/client_private.key | wg pubkey | tee /etc/wireguard/client_public.key +
-   27  chmod 600 /etc/wireguard/*.key +
-   28  ll /etc/wireguard/ +
-   29  ls -alF /etc/wireguard/ +
-   30  cat /etc/wireguard/client_private.key +
-   31  cat /etc/wireguard/client_public.key  +
-   32  vim /usr/local/bin/genlinklocal +
-   33  cat  /usr/local/bin/genlinklocal +
-   34  chmod +x /usr/local/bin/genlinklocal +
-   35  genlinklocal  +
-   36  vim /usr/local/bin/genlinklocal +
-   37  genlinklocal  +
-   38  vim /usr/local/bin/genlinklocal +
-   39  genlinklocal  +
-   40  # cat /etc/wireguard/client_public.key | md5sum | sed 's/^\(..\)\(..\)\(..\)\(..\)\(..\).*$/fe80::00\1:\2ff:fe\3:\4\5/' +
-   41  cat /etc/wireguard/client_public.key | md5sum | sed 's/^\(..\)\(..\)\(..\)\(..\)\(..\).*$/fe80::00\1:\2ff:fe\3:\4\5/' +
-   42  cat /etc/wireguard/client_public.key | md5sum | sed 's/^\(..\)\(..\)\(..\)\(..\)\(..\).*$/fe80::02\1:\2ff:fe\3:\4\5/' +
-   43  genlinklocal  +
-   44  cat /etc/wireguard/client_public.key | md5sum | sed 's/^\(..\)\(..\)\(..\)\(..\)\(..\).*$/fe80::02\1:\2ff:fe\3:\4\5/' +
-   45  cat /usr/local/bin/genlinklocal +
-   46  cat /etc/wireguard/client_public.key | md5sum | sed 's/^\(..\)\(..\)\(..\)\(..\)\(..\).*$/fe80::02\1:\2ff:fe\3:\4\5/' > /etc/wireguard/link-local +
-   47  cat /etc/wireguard/link-local +
-   48  vim /usr/local/bin/wg-setup +
-   49  chmod +x /usr/local/bin/wg-setup +
-   50  wg-setup  +
-   51  ip a +
-   52  ip link del wg-welt +
-   53  vim /usr/local/bin/wg-setup +
-   54  wg-setup  +
-   55  ip a +
-   56  vim /usr/local/bin/wg-setup +
-   57  ip a +
-   58  ip link del wg-welt +
-   59  ip a +
-   60  wg-setup  +
-   61  ip a +
-   62  wg show +
-   63  wg show +
-   64  wg +
-   65  wg +
-   66  wg +
-   67  cat /etc/wireguard/client_public.key  +
-   68  wg +
-   69  ip a +
-   70  wg-setup  +
-   71  vim /usr/local/bin/wg-setup +
-   72  vim /usr/local/bin/wg-setup +
-   73  wg-setup  +
-   74  ip a +
-   75  wg +
-   76  wg +
-   77  wg +
-   78  ip a +
-   79  batctl meshif bat-welt gw +
-   80  batctl meshif bat-welt if +
-   81  cat /sys/devices/virtual/net/mesh-vpn/batman_adv/throughput_override +
-   82  ip a +
-   83  batctl meshif bat-welt if +
-   84  batctl meshif bat-welt gwl +
-   85   ping6 -c4 fe80::27c:16ff:fec0:6c74%wg-welt +
-   86  wg show +
-   87  wg show +
-   88  wg show +
-   89  ip a +
-   90  batctl meshif bat-welt if +
-   91  batctl meshif bat-welt if add mesh-vpn +
-   92  batctl meshif bat-welt if +
-   93  batctl meshif bat-welt gwl +
-   94  ip a +
-   95  ip a +
-   96  ip a +
-   97  ip a +
-   98  ls /sys/devices/virtual/net/mesh-vpn/batman_adv/throughput_override +
-   99  ls /sys/devices/virtual/net/mesh-vpn/upper_bat-welt/ +
-  100  batctl meshif bat-welt throughput_override 10000 +
-  101  batctl hardif bat-welt throughput_override 10000 +
-  102  ip a +
-  103  batctl hardif bat-welt throughput_override 10000 +
-  104  3:41 PM +
-  105  batctl hardif mesh-vpn throughput_override 10000 +
-  106  whereis batctl +
-  107  vim /usr/local/bin/wg-setup  +
-  108  🦥 🏴‍☠️ +
-  109  🏴‍☠️ +
-  110  🔓 +
-  111  apt install git python3-netifaces +
-  112  git clone https://github.com/freifunkMUC/ext-respondd /opt/ext-respondd/ +
-  113  cp /opt/ext-respondd/ext-respondd.service.example /etc/systemd/system/ext-respondd.service +
-  114  systemctl daemon-reload +
-  115  systemctl enable ext-respondd +
-  116  vim /opt/ext-respondd/alias.json +
-  117  vi /opt/ext-respondd/config.json +
-  118  vi /opt/ext-respondd/config.json +
-  119  systemctl start ext-respondd +
-  120  systemctl status ext-respondd +
-  121  apt install hostapd +
-  122  echo 'DAEMON_OPTS="-d"' >> /etc/default/hostapd  +
-  123  vi /etc/hostapd/hostapd.conf +
-  124  systemctl unmask hostapd +
-  125  systemctl enable hostapd +
-  126  systemctl start hostapd +
-  127  systemctl status hostapd +
-  128  vim /etc/rc.local +
-  129   /sbin/brctl addif br-welt wlan0 +
-  130  ip a +
-  131  vim /opt/ext-respondd/alias.json +
-  132  systemctl restart ext-respondd +
-  133  history  +
-</code> +
-*/ +
-==== wiregurad-Healthcheck ====+
 Im Betrieb kann es ab und an passieren, dass der WireGuard-Tunnel zusammenbricht, weil z.B. die Netzwerkverbindung abgerissen sit, oder ein Rebot der Gateways notwendig war. Damit in einem solchen Fall unser Offloader nicht **__offload__** geht, müssen wir die Verfügbar- und Nutzzbarkeit deer Tunnelverbindung in regelmäßigen Abständen prüfen und ggf. einschreiten und die Verbindung neu aufbauen. Im Betrieb kann es ab und an passieren, dass der WireGuard-Tunnel zusammenbricht, weil z.B. die Netzwerkverbindung abgerissen sit, oder ein Rebot der Gateways notwendig war. Damit in einem solchen Fall unser Offloader nicht **__offload__** geht, müssen wir die Verfügbar- und Nutzzbarkeit deer Tunnelverbindung in regelmäßigen Abständen prüfen und ggf. einschreiten und die Verbindung neu aufbauen.
  
Zeile 867: Zeile 730:
 <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 werden, die wir ggf. später zum Meshen hinter unserem Offloadedr anbieten möchten.+Die hierzu nötige **vxlan id** darf nicht mit der VX-LAN-ID verwechselt werden, die wir ggf. später zum Meshen hinter unserem Offloader anbieten möchten.
 </WRAP> </WRAP>
  
Zeile 924: Zeile 787:
    # 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 944: Zeile 807:
 </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 950: Zeile 813:
    # 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 962: Zeile 825:
  
 ==== 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 1013: Zeile 876:
 </WRAP> </WRAP>
  
-Wir tragen demach folgende Daten ein:+Wir tragen demnach folgende Daten ein:
 \\ \\
 <html> <html>
Zeile 1104: Zeile 967:
 </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 1127: Zeile 990:
   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 1141: Zeile 1004:
 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 1269: Zeile 1132:
    # 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 1308: Zeile 1171:
 </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 1339: Zeile 1202:
 </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 1450: Zeile 1313:
  
 ==== 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 1738: Zeile 1601:
 </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