Mqtt/autol3VERALTET: Unterschied zwischen den Versionen

Aus Freifunk Franken
Wechseln zu:Navigation, Suche
(Die Seite wurde neu angelegt: „Hier möchte ich mal kurz beschreiben was ich mir grob unter autol3 vorstelle: = Ziele = * Die komplette Konfiguration soll im WebUI ermöglicht werden, kein…“)
 
Keine Bearbeitungszusammenfassung
Zeile 10: Zeile 10:
** Prinzipiell ist die Idee jede Kombination schon von grundauf zu ermöglichen so das kein geschlossenes System, wie es bei der aktuellen Node Firmware ist, entsteht und jeder manuell dort eingreifen kann wo er es für nötig hält aber Sachen automatisch konfigurieren lassen kann die selbst (noch) nicht verstanden werden.
** Prinzipiell ist die Idee jede Kombination schon von grundauf zu ermöglichen so das kein geschlossenes System, wie es bei der aktuellen Node Firmware ist, entsteht und jeder manuell dort eingreifen kann wo er es für nötig hält aber Sachen automatisch konfigurieren lassen kann die selbst (noch) nicht verstanden werden.
* Standardmässig soll immer eine manuelle Konfiguration vorgegeben sein, das autol3 muss explizit aktiviert werden.
* Standardmässig soll immer eine manuelle Konfiguration vorgegeben sein, das autol3 muss explizit aktiviert werden.
= Automatische IPv6 Konfiguration =
Wird der Haken gesetzt wird das package fff-autoconfig-v6 aktiv. Per Cronjob wird der Router per mqtt eine Nachricht versenden an /ipv6/asknew und als Inhalt seine MAC Adresse.
Nun können viele Leute antworten mit "ich hab hier eine IP Adresse nutzt diese" dies geschieht auf dem Topic IPv6/usethis/$MAC/$ASSIGNER mit einer kleinen json als Inhalt:
<code>
{
"assigner": "$ASSIGNER",
"ip": "ipv6 Adresse mit Subnetzangaben z.b. 2001:db8::/64"
}
</code>
was der Router nach seinem asknew abhört. In der aktuellen Version wird einfach die erste Antwort verwendet und die IP Adresse konfiguriert und sich in der /etc/config/fff gemerkt woher die Adresse stammt und welche verwendet wird.
Alle 5 Minuten fragt der Router nun nach, ob er die Adresse noch verwenden darf. Dazu prüft er erst ob er eine Adresse hat und wenn das der Fall ist sendet er an das Topic /ipv6/canusethis/$ASSIGNER eine JSON mit folgenden Inhalt:
<code>
{
"mac":"$MAC",
"ip":"$IP"
}
</code>
er erwartet innerhalb von 5 Sekunden eine Antwort auf dem Topic /ipv6/canusethisanswer/$MAC (aktuell wird als Inhalt ein ack versendet, prinzipiell wird aber nur geprüft ob eine Antwort kommt). Sollte keine Antwort kommen, wird die aktuelle IPv6 Konfiguration komplett verworfen und wieder mit asknew von vorne angefangen.

Version vom 28. Dezember 2020, 12:43 Uhr

Hier möchte ich mal kurz beschreiben was ich mir grob unter autol3 vorstelle:

Ziele

  • Die komplette Konfiguration soll im WebUI ermöglicht werden, kein SSH mehr nötig
  • Der Router soll auf Wunsch vollkommen automatisch konfiguriert werden und als Layer 3 Router funktionieren
  • Es soll jederzeit manuell eingegriffen werden können und auch nur Teile manuell konfiguriert werden können z.b.:
    • VLAN Settings default laden aber IPv4 und IPv6 manuell konfigurieren
    • IPv4 und IPv6 automatisch konfigurieren aber VLAN Settings manuell anpassen
    • VLAN und IPv4/IPv6 automatisch konfigurieren aber einen manuellen wireguard Tunnel anlegen
    • Prinzipiell ist die Idee jede Kombination schon von grundauf zu ermöglichen so das kein geschlossenes System, wie es bei der aktuellen Node Firmware ist, entsteht und jeder manuell dort eingreifen kann wo er es für nötig hält aber Sachen automatisch konfigurieren lassen kann die selbst (noch) nicht verstanden werden.
  • Standardmässig soll immer eine manuelle Konfiguration vorgegeben sein, das autol3 muss explizit aktiviert werden.

Automatische IPv6 Konfiguration

Wird der Haken gesetzt wird das package fff-autoconfig-v6 aktiv. Per Cronjob wird der Router per mqtt eine Nachricht versenden an /ipv6/asknew und als Inhalt seine MAC Adresse. Nun können viele Leute antworten mit "ich hab hier eine IP Adresse nutzt diese" dies geschieht auf dem Topic IPv6/usethis/$MAC/$ASSIGNER mit einer kleinen json als Inhalt:

{ "assigner": "$ASSIGNER", "ip": "ipv6 Adresse mit Subnetzangaben z.b. 2001:db8::/64" }

was der Router nach seinem asknew abhört. In der aktuellen Version wird einfach die erste Antwort verwendet und die IP Adresse konfiguriert und sich in der /etc/config/fff gemerkt woher die Adresse stammt und welche verwendet wird.

Alle 5 Minuten fragt der Router nun nach, ob er die Adresse noch verwenden darf. Dazu prüft er erst ob er eine Adresse hat und wenn das der Fall ist sendet er an das Topic /ipv6/canusethis/$ASSIGNER eine JSON mit folgenden Inhalt:

{ "mac":"$MAC", "ip":"$IP" }

er erwartet innerhalb von 5 Sekunden eine Antwort auf dem Topic /ipv6/canusethisanswer/$MAC (aktuell wird als Inhalt ein ack versendet, prinzipiell wird aber nur geprüft ob eine Antwort kommt). Sollte keine Antwort kommen, wird die aktuelle IPv6 Konfiguration komplett verworfen und wieder mit asknew von vorne angefangen.