Konfigfragen DHCP/DNS (Umzug von Windows)

Hallo miteinander,

ich bräuchte mal Hilfe bei einer etwas komplizierteren Konfiguration. Mein LAN wird derzeit noch komplett (DHCP, DNS) von einem Windows Server verwaltet. Da ich jetzt pi-hole auf einem RPI3 nutzen möchte, wollte ich auch gleich die komplette DHCP/DNS-Verwaltung umziehen. Was sich wegen paar Besonderheiten aber etwas schwieriger gestaltet. Unter Windows läuft alles wie hier beschrieben. Ich denke mal das ganze sollte ich 1:1 nach Linux umziehen können. Frage ist nur noch: Wie?

Ich habe ca. 40 IP-Devices im LAN. Da manche Geräte doppelt sind (Laptop per LAN und WLAN), musste ich beim DNS etwas "tricksen" und habe das ganze so aufgebaut:

  • .lan
  • .wlan
  • .air
  • .plc

Das möchte ich auch beibehalten. Dazu kommt das ich ein paar Subdomains (Apache VHosts trennt diese dann) meiner Webdomain Lokal nutze (CNAME auf den DDNS-Namen @ Provider-DNS-Konfig). Ist ja eigentlich kein Problem und hat erstmal nichts mit Pi-Hole zu tun. ABER... ich möchte diese Domains auch nutzen können, wenn Internet mal down ist. Ich benötige also LOKAL eine anderen Namensauflösung.

dienst1.meinedomain.tld = im LAN: lokale-ip, vom WAN aus: meine dynamische IP vom Provider zugewiesen
dienst2.meinedomain.tld = im LAN: lokale-ip, vom WAN aus: meine dynamische IP vom Provider zugewiesen
dienst3.meinedomain.tld = im LAN: lokale-ip, vom WAN aus: meine dynamische IP vom Provider zugewiesen

Bei allen HOSTNAMEN soll halt die Auflösung in beide Richtungen funktionieren: nslookup IP = hostname, nslookup hostname = IP.

Bei den TLDs die ich oben nannte (lan, wlan, air, plc) kommt erschwerend hinzu das die in den IP-Ranges auch vermischt sind. LAN-Block, dann WLAN, dann noch mal LAN, dann AIR, dann PLC und dann noch mal LAN (grob)

Fast alle Geräte sollen die Zuweisung per statisches DHCP bekommen. 2-3 Geräte haben ihre IP fest im Gerät abgespeichert (wobei die MAC mit IP trotzdem im DHCP ist - falls ich auf dem System mal was anderes installiere etc - hat das System zumindest direkt schon mal eine IP). EIN Endgerät darf NICHT den Pi-Hole als DNS-Server bekommen, da das Gerät nur mit dem Provider-DNS funktioniert (Entertain-Receiver; kein Umschalten etc. mehr möglich)

Ich finde im Netz einige dnsmasq-Beispielkonfigurationen - aber die basieren alle auf einfache Netze. Das hilft mir nicht.

Ich weiß halt nicht wie ich folgendes Löse:

Zumindest die DHCP-Geschichte muß ich über eine eigene Konfig in /etc/dnsmasq.d/ lösen. 1_dhcp.conf
Kleine Anmerkung zu meinem Beispiel: ich nutze eine 24er Subnetmaske um Platz zu haben um das Netz in "Blöcke-nach-Anwendungsgebit" aufzuteilen (keine Subnetze!). Server und Desktop liegen z.b. nicht im gleichen Block. WLAN-Geräte die auch LAN haben, liegen 50 IPs höher (1 = Laptop-Lan, 101 = Laptop-WLAN). IP-Bereiche die NULL genutzt werden, tauchen in keiner range auf (also unter Windows-DHCP-Server): 1-3 sind Desktops. 10-15 sind mobile devices. 4-9 existiert dann nicht. Weiter oben hab ich eine 5er Range für alles was ich nicht kenne, aber eine IP haben darf [Gäste; neue Geräte für Erstkonfiguration]....

Konfigmässig bin ich bereits so weit:
[beispielhaft umschrieben]

dhcp-range=[Range 1-3]
dhcp-host=[MAC,hostname,ip,leasedauer: infinite] für jeden host in dieser Range
dhcp-option=[3,42,6 für Gateway, DNS, NTP],[IP] [3 Zeilen natürlich]

