dhclient send-hostname nur linker Teil fuer DHCP-Server

Alle weiteren Dienste, die nicht in die drei oberen Foren gehören.
Antworten
Benutzeravatar
pangu
Beiträge: 1400
Registriert: 15.11.2011 20:50:52
Lizenz eigener Beiträge: GNU General Public License
Wohnort: /proc/1

dhclient send-hostname nur linker Teil fuer DHCP-Server

Beitrag von pangu » 21.05.2012 00:11:59

Hallo Leute,

ich richte derzeit einen BIND9 mit DDNS Unterstuetzung an und dabei ist mir nun folgendes aufgefallen. Wenn ein Linux Client ebenfalls durch dessen DHCP-Client seinen Hostnamen updaten will, dann muss ich zwingend in der /etc/dhcp/dhclient.conf eine Zeile mit

Code: Alles auswählen

send host-name "hostnamedesclient";
zusaetzlich angeben, da der dhclient sonst keine Angaben an den DHCP-Server und dieser nichts per DDNS eintraegt. Nun, wenn ich nur "hostnamedesclient" angebe, dann sendet der dhclient diesen Namen an der DHCP-Server und der traegt den Host immer in die Zone "dhcp.meine-firma.de" ein. Das klappt auch wunderbar, sowohl fuer forward als auch reversezone. Mein Problem ist nur:

wuerde ich in der dhclient.conf angeben "hostnamedesclient.irgend.ebbes" dann wird der DDNS-Eintrag auch angelegt, und zwar lautet er dann eben

hostnamedesclient.irgend.ebbes.dhcp.meine-firma.de

Das will ich aber nicht. Ich wuerde am liebsten meinen DHCP-Server dazu veranlassen, dass er nur den linken Teil des gesendeten Namens uebernimmt und verwendet. Manual von dhcpd erklaer mir:
The DHCP server determines the client's hostname by first looking for a ddns-hostname configuration option, and using that if it is
present. If no such option is present, the server looks for a valid hostname in the FQDN option sent by the client. If one is found,
it is used; otherwise, if the client sent a host-name option, that is used. Otherwise, if there is a host declaration that applies to
the client, the name from that declaration will be used. If none of these applies, the server will not have a hostname for the client,
and will not be able to do a DNS update.
Dann finde ich noch den Absatz hier, der eigentlich genau das beschreibt:
If the server is configured not to allow client updates, or if the client doesn't want to do its own update, the server will simply
choose a name for the client from either the fqdn option (if present) or the hostname option (if present). It will use its own domain
name for the client, just as in the ad-hoc update scheme. It will then update both the A and PTR record, using the name that it chose
for the client. If the client sends a fully-qualified domain name in the fqdn option, the server uses only the leftmost part of the
domain name - in the example above, "jschmoe" instead of "jschmoe.radish.org".
Normalerweise sollte doch also nur der linke Teil (sprich der Hostname, kein FQDN) uebernommen werden. Tuts aber nicht :( Kann ich das irgendwie festlegen im DHCP-Server ? Ich hab sowohl "ignore client-updates", "allow client-updates" und auch "deny client-updates" probiert. Hat nichts gebracht. Der Client traegt sich via DDNS immer mit dem kompletten FQDN aus send-hostname in meinem BIND9 ein.

Wer weiss da mehr und kann helfen?

==> EDIT: Es funktioniert wie in der Anleitung beschreiben, wenn man in der dhclient.conf die Zeile
send fqdn.fqdn "illegal.erlaubt.irgendwas" verwendet. Dann wird tatsaechlich nur der linke Teil, also in diesem Beispiel "illegal" genommen und in meine Zone korrekt eingetragen. Der Eintrag sieht dann also aus "illegal.dhcp.meine-firma.de". Somit funktioniert das. Schade, dass es nicht auch bei "send host-name ..." greift.
Man gibt Geld aus, das man nicht hat, um damit Dinge zu kaufen, die man nicht braucht, um damit Leute zu beeindrucken, die man nicht mag.

Benutzeravatar
Natureshadow
Beiträge: 2157
Registriert: 11.08.2007 22:45:28
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Radevormwald
Kontaktdaten:

Re: dhclient send-hostname nur linker Teil fuer DHCP-Server

Beitrag von Natureshadow » 21.05.2012 08:45:14

pangu hat geschrieben:Schade, dass es nicht auch bei "send host-name ..." greift.
Nein, nicht schade. Ein Hostname ist ein Hostname, ein FQDN ist ein FQDN. Punkt. Das ist so, muss so sein (oder willst du den Usern aufzwingen, niemals Namen mit Subdomain übergeben zu können?) und steht da explizit in der von dir zitierten Man-Page.

Benutzeravatar
pangu
Beiträge: 1400
Registriert: 15.11.2011 20:50:52
Lizenz eigener Beiträge: GNU General Public License
Wohnort: /proc/1

Re: dhclient send-hostname nur linker Teil fuer DHCP-Server

Beitrag von pangu » 21.05.2012 10:24:31

ja aber wenn du mal den default Eintrag in der dhclient.conf betrachtest, dann wirst du feststellen dass da "#send host-name "andare.fugue.com";" drinsteht. Und das sorgt für Verwirrung, denn das IST ein FQDN.
Man gibt Geld aus, das man nicht hat, um damit Dinge zu kaufen, die man nicht braucht, um damit Leute zu beeindrucken, die man nicht mag.

Benutzeravatar
Natureshadow
Beiträge: 2157
Registriert: 11.08.2007 22:45:28
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Radevormwald
Kontaktdaten:

Re: dhclient send-hostname nur linker Teil fuer DHCP-Server

Beitrag von Natureshadow » 21.05.2012 12:11:06

pangu hat geschrieben:ja aber wenn du mal den default Eintrag in der dhclient.conf betrachtest, dann wirst du feststellen dass da "#send host-name "andare.fugue.com";" drinsteht. Und das sorgt für Verwirrung, denn das IST ein FQDN.
Nein, ist es nicht. "andare.fugue.com." ist ein FQDN!

Das Beispiel mag verwirrend sein, aber ich finde das eigentlich ganz gut so, damit Admins Dokumentation aufmerksam lesen und ein bisschen sensibler für Details werden - wie den abschließenden Punkt am Ende eines FQDN!

Antworten