todo.page 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. ---
  2. format: markdown
  3. categories: Netz-Infrastruktur, Backbone, Supernodes
  4. title: To-Do
  5. ...
  6. # Zukünftige Entwicklung / TODOs
  7. ## Kurzfristig
  8. ### Bereitzustellende Dienste
  9. NTP: Es können auch externe NTP-Server im DHCP angegeben werden, aber selbst auf den Supernodes NTPDs zu betreiben dürfte am günstigsten sein.
  10. **done**
  11. ### Härtung
  12. Es sind überflüssige/ungenutzte Pakete und Komponenten auf den Supernodes installiert. Diese sollten überprüft und entfernt werden.
  13. U.a. habe ich bei kurzer Durchsicht gefunden:
  14. * Exim, auf Loopback gebunden
  15. * Nginx, ohne Funktion
  16. * RPCBIND etc. sind aktiv, obwohl kein NFS genutzt wird.
  17. ### Mittelfristig & Langfristig
  18. > Wir können komplette Supernode-Cluster z.B. über GRE-Tunnel und BGP an unsere produktiven Supernodes anbinden und ihnen somit Zugang zum Freifunk-Netz geben. Damit können wir z.B. Neuentwicklungen als Sandbox aufsetzen und sie technisch wie eine Domäne als "Subdomäne" betreiben. Es muss also nicht in der Produktivumgebung experimentiert werden. Auch können einzelne Supernodes, die am batman-adv teilehmen aber keinen eigenen Uplink ins Backbone haben problemlos angeschlossen werden. Diese dürfen aber in batman-adv nicht als Gateway konfiguriert werden.
  19. > *Anmerkung:* Hier habe ich (Markus) meine subjektive Meinung notiert, bitte beliebig ergänzen / wiedersprechen / diskutieren, es ist sicher nicht vollständig...
  20. ### Neuaufbau / Formalisierung
  21. Ein Neuaufbau auf Debian 8 und mit Ansible formalisiert ist geplant.
  22. ### Überprüfung / Tausch von genutzten Komponenten
  23. > Bitte immer auf das Prinzip Datensparsamkeit achten. `dnsmasq` ist z.B. so konfiguriert, dass es von DHCP-Clients mitgesendete Client-Namen nicht loggt.
  24. * DNS und DHCP für die Supernodes werden über `dnsmasq` bereitgestellt.
  25. * Nutzung von [Unbound](https://www.unbound.net/), [PowerDNS](https://www.powerdns.com/) o.ä. als Cachender DNS-Resolver
  26. * DHCP durch ISC-DHCPD? Weiterhin dnsmasq?
  27. * **done** es wird Unbound benutzt.
  28. * Einige Dienste und Netzwerk-Konfiguratonsschritte werden durch Scripte von Fastd getriggert gestartet. Dies ist weitgehend nicht mehr notwendig
  29. * Überführung der Netzwerkkonfiguration (sofern möglich) zu `systemd-networkd`
  30. * Abbildung der gesamten Abhängigkeitsstruktur zwischen Diensten, Interfaces und dynamisch getriggerten Konfigurationsschritten durch Systemd-Units anstatt an verschiedenen Stellen z.B. durch Fastd getriggerte Scripte.
  31. * Bereinigung von `/etc/sysctl.conf`, Freifunk-spezifische Settings nach `/etc/sysctl.d/`
  32. * Einige Sysctl-Settings werden durch Scripte gesetzt, diese ebenfalls beachten.
  33. # Research-Themen
  34. ## Skalierung von Fastd
  35. Fastd kann nur auf einer CPU rechnen. Dies ist der limitierende Faktor bei der Skalierung von Supernodes. Momentan wird skaliert, indem mehr (virtuelle) Supernodes auf der selben Hardware betrieben werden. Es könnte aber auch versucht werden, mehrere Fastd-Prozesse (Anzahl der Kerne) auf unterschiedlichen Ports eingesetzt werden und in die Clients konfiguriert werden um vorhandene Ressourcen besser zu nutzen.
  36. **done** Auf Port 10000 und 10001 läuft jeweils eine Fastd-Instanz für die Clients
  37. ## Technologie für Transfernetz zwischen den Supernodes
  38. Alle Supernodes der Community untereinander benötigen ein geteiltes L2-Netz. Um dieses über die Server-Standorte zu realisieren wird momentan die Fastd-Instanz `backbone` ohne Verschlüsselung genutzt, die ein M:N-Netz zwischen unseren Supernodes darstellt.
  39. Ggf. kann man hier zukünftig auf `vxlan` setzen. Dabei wird kein statischer Peer oder Mulitcast-Gruppe angegeben, sondern die Peers explizit mit [`bridge fdb add`](http://man7.org/linux/man-pages/man8/bridge.8.html) in die Forwarding-DB des virtuellen Switches eingetragen. Es muss die IP-Adresse sowie MAC-Adresse jedes Peers bekannt sein.
  40. # Umbenennung der Nodes
  41. Momentan haben die Supernodes DNS-Einträge unter `do.node.freifunk.ruhr`.
  42. Das dort vergebene Hostnamen-Schema ist historisch so gewachsen, hat aber keine technische Relevanz mehr.
  43. Wir können auch nach Belieben ein anderes Schema einführen.
  44. > *Vorschlag:* Um das Schema zu vereinfachen die Nodes flach durchnummerieren und unter `ffdo.de` ansiedeln. Beispiel für mögliche Benennung: `sn1.nodes.ffdo.de`, `sn2.nodes.ffdo.de` etc.
  45. alter Name neuer Name
  46. -------------------------- -------------
  47. node01-1.do.freifunk.ruhr *t.b.d.*
  48. node02-1.do.freifunk.ruhr *t.b.d.*
  49. node01-2.do.freifunk.ruhr *t.b.d.*
  50. node02-1.do.freifunk.ruhr *t.b.d.*
  51. map.do.freifunk.ruhr map.ffdo.de