DHCP Server für mehrere Subnetze konfigurieren

renegade2k

Cadet 4th Year
Registriert
Aug. 2011
Beiträge
106
Ich versuche gerade ein DHCP Server so zu konfigurieren, dass er zwei Subnetze gleichzeitig bedient.
Irgendwie scheine ich aber ein Fehler zu machen und komme nicht drauf, was da nicht stimmt...
Vielleicht kann mir einer auf die Sprüge helfen und vielleicht hat ja jemand soagr noch eine bessere Idee, wie man das umsetzen kann, was ich vor habe.

Meine Idee: Ich habe ein ganz "normales" Heimnetzwerk mit Internetzugang.
Es kommen hier allerdings regelmäßig bekannte und unbekannte Clients rein. Sowohl per Wlan als auch per Kabel (<- darum ist eine simple Sicherheit per Wlan Kennwort keine Lösung).
Da die bekannten Clients meist gleiche Geräte sind (also Gleicher Hersteller, lediglich das Modell unterscheidet sich) wollte ich den DHCP Server auf dem Router abschalten und einen eigenen mit einem RPi einrichten.
Der DHCP Server sollte alle Clients, die sich im Netz melden "erfassen" und erst einmal in ein "Quarantäne"-Subnetz schieben. Nur bekannte Clients, oder solche, die man einzeln zulässt, sollten dann in das eigentliche Heimnetz.

Technisch gesehen:
Router & DNS Server: 192.168.1.1 / 24
DHCP Server: 192.168.1.2 / 23 (!)
verteilt: 192.168.1.10-100 für alle, auf die die ersten 3 byte der MAC zutreffen
verteilt: 192.168.2.10-100 für alle, auf die die ersten 3 byte der MAC NICHT zutreffen
Heimnetz: 192.168.1.0 /24
Quarantäne-Netz: 192.168.2.0 /24

Mein Problem ist nun:
Die erste Regel greift wunderbar. Also die Clients, auf die der pseudo-MAC-Filter zutrifft, kriegen eine 1-er IP, die anderen nicht.
Ich kann es sogar negieren, dann kriegen alle 'unbekannten' Clients eine IP und die bekannten nicht... ALso genau wie gewollt.
Und die zweite Regel greift gar nicht!
Und ich verstehe nicht warum ....
Mit der 23-er Maske sollte der DHCP Server doch beide Subnetze abdecken, oder?
 
Nein das geht nicht mit der Maske. Jedes Netz hat eine Netzwerk und eine Broadcast Adresse. Die z.B. Broadcastadresse von deinem ersten Netz (192.168.1.255) liegt mitten in der 23er Maske. Genauso wie die Netzwerkadresse vom zweiten Netz(192.168.2.0).
Mag sein das die erst mal eine Adresse bekommen, aber so richtig funktionieren kann das nicht.
Mal abgesehen davon das die Netze nicht wirklich getrennt sind. Böse Leute und Schädlinge hält das jedenfalls nicht ab.
 
  • Gefällt mir
Reaktionen: TechFA
renegade2k schrieb:
Es kommen hier allerdings regelmäßig bekannte und unbekannte Clients rein. Sowohl per Wlan als auch per Kabel (<- darum ist eine simple Sicherheit per Wlan Kennwort keine Lösung).
Das mag sein, aber irgendeine DHCP-Krücke bauen zu wollen, ist noch viel weniger eine Lösung. Hier liegt ein klassisches XY-Problem vor.

Ein DHCP-Server stellt keinerlei Sicherheitsfunktion dar, egal wie du ihn baust. DHCP ist nur dafür da, eine händische IP-Konfiguration am Client überflüssig zu machen, nicht mehr und nicht weniger. Weder verhindert er irgendwelche Kommunikation zwischen den Clients noch hält er irgendwelche Viren ab und eine Quarantäne ist das schon gar nicht, weil jeder Hans und Franz an seinem Laptop binnen Sekunden die IP-Adresse ändern kann.


Wenn man regelmäßig fremde Geräte im Netzwerk hat und sich Sorgen macht, sollte man diese Geräte entweder überhaupt nicht ins Netzwerk lassen oder ein Gastnetzwerk einrichten. Dieses kann sowohl über eine separate SSID im WLAN als auch an bestimmten LAN-Ports in der Wohnung bzw. an Switches verteilt werden.

Die meisten Router bieten zumindest im WLAN eine Gastfunktion, einige bieten darüber hinaus die Möglichkeit, das Gastnetzwerk auch an einem der 4 LAN-Ports nach außen zu führen und darüber im LAN weiterzuverteilen. Letzteres wird in der Regel über VLAN-fähige Switches realisiert, um sich trotz mehrerer (V)LANs - nämlich Haupt- und Gastnetzwerk - nicht zwei parallele Infrastrukturen (Switches) aufbauen zu müssen. Stattdessen werden die VLAN-Switches nach Bedarf virtuell geteilt, zB 8er Switch mit 5x Haupt- und 3x Gastnetzwerk, o.ä.