Jetzt ist aber DHCP-OPTION für jede 39 von 40-IP-Adressen IDENTISCH. Macht dann ja keinen sinn das immer wieder zu schreiben. Gibt es hier eine Reihenfolge? Wenn ich das in die ersten Zeile der Konfig setze = Global für alle Adressen? Oder muß ich das für jede RANGE (7-8 sind es glaub ich) machen? Wäre ja auch etwas ineffektiv. Unter Windows setze ich einmal einen Standard - also diese 3 Optionen. Jeder DHCP-Eintrag nutzt jetzt diese 3 Optionen (egal welche Range) - außer ich trage händisch für einen Eintrag etwas anderes an (was ich bei dem Entertain-Receiver machen muß: T-Online-DNS)

dhcp-host=[MAC,hostname,ip,leasedauer: infinite]`

Was ist hier der "hostname"? Für meinen Home-Webserver hab ich 4 Hostnamen (homeserver.lan, dienst1.meinedomain.tld bis dienst3.meinedomain.tld). Trage ich hier "homeserver" ein oder "homeserver.lan"? Wo definiere ich die anderen? Und somit auch die anderen TLDs wie LAN, WLAN, AIR, PLC.

Ich lese da leicht verwirrendes in punkte DNS ... /etc/hosts ... dort eintragen - aber soweit ich weiß ist diese Datei nur lokal. Mache ich also auf einem Client im LAN ein NSLOOKUP auf homeserver.lan - kütt nix. Oder tickt Linux hier anders?

Ich finde oft mal dieses Beispiel für in /etc/dnsmasq.d/

address=/dev/127.0.0.1

Ich könnte mir also jetzt eine Datei erstellen:
lan.conf

address=/homeserver.lan/[IPAdresse]
address=/gamemachine.lan/[IPAdresse]
address=/laptop.lan/[IPAdresse]

wlan.conf

address=/laptop.wlan/[IPAdresse+50]

sonstiges.conf

cname=dienst1.meinedomain.tld,homeserver.lan
cname=dienst2.meinedomain.tld,homeserver.lan
address=/ichhabeetwasgegendiesedomain.com/127.0.0.1

Dazu käme jeweils noch der PTR-Record für Reverse-DNS

ptr-record=[IP-Rückwärts].in-addr.arpa,homeserver.lan

Fehlt noch was? Ist das überhaupt richtig?

Ich würde also für eine übersichtliche Konfiguration mehrere Dateien in /etc/dnsmasq.d/ liegen haben.
1_dhcp.conf
2_dns_lan.conf
3_dns_wlan.conf
Wenn ich was ändern muss, könnte ich einfach fix die passende Datei anspringen und danach dnsmasq neu starten.

Grüße
Wulfman

Das klingt alles machbar, muss aber sagen, dass ich nach 1.5-maligem Lesen dieses Riesenbeitrags immer noch nicht so genau weiß was die Frage ist :slight_smile:

Hast Du das bereits alles probiert und gab es damit Probleme oder das alles noch rein theoretisch?

Sorry - sehr umfangreich gewesen...

Ein Problem hat sich aber erledigt: Entertain benötigt kein T-Online-DNS-Server mehr. Somit setze ich 3 Optionen (DNS, GW, NTP) für alle Clients gleich - Global. Eine meiner Hauptfragen: done :slight_smile:

Was ich jetzt extrem aufwändig fand, war die DHCP-Host/Range-Konfig. Ich weiß nicht ob ich mich hier vielleicht etwas verrannt habe ...? Geht es besser?

Für DHCP/DNS muss ich 2 Dateien editieren:
/etc/hosts - da trage ich für jeden Client die IP und den Hostname.LAN/.WLAN/.AIR ein.
/etc/dnsmasq.d/05-lan-konfig.conf - hier trage ich alles zum DHCP und die DNS-CNAMEs ein.

hosts:

192.168.0.1 homeserver.lan
192.168.0.2 desktop.lan
[...]

=> es war ein wenig Tricky bis ich rausfand das ich mit der etc/host-Eintragung auch gleich reverse-dns nutzen kann. Ich hatte gedachte ich müsste in der dnsmasq-konfig einen PTR-RECORD setzen. Ist wohl unnötig?

Ich kann die /etc/hosts umgehen und das mit address=/.../... in die dnsmasq-Konfiguration setzen. Nur ist das leicht "fehlerhaft" ... es gibt nur homeserver.lan - es gibt kein www.homeserver.lan - bei der Konfig dann aber doch. Mit etc/hosts gibt es kein www. - wo will ich es haben! Wie macht man das in der dnsmasq-Konfig?

05-lan-konfig.conf
cname=dienst1.meinedomain.tld,homeserver.lan
=> damit definiere ich dienst1... als einen alternativen/canonical Namen von homeserver.lan. Das hab ich für alle cnames gemacht.

=> FRAGE: wenn ich ein nslookup 192.168.0.1 IPvomWindowsDNS mache, bekomme ich sämtliche Hosts angezeigt die auf diese IP zeigen. Bei der Konfig unter Linux aber nicht. CNAME/ReverseDNS klappen zwar, aber nslookup 192.168.0.1 IPvomPi zeigt mir aber nur homeserver.lan (kein dienst1.meinedomain.tld). Kann man das noch irgendwie einstellen?

dhcp-option=3,[ipvomrouter]
dhcp-option=6,[ipvompi-hole]
=> damit setze ich Global für die weitere DHCP-Konfig das Gateway und DNS-Server (wie setze ich einen Secondary-DNS-Server? Mein Windows-Server soll als Backup einspringen können). Wenn ich jetzt für einen Client eine extra-Option setzen möchte, müsste ich das wohl über ein tag machen. Ungetestet - Beispiel sieht aber verständlich aus :). So könnte ich dann dhcp-host=tag:superdns,M:A:C,....... setzen (Syntax ist vielleicht jetzt nicht richtig - vom Prinzip her; superdns muss natürlich definiert werden). Kann man den mit einer dhcp-host-zeile dann mehrere tags setzen? [anderes Gateway, anderer DNS als Standard; in einer Zeile?]

Jetzt kommt aber der Teil wo ich gerade aufgrund der Arbeit verzweifelt bin :). Frage: geht das komfortabler?

dhcp-range=192.168.0.1,192.168.0.3,0 # Range für 3 Clients
dhcp-host=M:A:C,homeserver.LAN,192.168.0.1,infinite

gleiches für ip 2 und 3
Damit bekommt der Client seine IP zugewiesen. Soweit KLAR. [wie gesagt: die clients haben überwiegend am System selber bereits manuelle IPs vergeben - hier kommt das nur rein, falls der Client mal was anderes booten darf ...]. Aber muss das dhcp-range wirklich? Ich setze doch mit dhcp-hosts schon eine IP - verknüpft mit MAC - das müsste doch eigentlich reichen "gib dieser MAC diese IP". Wenn ich jetzt einen neuen host hinzunehme, muss ich dhcp-host setzen (klar) aber auch dhcp-range anpassen. Ich hab es natürlich probiert - dhcp-range weg: tote hose :frowning: ...

Wobei mir JETZT auffällt: wo definiere ich die Subnetmask?! Gerade geprüft: ist richtig gesetzt (255.255.255.0) - aber warum? Wo erfolgte das?

Hoffe ein klein wenig verständlicher :wink: Sieht so aus als ginge es jetzt nur noch ums Finetuning. Final testen kann ich das erst wenn mein neuer Pi3 kommt.

Ach eine Frage: wie sperre ich effektiv 3-4 unerwünschte Domains (die definitiv in keiner Blockliste auftauchen ... beispielsweise möchte ich irgendwas.nurdiesubdomainistfuermichpersoenlichboese.de auf 127.0.0.1 schieben; address=/ in der dnsmasq-Konfig hab ich aktuell ... richtiger weg?)

Habe ich nie ausprobiert, klingt aber logisch.

Ich denke address=/.../ ist schon die korrekte Art und Weise dafür zu sorgen, dass sowohl die Domain als auch alles Subdomains an die gleiche IP verwiesen werden. In der /etc/hosts gibt es nur klare 1:1-Zuweisungen. Kann ja gut sein, dass intern.test.de auf einem andere Server läuft als test.de und dementsprechend man auch jeden Eintrag einzeln mit einer IP belegen muss (was man dann auch in der hosts Datei so machen kann).

Oh das weiß ich leider nicht, mein internes Netzwerk ist ein reines "Standard-Ding". Ich hoste keine Domains oder so bei mir zuhause. Ich habe auf der Arbeit schon genug mit IT zu tun, sodass ich das bei mir zuhause wirklich simpel und sauber halte.

Der Rest später :slight_smile:

Das geht nicht. Der DNS-Standard sieht keine Backup-Server (im von Dir gewünschten Sinne einer Rückfalllösung) vor. Alle DNS-Server werden immer als gleichwertig behandelt. Windows hat mit Primary- und Secondary-Server die Leute da unnötig verwirrt... siehe auch

Wieso willst Du das überhaupt tun? Wenn Du das einfach weglässt, erhalten die Geräte automatisch das Gateway was auch der Raspberry kennt sowie seine IP als DNS-Server.

Ja, ich glaube das geht. Die man page scheint das zu befürworten.

Naja, stellt sich halt die Frage was passiert mit Geräten, die nicht konfiguriert sind? (Handys von Gästen, neue Geräte, die eingeschaltet werden bevor Du ihre MAC-Adresse hier fest vergeben hast, etc.)

Ja, was spricht denn dagegen den Range auf 192.168.0.2 - 192.168.0.254 zu setzen? Die Einträge für die Du eine feste Adresse vergeben hast sollten dafür sorgen dass diese Adressen ansonsten nicht vergeben werden.

Durch dhcp-range wird die passende Subnetzmaske generiert. Gibst Du z.B. ein

dhcp-range=192.168.0.1,192.168.255.255

so sollte das ein /16er Subnetz sein, d.h. 255.255.0.0 in Subnetzmaskenschreibweise. Oder ein ein /20er Netzwerk, d.h. 192.168.0.1 - 192.168.15.255 was dann einer Subnetzmaske von 255.255.240.0 entsprechen würde oder so weiter und so fort. (Ich persönlich finde die Subnetzschreibweise sehr undurchsichtig und verwirrend, ich bevorzuge klar die CIDR-Schreibweise, die man dann auch in quasi jeder tatsächlich professionellen Anwendung (wo es also auch um eine Menge Geld für die richtige Hardware geht) verwendet).

Ja, richtiger Weg. Dennoch sollte ich hier noch mal darauf hinweisen die grafische Oberfläche von Pi-hole dafür zu verwenden. Da gibt es für solche Dinge praktische Ein-Klick-Lösungen. Auch das Editieren der Listen ist sehr komfortabel. Übrigend auch das Einschalten des DHCP-Servers ... selbst für recht komplexe Netzwerke ist dafür oft nicht die Bearbeitung einer einzigen Konfigurationsdatei nötig sondern wird von unseren Skripten für Dich im Hintergrund erledigt.

Ich meinte eher RANGE für Geräte wo ich eine IP per DHCP zuweise. Das ist für mich doppeltgemoppelt...

Beispiel:

dhcp-range=[Range 1-3]
Jetzt kann ich 3 IPs per DHCP zuweise. Wenn ich jetzt kein dhcp-host setze, werden diese 3 dynamisch zugewiesen. Das nutze ich bei z.b. 180-190. Macht also sinn.

Es geht eher darum:
Warum muß ich Range 1-3 setzen, wenn der nächste befehl lautet:
dhcp-host=[MAC,hostname,1,leasedauer: infinite]
dhcp-host=[MAC,hostname,2,leasedauer: infinite]
dhcp-host=[MAC,hostname,3,leasedauer: infinite]

Ich setze also eine Range und dann setze ich Hosts in dieser Range. Eigentlich könnte sich der DHCP doch denken: die MAC die ich hier habe, passt zu dhcp-host - dann bekommt er die. Wofür braucht der die Range? Ich finde das irgendwie doppelt-gemoppelt. Wie gesagt: für dynamische Vergabe hab ich range 180-190 gesetzt - das ist auch logisch - kein dhcp-host dafür gesetzt, also muß der DHCP ja wissen was er mit der MAC machen soll - er schiebt sie den IPs 180-190 zu. Ich hab auch eine "range" für nur eine IP-Adresse (für den Endgeräte-IP-Block hab ich nur ein Endgerät) - ich hab dann eine Range-Zeile und eine Host-Zeile.

Wobei ich haber sagen muß: beim Windows-DHCP ist es auch so kompliziert - nur umgekehrt. Ich setze hier als Range 1-254 und exclude unbenutzte Ranges. 1-3 und 10 werden genutzt: ich nehme als 4-9 raus ...

Ich denke address=/.../ ist schon die korrekte Art und Weise dafür zu sorgen, dass sowohl die Domain als auch alles Subdomains an die gleiche IP verwiesen werden. In der /etc/hosts gibt es nur klare 1:1-Zuweisungen. Kann ja gut sein, dass intern.test.de auf einem andere Server läuft als test.de und dementsprechend man auch jeden Eintrag einzeln mit einer IP belegen muss (was man dann auch in der hosts Datei so machen kann).

das problem ist aber mit address=/../ ... nicht existierende Subdomains werden diesem Eintrag zugewiesen. Ich bau damit quasi Wildcards-Domains. Das will ich nicht. Es gib bei mir nur homeserver.lan - und kein www.homeserver.lan oder irgendwas.total.bloed.homeserver.lan :). /etc/hosts ist da effektiver ... was nicht drin steht, gibt es nicht - es werden keine Wildcard-Domains "generiert". Ich hab das address jetzt verbannt.

Das geht nicht. Der DNS-Standard sieht keine Backup-Server (im von Dir gewünschten Sinne einer Rückfalllösung) vor. Alle DNS-Server werden immer als gleichwertig behandelt. Windows hat mit Primary- und Secondary-Server die Leute da unnötig verwirrt… siehe auch

Mhhh ... was heißt "gleichwertig"? Das Abfragen Load-Balancing-Mässig zwischen beiden aufgeteilt werden? Komma-Separiert hatte ich jetzt rausgefunden und so verteilt. Als ich dann meinen pi mal ausschalten musste (bzw. anderweitig nutzen mußte), wurde sofort der Windows-DNS genommen. Hab hier keine Probleme gemerkt. Warum kann man den in pi-hole je 2 DNS für ipv4/6 eingeben. 149.112.112.112 wird von Quad9 als offizieller Secondary für 9.9.9.9 geführt.

=> Wie gesagt: Komma-Separiert macht das was ich will / verstehe. Das reicht :wink:

auch erledigt.
Aber deine Erklärung? Wenn sich die Maske aus der Range berechnet, hab ich aber ein Problem. Ich nutze nicht die 1-254 als Range. Ich nutz 1-3, 10, 51-53 usw. Hab jetzt den befehl für die Maske genutzt. Ich nutze übrigens ein 172er Netz - defaultmässig ist dort 255.255.0.0 als Maske vorgesehen (wird zumindest überall vorgeschlagen wenn ich die IP eingeben habe und dann die Maske eintragen darf) - ist aber auf 255.255.255.0 geändert.

Die Geschichte mit dem Wald vor lauter Bäume :frowning: ... ja Blacklist in der oberfläche klappt super. Und ich hab hier dann auch keine Wildcards-Domains (siehe oben). Wenn ich nur blablabala.de killen möchte, aber www.blablabala.de nutzen möchte, geht das.

Erlaubt aber nur eine range ... also quasi 1-254 ... das klappt bei mir eben nicht :slight_smile: ... mit der .conf im dnsmasq.d-Verzeichnis ist ja kein Problem. Ich bastel mir die Tage etwas was mir den DHCP/DNS füllt - dann ist das easy going. Hab ich für Windows-DHCP/DNS auch schon.

Vielen Dank für deine Mühe der Beantwortung meines Posts!! Auch wenn das nicht alles pi-hole spezifisch ist!

Vielleicht findet sich ja noch einer der mein spezifisches CNAME/PTR-LUXUS-Problem lösen kann :slight_smile:

Ja, keine Frage, aber das Vorgehen ist hier eher so gemeint:

Ich will dass meine Geräte Adressen im Bereich 1-100 erhalten. Dabei weiß ich aber schon, dass Gerät A immer die Endziffer 15 erhalten soll. Diese Zuweisung ist in gewisser Weise durchaus dynamisch nur dass keine Nummer gewürfelt werden muss. Denn diese Adresse wird ja trotzdem vom DHCP-Server dem Gerät zugewiesen.

Ah, da gab es also ein Missverständnis, genau das dachte ich sollte erreicht werden. Ja, dann ist entweder die hosts Datei oder

host-record=<name>[,<name>....],[<IPv4-address>],[<IPv6-address>]

anstatt von address=/.../.

Nein, es heißt, dass unvorhersagbar ist was passiert und von der Implementierung des Betriebssystems abhängt. Das System ist frei immer nur den ersten zu fragen und nur bei ausbleibender Antwort einen Alternative, oder immer alle zu fragen und die erste reinkommende Antwort zu nehmen oder auch die Antragen Quasi-Load-Balancing auf die eingetragenen Server aufzuteilen. Der wesentliche Teil daran ist aber: Es gibt keinen bevorzugten Server und wenn man als DNS-Server das Pi-hole sowie einen anderen DNS Server einträgt muss man damit rechnen dass eine größere Anzahl der Anfragen am Pi-hole vorbei geht und somit weder geloggt noch evtl. gefiltert wird. Typische Symptome sind also doch auftretende Werbung etc.

Das ist historischer Ballast und tatsächlich so gemacht weil die meisten Nutzer das so erwarten...

Wenn das nicht gut ist, dann kann man die auch explizit noch hinten mit drangeben:

dhcp-range=<start-addr>[,<end-addr>|<mode>][,<netmask>]

Da muss ich zugeben das noch nicht verstanden zu haben. In meinem Netzwerk sowohl zuhause also auch auf der Arbeit wird ein komplett umfassender Range vergeben (zuhause /24er in 192.168er Bereich, im Büro ein /16er in einem öffentlich zugänglichen "Internet-IP"-Bereich). Die einzelnen Host-Records liegen da einfach drin. Ich sehe keinen Sinn darin sie bewusst außerhalb des zu vergebenden Bereichs zu lagern (dnsmasq weiß ja schon dass sie reserviert sind und vergibt sie auch in Abwesenheit dieser Geräte nicht an Andere).

ahhh :wink: das hatte ich die Tage schon mal gesehen und aus den Augen verloren. Ich gucke mir das mal an! Danke!

Achso! Danke für die Erklärung. Mhhh... Möchte ich also eine "Art" "Backup" haben, müsste ich eher einen 2. Pi-Hole hinstellen ... wenn das Betriebssystem nach gut dünken zwischen beiden DNS-Server wählt, hab ich in der Variante wenigstens immer "Werbe-Schutz". Bei meiner aktuellen Variante gehen halt Anfragen auch mal zum "falschen" DNS - schlecht. Dachte das wäre eher Backup - da wäre das OK [besser Werbe-DNS als kein DNS]. . Als Quell-DNS bei Pi-Hole machen hingegen ja mehrere sinn - die brauch ich und unterscheiden sich vom Inhalt (im Idealfall) nicht - wird hier gewürfelt, kommt für mich immer das gleiche raus - ist einer tot, meldet sich der andere. Einer macht daher keinen Sinn.... Ich hab daher auch 2 eingetragen. Wie ich aber gesehen habe der falsche Second: 9.9.9.10 ist der Primary, Secondary ist 149.112.112.112 - das ist aber der offizielle Primary zum 9.9.9.9 ... 9 und 10 haben ja leicht andere Funktionen bei Quad9. Ich mische hier also 2 DNS-Server-Typen ... nicht tragisch, aber richtig ist es nicht :wink:

=> Also weg mit dem Secondary DNS im LAN.

muss ich ja nicht mit der Netmask ... ich hab die nur der Vollständigkeithalber per dhcp-option gesetzt. Ich nehme mal an dadurch das die Range im gleichen Bereich ist, wie der Pi-Hole, weiß dnsmasq das die Maske die gleiche ist wie die pi-hole-ip-config. Ich hatte wie gesagt: nirgends für die Range eine Maske angeben, trotzdem war die Maske richtig, obwohl per default für diese Art Netz eine ganze andere Maske gesetzt wird (ich nutze ein privates Class B mit einer Class C-Maske)

Ich habe gerne Kontrolle über mein Netz - über das was sich da abspielt*.
Ich nutze daher ein /24er Netz da ich hier die ganzen IPs die im LAN rumschwirren (fast 40...) nach "Aufgaben" in Blöcke Teilen kann. Standardmäßig gibt man vielleicht 1,2,3,4,5,6,...40. Ich hab einen LAN-Client-Block, WLAN/LAN-Client [LAN-IP; Laptops], WLAN/LAN-Client [WLAN-IP (LAN+50); Laptops], WLAN-Only, Mobile-Endgeräte-Block, Server, Switch und ähnlich, Router-Block. In meiner IP-Verwaltung gehört zu jedem Block eine bestimmte Anzahl an IPs. Effektiv vergeben sind natürlich nicht alle ... ~40 statt 254.
Block 1 geht z.b. von 1-10 - hat aber nur 3 aktive IPs (1,2,3): dhcp-range=1-3
Block 2 11-20 ... 2 IPs: dhcp-range=11-12
Block 3 61-70 ... 2 IPs dhcp-range=61-62
usw.
Wie man sieht sind hier jetzt Lücken.
Wenn ich jetzt einfach sage
dhcp-range=1-254
dhcp-host=mac, ip .1
dhcp-host=mac, ip .2
dhcp-host=mac, ip .3
dhcp-host=mac, ip .10
Was macht DHCP jetzt mit einem Gästezugang? Dieser bekommt die IP .4 (nicht zwingend - aber jedenfalls da in der Region; Gestern hab ich die letzte FREIE IP der [erlaubten Gäste-]Range zugewiesen bekommen) - Als Gast soll er aber die 180-189 zugewiesen bekommen.
Also muss ich mit zig ranges arbeiten ... und das finde ich unbequem - lässt sich aber nicht vermeiden.
Ich hätte jetzt gedacht das sowas funktioniert:
dhcp-host= für ip 1,2,3,11,12,61,62
dhcp-range=180-189 [Gäste; dynamisch]

Ich verstehe den Sinn nicht warum jeder explizit genannte DHCP-HOST in einer RANGE stehen MUSS.
dnsmasq guckt ob es die MAC die gerade reinkommt in der Konfiguration stehen hat: ja -> gib ihm die passende IP. Warum die Range? In der Range steht ja auch keine MASK drin (das man wenigstens sagen könnte: dnsmasq zieht sich aus der Range die Mask; aber dafür kann man eigene dhcp-option setzen; ansonsten zieht er sich die wohl von der ip-config des PIs). Aber wie gesagt: unter Windows-DHCP war das auch: nur umgekehrt: hier musste ich "tote" Bereiche excluden. Auch kein sinn. Selbst wenn ich jetzt mehrere Subnetze hätte, mehrere Hundert IPs. Warum eine Range für Clients die explizit genannt sind. Einfach eine Range für dynamische Zuweisung - ende. Feste Zuweisungen stehen als dhcp-host drin - fertig. Wie gesagt: ich finde das doppelt gemoppelt. ABER wie gesagt: ich erstelle mir die Tage meinen Konfig-Generator - dann füge ich eine neue IP ein und hab meine Konfigänderung - Copy&Paste - fertig. Ist jetzt also kein Problem. Reines Verständnis-Thema...

  • Kontrolle: ich hatte schon paar mal den Fall das Plötzlich Geräte im 180-189er Bereich waren, obwohl es keine Gäste gab. Fehlkonfiguration eines Testsystems (statt die MAC die im DHCP für "Testnetz" gesetzt ist, hab ich irgendwo eine andere gezaubert) und richtig Geil: PowerLAN-Adapter vom AVM aktualisiert. Plötzlich hatte ich eine 180 im LAN. Woher? MAC angeschaut: kenn ich nicht (!) - sieht aber ähnlich aus wie die vom PowerLAN-Adapter ... tja ... warum auch immer: AVM hat die MAC-Adresse des PowerLAN-Adapters (der hat glaub 2 oder 3; ich meine die worüber er dann auch mittels IP erreichbar ist) geändert. Lustigerweise den Vendor-Code [ging um 1 Zähler noch; der Rest blieb] - ein NICHT-AVM-Vendor. AVM darauf angeschrieben - die dachten ich spinne :expressionless: ... das wäre ein andere Client. Sie ändern keine MAC-Adressen. Nach zig mails und Zig-Screenshots vom Webinterface des PowerLAN-Adapters kam ein "oh ... da haben sie recht" und seitdem nie mehr was von AVM gehört :< ... Von daher mag ich meine Kontrolle im LAN - im IPv4 und sollte ich es je nach IPv6 schaffen, auch da. Hätte ich jetzt DHCP nach Standard gehabt, hätten das Testsystem oder der PowerLAN-Controller z.b. die .4 bekommen oder per Zufall irgendwas anderes: 123. Da hab ich kein Fokus. 180-189 für unbekannte MACs hab ich aber im Fokus.

hab ich jetzt gemacht ... es existiert im LAN nur noch der pi-hole als DNS. Wenn der mal tot ist, muß ich zum "retten" halt manuell auf den Win-DNS umstellen :wink:

Scheint auch zu klappen ... das von dir beschriebene passiert wohl tatsächlich: ich hatte mit Prim: pi, Sec: win [der nur das schlimmste vom schlimmen geblockt hat] ca. 10% umgeleiteten DNS-Verkehr (2x Windows10, 1x Windows-Server, 2 iOS-Geräte [eines im VPN von unterwegs], 1 Android als Top-Talker). Nach entfernen des Sec liege ich jetzt bei 25% :scream:

klappt super! Host-Record unterstützt auch mehrere Hostnamen - ich kann mir dadurch die etc/hosts sparen und somit die DNS-Pflege insgesamt (Reverse-DNS klappt mit dem Eintrag dann auch - dafür hab ich bisher die hosts gebraucht). Danke für den Tipp!

Ja, so läuft das bei mir im Betrieb auch (sogar in verschiedenen Gebäuden an unterschiedlichen Stromnetzen aber im selben "Gesamtnetzwerk"). Zuhause brauche ich keine Backup-Lösung (wenn es Schrott gehen sollte, dann bekommt meine Frau das auch so hin auf Ihrem Rechner z.B. Googles DNS-Server manuell zu konfigurieren).

Aha, ich verwende dafür Hostnamen :wink: Da ich auch für alles IPv6 mitnehme erscheint mir eine Organisation in irgendwelche Ziffernblöcke wenig intuitiv (plus ich müsste mir merken, was 40, 50, etc. bedeutet). Mein Netzwerk soll aber möglichst selbstorganisierend laufen, d.h. idealerweise möchte ich da 2 Jahre nicht reinschauen müssen bis dann vielleicht ein neues System hinzukommt - da habe ich dann aber meine Adressblockbedeutung längst vergessen.

Ich finde das irgendwo logisch, denn Du sagst dem DHCP-Server damit irgendwie: In diesem Bereich darfst Du Adressen vergeben. Und nun hast Du halt ein paar Fixe bereits innerhalb dieses Bereichs definiert. Der Sinn von DHCP ist meiner Auffassung nach nicht solch eine wie von Dir angestrebte Blockorganisation zu ermöglichen sondern lediglich "irgendwie" Adressen zu vergeben, damit die Geräte einfach am Netzwerk teilhaben können. Da die Adressblöckeorganisation für die Geräte keine Bedeutung hat (die Server funktionieren mit jeder gültigen Adresse gleich gut), hat es für DHCP auch keine Bedeutung und wird daher vom Standard auch nicht gut reflektiert/ermöglicht.

Ich habe auch keine guten Erfahrungen mit AVM gemacht gehabt. Wollten sich Bekannte eine neue Fritzbox anschaffen, habe ich Ihnen stets zu einer Alternative geraten, die oft weniger als die Hälfte gekostet hat und glaube ich bei allen noch bis heute sauber funktioniert. Mit PowerLAN stehe ich zusätzlich auf dem Kriegsfuß und bin der Meinung dass das rechtlich untersagt gehört, aber das ist eine ganz andere Motivation. Hat schon was zu bedeute, dass man den Zustand ob der Stecker drin ist oder nicht noch zwei Häuser weiter einwandfrei mit einem 5 Euro Weltempfänger hören kann...

:+1: