[Troisdorf] Statische DHCP Adressen

Hallo @phip und @DSchmidtberg,

wäre es möglich dem DHCP auf den Supernodes eine static.conf unterzujubeln? Am Liebsten würde ich diese für uns im Git führen, die dann per Script abgerufen wird.

Ich würde das dann alles vorbereiten und euch bescheid geben. Wenn das für euch ok ist.

Hintergrund:

Wir haben einige „Server“ als Clients an Routern hängen die eine Statische IP brauchen. Momentan sind diese einfach Statisch Configuriert. Das macht aber Probleme wenn mal der Supernode wegknickt den sie eingetragen haben.

So was hatte ich schon lange für Wuppertal vor, aber noch nicht mit @phip besprochen. Von mir aus ist es ok.

Ich werde das einfach mal vorbereiten und das git hier Posten.

Ich hab mal ne static.conf ins Git Gepackt:

nen Pull Script bekommt ihr selber hin?

1 „Gefällt mir“

Ne kurze technische Frage an der Stelle: Ich sehe du hast 3 verschiedene Einträge mit der gleichen MAC Adresse. Startet der DHCPD damit überhaupt? Wie verhält sich das dann beim DHCP Request? Antwortet der Daemon dann mit einer zufälligen Adresse und Hostname?

Kleiner Tipp aus eigener Erfahrung: Wenn ihr hier mit nem automatischen Pull-Script arbeiten wollt dann empfiehlt es sich das Neustarten des Dienstes zu überwachen und bei einem Fehler beim Starten des Dienstes einen automatischen, einmaligen Rollback der Config zu probieren und dann neuzustarten. Schlägt auch dieser Start fehl am besten ne Mail an die Admins raushauen. Sonst steht man irgendwann ohne DHCP da und wundert sich erstmal.

2 „Gefällt mir“

Die Mac Adressen ändere ich gleich.
Ich hatte die richtigen nur gerade nicht zur Hand.

Was die Sicherheit bei updates angeht: Ja hast du recht.

Ich denke mir da mal was aus

Ja. Dies ist eine gute Idee und sie wird umgesetzt werden, nicht nur für Troisdorf, sondern für ganz Wupper. Die DHCPd-Steuerungsdatei ist recht komplex in Wupper. Ich muss sie eh noch überarbeiten und simplifizieren.

Felix hat das schon angesprochen: ich kann keine vorgefertigten Konfigurationsdateien einfach so übernehmen. Sie werden im Server selbst nach Plausibilitätsprüfungen generiert. Ich werde mitteilen, wie die statischen Adressen übermittelt werden. Irgendsowas wie

00:00:0e:d2:da:be    10.188.1.22    update1.inra.fftdf

in einer tro.list ist meine erste Idee diesbezüglich. Ich weiß nicht, ob DHCP mehrere IPs gleichzeitig vergeben kann.

Für das Projekt setze ich eine Deadline für ende August. Bis dahin empfehle ich die lokale Überprüfung des StandardGWs und beim Fehler einen automatischen Wechsel auf einen Funktionierenden.

Mehrere Adressen gleichzeitig muss nicht sein.

Der @chrisno arbeitet gerade an einer ersten Version eines FFRL Self-Service-Portals, über das man sich dann u.A. IP Adressen und Subdomains klicken kann. Wenn ihr das dafür auch benutzen wollt sieht er bestimmt auch noch MAC-Adressen vor und stellt dann Listen für den Import in dhcp Server zur Verfügung…

1 „Gefällt mir“

hört sich gut an!
Gibt’s schon ne Vorstellung, wann das Tool soweit nutzbar sein könnte?

Ich denke das wird nicht lange dauern, registrieren und anmelden geht bereits, das Gerüst samt User Management ist entsprechend schon fertig.

1 „Gefällt mir“

Ich weiß ja nicht wie das momentan aussieht, aber ich denke mal für da DHCP mit reinzupacken bräuchten wir ja folgendes:

MAC Adresse, Gewünschte IP (Vielleicht eingegrenzt auf einen Bereich), Einen Verwendungszweck und die Community für die das ganze gedacht ist.

Oder?

Aktuell ist es so dass die Community die man auswählt, den zur Verfügung stehenden IP-Kreis definiert.

Was noch fehlt ist die MAC Adresse, in sofern man dhcp verwenden möchte.

In jeder Zeile kann man passend zu den IP-Adressen sich eine Subdomäne wählen.

Weitere Subdomänen kann man wählen indem man seine eigenen bereits registrierten IP Adressen, zusätzlich zur Neuzuteilung, dort ebenfalls zur Auswahl hat.

Das ganze ist ein Ajax Frontend was in Realtime die Daten immer gegenprüft.

1 „Gefällt mir“

Wie ist die Datenübertragung geplant?

Fallen da listen raus? Wo werden die Rausfallen? (http, git, etc)

Moin,

die Datenübertragung läuft per API direkt mit dem pdns, was die Domain/IP Geschichte angeht. Wenn wir auch noch was für DHCP bauen wollen muss ich mir dahingehend noch was überlegen.

Gruß

Chrisno

Das da wäre anscheinend das Format das Troisdorf für den dhcpd bräuchte:

https://github.com/Freifunk-Troisdorf/static-dhcp/blob/master/static.conf

Nicht ganz … @phip braucht da irgendwas anderes … Aber ich würde sagen eine json mit hostname, ip, mac würde schon vollkommen ausreichen. Da kann sich dann jeder das Format draus generieren das er möchte.

Edit: Ungefähr so:

    {
     "hosts": {
         "id": "xxxxxxxxxxx": {
               "mac": "xx:xx:xx:xx:xx",
               "hostname": "test-x",
               "ip": "10.188.5.80"
               },
         "id": "yyyyyyyyy": {
               "mac": "yy:yy:yy:yy:yy",
               "hostname": "test-y",
               "ip": "10.188.5.81"
               },
         "id": "zzzzzzzzzz": {
               "mac": "zz:zz:zz:zz:zz",
               "hostname": "test-z",
               "ip": "10.188.5.82"
               }
        }
}

sollte wohl machbar sein

über den ausgabeort/format müssen wir dann halt nochmal quatschen, ob einfach ins htdocs oder ins git oder whatever … ihr könnt ja auch eine api bauen, die ich bediene. Dann könnt ihr es live reinschreiben.

Also für mich wäre die .json lösung in nem httpdocs die einfachste. Ich weiß nicht wie @phip das sieht.

Das bräuchte dann auf der gegenseite nur ein kleines Script welches die .json holt und in das jeweilige Format schreibt. (Gerade weil nicht überall das gleiche Format gebraucht wird.)

1 „Gefällt mir“