*edit
Und nur mal so nebenbei: /23er Subnetze starten bei 0, 2, 4, 6, 8. Du irrst dich also, wenn du meinst, dass ein DHCP mit 192.168.1.2/23 auch nur irgendetwas mit IP-Adressen jenseits der 192.168.2.0 zu tun hat, weil 192.168.1.2/23 im Subnetz 192.168.0.0/23 liegt, dessen Host-IPs von 192.168.0.1 bis 192.168.1.254 gehen. 192.168.2.0 und aufwärts liegen im nächsten /23er Subnetz.
 
  • Gefällt mir
Reaktionen: Ortan, up.whatever, snaxilian und 3 andere
@madmax2010 ganz simpel isc dhcpd auf linux Basis und es ist (erstmal) nur ein Interface für beide Netze.

@McClane es ist auch nicht als absolut sichere Firewall gedacht ;) lediglich als kleine Hilfe, damit nicht einfach irgendjemand ein Kabel ansteckt und sofort INternetzugriff hat. Die meisten, die das Netz nutzen, sind eh DAUs

@Raijin irgend eine Art von Sicherheit sollte es eben auch nicht darstellen. Davon habe ich kein Wort gesagt. Es ist lediglich eine Hilfe für mich selbst zu erkennen, was ist eh "Altbestand" und darf sofort das Internet nutzen und was sollte ich mir vielleicht nochmal ansehen ...
zum Edit: vielleicht ist genau das mein Problem ... daran habe ich nicht gedacht und versuche es dann mal mit 0.0 bis 1.255
 
renegade2k schrieb:
rgend eine Art von Sicherheit sollte es eben auch nicht darstellen. Davon habe ich kein Wort gesagt. Es ist lediglich eine Hilfe für mich selbst zu erkennen, was ist eh "Altbestand" und darf sofort das Internet nutzen und was sollte ich mir vielleicht nochmal ansehen ...
Du widersprichst dir selbst. Wenn ein Gerät etwas nicht dürfen soll, ist der DHCP-Server nicht das richtige Werkzeug. Dürfen/Nicht dürfen ist der Inbegriff des Themas Sicherheit und DHCP ist eine Komfortfunktion, kein Sicherheitsfeature.
 
Ich finde, ich widerspreche mir in dem Punkt gar nicht.
Was du da in meine Aussagen interpretierst, das würde dem, was ich tatsächlich schreibe und meine widersprechen. Da gebe ich dir recht.
Ich denke aber nicht, dass es hier um Grundsatzfragen geht. Meine Frage bzw. Problemstellung war doch relativ klar formuliert ...
 
renegade2k schrieb:
Was du da in meine Aussagen interpretierst, das würde dem, was ich tatsächlich schreibe und meine widersprechen.
Ich habe dich doch zitiert und den Widerspruch markiert. Das einzige was einen Client daran hindern würde. das Internet zu nutzen - er "darf" ja nicht nach deiner Formulierung - wäre eine IP, die nicht zum Subnetz passt. Das kann nicht nur jeder Nutzer mit Bordmitteln sofort umgehen, sondern auch jede Malware, die nichts anderes tun muss, als zB ARP-Traffic mitzuschneiden, um weitere Subnetze auf der Infrastruktur zu identifizieren und sich anschließend eine entsprechende IP zu verpassen. Ist das geschehen, hat der Client bzw. die Malware ohne weitere Maßnahmen vollen Zugriff auf das lokale Netzwerk und das Internet.


Es gibt zwar durchaus das Konzept der DHCP-Quarantäne, aber dabei gibt es dann in der Regel zwei DHCP-Server, zumindest kenne ich das so.
In deinem Setup aus #1 verwendest du jedoch einen einzelnen DHCP, der ein /23 Subnetz bedient und am Router verwendest du eine /24er Subnetzmaske. Das wird eher früher als später zu Problemen führen - wenn es denn so überhaupt funktioniert. Broadcasts wären ein Beispiel. Es kann daher passieren, dass beispielsweise UPnP/DLNA nicht mehr funktioniert, weil die Broadcasts nicht ankommen bzw erkannt werden.



Sinnvoller wäre da meiner Meinung nach ein Captive Portal, das von der Sache her ein Stück weit ähnlich funktioniert wie das was du wohl vorhast. Die Autorisierung des Clients wird dabei durch das Captive Portal zB mittels RADIUS sichergestellt und erst dann erhält der Client eine Freigabe - für einen beliebig zu konfigurierenden Zeitraum.
 
Kannst du mal deine bisherige Config posten? Ich kenne das bei ISC auch nur so, das ein Subnet entweder pro Interface, oder VLan bedient wird.
Warum regelst du das, was du vorhast, nicht mit einer Firewall? Wenn du eh schon dein Netzwerk mit einer Linux Kiste verwalten möchtest, kannst du doch mit nftables deine Zugriffe managen.
Selbst wenn du dein Vorhaben mit isc dhcp hinbekommst, könnte der Client sich wahrscheinlich einfach eine feste IP geben und wäre wieder in deinem Netz.
 
Zurück
Oben