Debian dhclient und domainname von einem DHCP-Server

Submitted by Stefan Sedelmaier on Fri, 02/19/2016 - 16:38

Ein DHCP-Server mit einem dynamischen DNS-Server ist eine hervorragende Möglichkeit die gesamte Netzwerkkonfiguration und Administration an einer zentralen Stelle zu administrieren. Der DHCP-Client sendet seine Hostnamen und dafür bekommt er vom DHCP-Server alles notwendige um sich im lokalen Netz zurecht finden zu können, aber auch keine, eine oder mehrere Routen in die weite Welt.
Die verschiedenen Varianten und dazugehörige HowTos findet man zuhauf im Internet, als besonders wertvoll soll hier nur das Debian Wiki und das Debian Administrator Handuch erwähnt werden, hier wird auf die Stolpersteine auf der Client-Seite in Form eines Debian-Hosts beschrieben. Voraussetzung hierfür ist ein funktionierender DHCP-Server mit einem dynamischen DNS-Server.

In Debian wird bekannterweise in /etc/hostname der Hostname des System ohne Domainname hinterlegt. Also für den Host "tux" soll "tux stehen.

root@tux:~# cat /etc/hostname 
tux

die Ausgabe von hostname liefert in diesem Fall den hostname

root@tux:~# hostname
tux

Der Domainname wird bei Installation festgelegt und wird in /etc/hosts verewigt

root@tux:~# cat /etc/hosts
127.0.0.1	localhost
127.0.1.1	tux.sedelnet.loc	tux

# The following lines are desirable for IPv6 capable hosts
::1     localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

lt. /etc/nsswitch.conf

root@tux:~# grep hosts /etc/nsswitch.conf 
hosts:          files dns

soll zuerst in "files" also /etc/hosts und dann in "dns" nach dem Domainnamen gesucht werden.
hostname -f liefert somit

root@tux:~# hostname -f
tux.sedelnet.loc

Soweit so gut, bei einer zentralen Netzwerkkonfiguration sollte aber der Domainname doch vom DHCP-Server geliefert und verwendet werden, dies ist durch den Eintrag von "tux.sedelnet.loc" aber leider redundant in /etc/hosts gesetzt. Nachdem die Zeile 127.0.1.1 tux.sedelnet.loc tux entfernt worden ist, wird der DNS Eintrag gesucht und hostname -f liefert somit

root@tux:~# hostname -f
tux.sedelmaier.at

jetzt ist der Domainname wirklich zentral vom DHCP-Server verwaltet.

Achtung! Wenn das Packet libnss-myhostname installiert ist, (GNOME genauer gnome-control-center benötig das Packet) wird /etc/nsswitch.conf verändert.

root@tux:~# grep hosts /etc/nsswitch.conf 
hosts:          files myhostname dns

In diesem Fall wird wieder auf /etc/hosts zurückgegriffen, eine Änderung von /etc/nsswitch.conf auf

root@tux:~# grep hosts /etc/nsswitch.conf 
hosts:          files dns myhostname 

liefert dann wieder den Domainname vom DNS.

Thema 

Debian, dhcp

Add new comment