SpaceInterface
Anmeldungsdatum: 16. Oktober 2016
Beiträge: Zähle...
|
Hallo,
ich habe zwar schon von diverser Software gehört, die man als DHCP-Server benutzen kann. Aber leider fürchte ich, dass diese nicht meinen Anforderungen entsprechen, zumal ich den Code und die Aktionen gerne nachvollziehen möchte und vorgefertigte Software in der Regel keine Lösung für Mich ist.
Den DHCP-Server möchte ich gerne selber schreiben und nachvollziehen, sowie an eigene Bedürfnisse anpassen:
Der Client loggt sich ins (W)LAN ein und erhält die Adresse 192.168.1.* (Verbindung nach 3 Minuten trennen). Jeglicher Traffic wird blockiert und man wird auf eine Authentifizierungsseite weitergeleitet. Ist der Client authentifiziert, bekommt er die IP-Adresse 192.168.3.* (IP-Adresse nach 12 Stunden automatisch regenerieren), hier wird der Traffic auf's einzelne überprüft und geguckt, ob der User auch den entsprechenden Inhalt aufrufen darf.
Die IP-Adresse soll dabei immer zufällig erstellt werden. Statische Adressen (vom Client angefragte) sollen je nach Account akzeptiert oder auch abgelehnt werden. Wie realisiere ich das ganze ohne Zusatzsoftware und welche Programmiersprache benötige ich dafür? Danke! ☺ Moderiert von sebix: Dieses Thema ist verschoben worden. Bitte beachte die als wichtig markierten Themen („Welche Themen gehören hier her und welche nicht?“)!
|
misterunknown
Ehemalige
Anmeldungsdatum: 28. Oktober 2009
Beiträge: 4403
Wohnort: Sachsen
|
SpaceInterface schrieb: Wie realisiere ich das ganze ohne Zusatzsoftware und welche Programmiersprache benötige ich dafür?
Als erstes liest du dir am besten die Spezifikation von DHCP durch, damit du genau weißt, was du zu implementieren hast. Anschließend schreibst du dir den DHCP-Server in einer Sprache deiner Wahl. Wenn er fertig implementiert ist, richtest du deine Firewall so ein, dass ein Client deine Sicherheitsmaßnahmen nicht so leicht umgehen kann.
|
SpaceInterface
(Themenstarter)
Anmeldungsdatum: 16. Oktober 2016
Beiträge: 8
|
misterunknown schrieb: Als erstes liest du dir am besten die Spezifikation von DHCP durch
Okay, danke, ich werd demnächst Mal reinschauen ☺ misterunknown schrieb: Anschließend schreibst du dir den DHCP-Server in einer Sprache deiner Wahl.
Würde theoretisch auch PHP gehen?
|
seahawk1986
Anmeldungsdatum: 27. Oktober 2006
Beiträge: 11179
Wohnort: München
|
|
SpaceInterface
(Themenstarter)
Anmeldungsdatum: 16. Oktober 2016
Beiträge: 8
|
Okay, ich suche aber auch noch so eine Art Tutorial mit Erklärung, nur leider finde ich bei Google dann immer nur ein Tutorial zur Installation von entsprechender Software, beispielsweise dnsmasq, dhcp3-server oder isc-dhcp-server. Mit Open-Source Programmen wäre ich auch nicht ganz zufrieden, da ich mit einem Tutorial ja auch den Code verstehen kann, weil er erklärt wird.
|
sebix
Moderator, Webteam
Anmeldungsdatum: 14. April 2009
Beiträge: 5336
|
SpaceInterface schrieb: Okay, ich suche aber auch noch so eine Art Tutorial mit Erklärung,
Ein Tutorial, wie man einen DHCP-Server schreibt? Das ist schon sehr ausgefallen... Oben hast du geschrieben, dass du den Server gerne selbst schreiben moechtest, weil du dann am meisten lernst. Also doch nicht?
|
SpaceInterface
(Themenstarter)
Anmeldungsdatum: 16. Oktober 2016
Beiträge: 8
|
sebix schrieb: Oben hast du geschrieben, dass du den Server gerne selbst schreiben moechtest, weil du dann am meisten lernst. Also doch nicht?
Der Hauptgrund ist ja, ich möchte verstehen, was wie warum passiert, nur so kann ich debuggen und auch modifizieren und sowas halt.
|
seahawk1986
Anmeldungsdatum: 27. Oktober 2006
Beiträge: 11179
Wohnort: München
|
In der Spezifikation steht, was ein DHCP-Server macht. Im Code eines DHCP-Server steht, wie das implementiert ist. Solange du das nicht lesen und verstehen kannst, lohnt es sich IMHO nicht mit dem Debuggen anzufangen.
|
misterunknown
Ehemalige
Anmeldungsdatum: 28. Oktober 2009
Beiträge: 4403
Wohnort: Sachsen
|
SpaceInterface schrieb: Der Hauptgrund ist ja, ich möchte verstehen, was wie warum passiert
Das steht alles im RFC. Hast du dir das durchgelesen?
nur so kann ich debuggen und auch modifizieren und sowas halt.
Beides ist erst möglich, wenn du schon Code hast. Den hast du aber nicht, wenn du etwas neu schreibst. Das RFC ist dabei deine Spezifikation. Du musst es nur noch implementieren.
|
rklm
Projektleitung
Anmeldungsdatum: 16. Oktober 2011
Beiträge: 12822
|
misterunknown schrieb:
Beides ist erst möglich, wenn du schon Code hast. Den hast du aber nicht, wenn du etwas neu schreibst. Das RFC ist dabei deine Spezifikation. Du musst es nur noch implementieren.
Hihi, "nur" ist gut. ☺ SpaceInterface schrieb:
ich habe zwar schon von diverser Software gehört, die man als DHCP-Server benutzen kann. Aber leider fürchte ich, dass diese nicht meinen Anforderungen entsprechen, zumal ich den Code und die Aktionen gerne nachvollziehen möchte und vorgefertigte Software in der Regel keine Lösung für Mich ist.
I.d.R. empfiehlt es sich, bevor man etwas neu schreibt, nicht nur zu befürchten, dass es keine geeignete Software gibt, sondern das auch zu recherchieren. 😬
Den DHCP-Server möchte ich gerne selber schreiben und nachvollziehen, sowie an eigene Bedürfnisse anpassen:
Der Client loggt sich ins (W)LAN ein und erhält die Adresse 192.168.1.* (Verbindung nach 3 Minuten trennen). Jeglicher Traffic wird blockiert und man wird auf eine Authentifizierungsseite weitergeleitet. Ist der Client authentifiziert, bekommt er die IP-Adresse 192.168.3.* (IP-Adresse nach 12 Stunden automatisch regenerieren), hier wird der Traffic auf's einzelne überprüft und geguckt, ob der User auch den entsprechenden Inhalt aufrufen darf.
Wie stellst Du Dir das mit der Überprüfung des Traffics vor? Insgesamt scheint es mir, dass Du eine komplette Lösung brauchst inklusive Portal für die Authentifizierung, Anbindung an Firewall (um deren Regeln ändern zu können) usw. Das klingt sehr nach dem, was man in Hotels so findet, und ist auf jeden Fall ein größeres Projekt.
Wie realisiere ich das ganze ohne Zusatzsoftware und welche Programmiersprache benötige ich dafür?
Nimm die Programmiersprache, die Du beherrscht oder für die es eine Implementierung gibt, die Du anpassen kannst. Das wäre sowieso meine Empfehlung: warum das Rad des DHCP-Protokollhandlings neu erfinden, wenn es da bereits etwas gibt?
|
Vain
Anmeldungsdatum: 12. April 2008
Beiträge: 2503
|
Kurzes Googlen lässt vermuten, dass pfsense sowas kann. DHCP ist ein spannendes Thema. Ich habe selbst kürzlich erst DHCP-Pakete „von Hand“ zusammengeschustert und auf die Leitung gepustet (nur ein DISCOVER, um zu schauen, ob jemand antwortet – was vor allem deshalb interessant war, weil man dafür raw AF_PACKET Sockets braucht und auch den Ethernet-Header selbst bauen muss – klar, hinterher alles nicht schwer, wenn man’s mal gemacht hat). Für den DHCP-Teil war eigentlich schon die Wikipedia-Seite sehr hilfreich. Die ist sicher ein guter Einstiegspunkt. Wenn man eine grobe Idee hat, kann man dann den/die RFCs lesen. Ich kann nur dazu ermutigen, sich mit dem Thema zu beschäftigen. ☺ Gleichzeitig schließe ich mich den anderen an. Was du vorhast, ist ein größeres Projekt. Und du willst ja echt nicht nur einen DHCP-Server bauen, sondern musst den Traffic auch über dich routen, damit du ihn überhaupt filtern kannst, und dann noch die Authentifizierungswebseite, für deren Anzeige du einen Webserver brauchst, … Das summiert sich. Wenn du das alles mit existierenden Komponenten von Grund auf zusammenbaust, ist das schon viel. Aber irgendwo muss man ja anfangen und einen Überblick gewinnen.
|
noisefloor
Ehemaliger
Anmeldungsdatum: 6. Juni 2006
Beiträge: 29044
Wohnort: WW
|
Hallo, von der Anforderung hört sich stark nach dem an, was viele Hotels standardmäßig in Ihrem (Gäste-) WLAN implementiert haben. Von daher gehe ich mal stark davon aus, dass es da fertige Lösungen gibt - aber vermutlich nicht frei verfügbar. Gruß, noisefloor
|
elektronenblitz63
Anmeldungsdatum: 16. Januar 2007
Beiträge: 29307
Wohnort: NRW
|
|