DHCP Rechnernamen & IP-Adressen verwalten
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hallo, ich habe folgende Aufgabenstellung vorliegen. Bestimmte Rechner, identifiziert über ihre MAC-ID, sollen einen bestimmten Namen und eine bestimmte IP zugewiesen bekommen. Alle anderen Rechner bekommen eine IP sowie einen vom DHCP-Server zugewiesenen (vermutlich auch erzeugten) Namen. Zusätzlich suche ich die Option DHCP dazu zu bringen nur bekannten MACs eine IP und einen Namen zuzuweisen. das ist aber eine andere Aufgabenstellung. Hat jemand Beispiele bzw. Links so das ich mir die eine oder andere Stunde recherchen ersparen kann? Danke. Ralf -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.2 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iD8DBQFD8On+gRRKXJrQjTsRAm0CAKDI3dNI8QQa4Ab8i5ATL8PCEyH2TgCfUVJd 1czNT1JDsjpSZczGfBATBF0= =jGYc -----END PGP SIGNATURE-----
Tag auch, On 2/13/2006 9:20 PM, Ralf Prengel wrote:
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Hallo,
ich habe folgende Aufgabenstellung vorliegen. Bestimmte Rechner, identifiziert über ihre MAC-ID, sollen einen bestimmten Namen und eine bestimmte IP zugewiesen bekommen. Alle anderen Rechner bekommen eine IP sowie einen vom DHCP-Server zugewiesenen (vermutlich auch erzeugten) Namen. Zusätzlich suche ich die Option DHCP dazu zu bringen nur bekannten MACs eine IP und einen Namen zuzuweisen. das ist aber eine andere Aufgabenstellung.
Nö, nicht wirklich...
Hat jemand Beispiele bzw. Links so das ich mir die eine oder andere Stunde recherchen ersparen kann?
Na ja, mit man dhcpd und man dhcpd.conf geht das eigentlich ganz flott, aber... # cat /etc/dhcpd.conf # Aktuelle Spielkonfiguration, nicht in jedem Fall zuverlässig # getestet, also sorgfältig prüfen! # dhcpd.conf # option definitions common to all supported networks... default-lease-time 3600; max-lease-time 14400; ping-check on; option ntp-servers elf,balrog,ork; ddns-update-style interim; key balrog-dhcpd. { algorithm hmac-md5; secret "ivY9cllAKedpTpymLOXPwg=="; } zone privat.lehleute.de. { primary elf; key balrog-dhcpd.; } zone 0.168.192.in-addr.arpa. { primary elf; key balrog-dhcpd.; } zone 37.168.192.in-addr.arpa. { primary elf; key balrog-dhcpd.; } option domain-name "privat.lehleute.de"; option domain-name-servers elf.privat.lehleute.de; ddns-domainname "privat.lehleute.de"; deny client-updates; ignore declines; get-lease-hostnames off; subnet 192.168.0.0 netmask 255.255.255.0 { option broadcast-address 192.168.0.255; option subnet-mask 255.255.255.0; option routers 192.168.0.2; pool { use-host-decl-names on; range 192.168.0.40 192.168.0.89; deny unknown-clients; # verhindert alle DHCP-Leases für unbekannte Hosts, d.h. # wenn Du das in allen pools oder global setzt gibt es # keine IP für unbekannte Rechner } pool { range 192.168.0.230 192.168.0.254; allow unknown-clients; ddns-hostname = concat("dhcp-", binary-to-ascii(10, 8, "-", suffix(leased-address, 2))); option host-name = concat("dhcp-", binary-to-ascii(10, 8, "-", suffix(leased-address, 2))); # Zeilenumbrüche entfernen! } } # subnet 0 (wired) ends subnet 192.168.37.0 netmask 255.255.255.0 { option broadcast-address 192.168.37.255; option subnet-mask 255.255.255.0; option routers 192.168.37.1; pool { range 192.168.37.5 192.168.37.63; allow unknown-clients; ddns-hostname = concat("dhcp-", binary-to-ascii(10, 8, "-", suffix(leased-address, 2))); option host-name = concat("dhcp-", binary-to-ascii(10, 8, "-", suffix(leased-address, 2))); } pool { use-host-decl-names on; range 192.168.37.3 192.168.37.4; allow known-clients; } } # subnet 37 (wireless / via balrog) ends host drache { option host-name "drache"; option dhcp-client-identifier "\001\000\0165&N\230"; # hier könnte auch die MAC-Adresse referenziert werden # hardware ethernet xx:yy:zz:aa:bb:cc; wäre in solcher # Eintrag # gist Du dann noch eine fixed-address an wird die Adresse # nicht dynamish vergeben sondern bleibt statisch. # Bei Rechnern die in verschiedenen Subnetzen auftauchen # macht das aber keine grosse Freude ;-) # Ich habe das so gelöst wie Du hier siehst: Der Rechner # Drache kriegt eine dynamische Adresse zugeteilt, ist aber # immer unter dem gleichen Namen verfügbar. }
Danke.
Da Du ja grade viel mit dem dhcpd spielst noch drei Tips: Kurze Leasezeiten einstellen, immer schön mit tcpdump+dhcpdump beobachten was passiert, und dhcpcd-test ist auch eine gute Sache. Arno
Ralf -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.2 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
iD8DBQFD8On+gRRKXJrQjTsRAm0CAKDI3dNI8QQa4Ab8i5ATL8PCEyH2TgCfUVJd 1czNT1JDsjpSZczGfBATBF0= =jGYc -----END PGP SIGNATURE-----
-- IT-Service Lehmann al@its-lehmann.de Arno Lehmann http://www.its-lehmann.de
Arno Lehmann schrieb:
Tag auch,
On 2/13/2006 9:20 PM, Ralf Prengel wrote: Hallo,
ich habe folgende Aufgabenstellung vorliegen. Bestimmte Rechner, identifiziert über ihre MAC-ID, sollen einen bestimmten Namen und eine bestimmte IP zugewiesen bekommen. Alle anderen Rechner bekommen eine IP sowie einen vom DHCP-Server zugewiesenen (vermutlich auch erzeugten) Namen. Zusätzlich suche ich die Option DHCP dazu zu bringen nur bekannten MACs eine IP und einen Namen zuzuweisen. das ist aber eine andere Aufgabenstellung.
Nö, nicht wirklich...
Hat jemand Beispiele bzw. Links so das ich mir die eine oder andere Stunde recherchen ersparen kann?
Na ja, mit man dhcpd und man dhcpd.conf geht das eigentlich ganz flott, aber...
Danke für die ausführlichen Infos. Zum Punkt Systemnamen: Wenn ich das alles richtig verstanden habe kann ich mit ddns-hostname generierte Namen zuweisen, sofern ich nicht mittel MAC dem anfragenden System einen definierten Namen zuweise. Das klappt soweit in ersten Tests auch. Mein einziges Problem: Mein Laptop bekommt jetzt auch einen generierten Namen zugewiesen, der aber lokal am System nicht auftaucht da das System einen festen Namen hat. Deaktiviere ich die option ddns-hostname wird das Notebook sauber in die DNS-Dateien eingetragen. Habe ich eine Chance den am Client vergebenen Namen ins DHCP/DNS zu bekommen ohne ihn am Server in der dhcpd.conf eintragen zu müssen? Die Kommnentare in der dhcp.conf des Clients raten ja für X-User davon ab oder werfe ich da was durcheinander? # Should the DHCP client set the hostname? (yes|no) # # When it is likely that this would occur during a running X session, # your DISPLAY variable could be screwed up and you won't be able to open # new windows anymore, then this should be "no". # # If it happens during booting it won't be a problem and you can # safely say "yes" here. For a roaming notebook with X kept running, "no" # makes more sense. # DHCLIENT_SET_HOSTNAME="no" Gruß
Hallo, On 2/14/2006 2:38 PM, Ralf Prengel wrote:
Arno Lehmann schrieb: ... Zum Punkt Systemnamen: Wenn ich das alles richtig verstanden habe kann ich mit ddns-hostname generierte Namen zuweisen, sofern ich nicht mittel MAC dem anfragenden System einen definierten Namen zuweise. Das klappt soweit in ersten Tests auch. Mein einziges Problem: Mein Laptop bekommt jetzt auch einen generierten Namen zugewiesen, der aber lokal am System nicht auftaucht da das System einen festen Namen hat. Deaktiviere ich die option ddns-hostname wird das Notebook sauber in die DNS-Dateien eingetragen. Habe ich eine Chance den am Client vergebenen Namen ins DHCP/DNS zu bekommen ohne ihn am Server in der dhcpd.conf eintragen zu müssen?
Hmm. Hab' ich noch nie probiert bzw. war froh wenn's nicht ging. Das Problem dabei ist dass man - soweit ich weiss - zwar den vom Client gesendeten Hostnamen übernehmen kann und auch ins DNS füttern, aber dass es eben _keine_ sinnvolle authentisierung gibt. Entweder kann also jeder dhcp-Client sich seinen eigenen beliebigen Namen aussuchen oder keiner. Eine Situation die mich nicht besonders reizt... Man könnte durch geschickte update-policies im der Bind-Konfiguration wohl was dran schrauben, aber das hab' ich nie versucht. Schwieriger wird das ganze dann wenn auch noch Windows-Rechner sich selber den DDNS-Eintrag anlegen wollen...
Die Kommnentare in der dhcp.conf des Clients raten ja für X-User davon ab oder werfe ich da was durcheinander?
Ja, stimmt wohl. Mein Workaround ist dass ich immer den Hostnamen lokal vorgebe den der Rechner auch per DHCP kriegen wird :-) Das ganze klappt natürlich nur dann wenn die Zahl der Rechner die eine solche Behandlung erfordern ausreichend klein ist, sonst ist's Murks. Andererseits möchte ich im Fremdnetz mit meinem Notebook auch keinen Zugriff ins X11 anbieten...
# Should the DHCP client set the hostname? (yes|no) # # When it is likely that this would occur during a running X session, # your DISPLAY variable could be screwed up and you won't be able to open # new windows anymore, then this should be "no". # # If it happens during booting it won't be a problem and you can # safely say "yes" here. For a roaming notebook with X kept running, "no" # makes more sense. # DHCLIENT_SET_HOSTNAME="no"
Aber das ist der Punkt - bei ausreichend grossem DHCP-Adresspool wird normalerweise im Betrieb der Hostname und die IP-Adresse nie geändert. Jedenfalls nicht mit den ISC-dhcpds die ich erlebt habe. Scheint also ein Fall zu sein wo man einfach abwägen muss welche Vor- und Nachteile man haben möchte... Arno
Gruß
-- IT-Service Lehmann al@its-lehmann.de Arno Lehmann http://www.its-lehmann.de
participants (3)
-
Arno Lehmann
-
Ralf Prengel
-
Ralf Prengel