19.4 DHCP
DHCP ist ein Protokoll, mit dem die Netzwerkkonfiguration eines Rechners (des DHCP-Clients) automatisch durch einen DHCP-Server festgelegt werden kann. Dies funktioniert für die IP-Adresse, das Gateway, den DNS-Server, WinS und so weiter. Für uns ist allerdings nur der IP-Anteil von Interesse. Obwohl man das noch nicht sonderlich betonen muss, beschränken wir uns noch auf IPv4, das aktuell verwendete IP-Protokoll.
Eines der bemerkenswerten Features von DHCP ist, dass es dem Client eine IP-Adresse zuweisen kann. Diese Adresse kann so konfiguriert werden, dass ein Client immer die gleiche Adresse bekommt. In großen Netzen kann das aber unpraktikabel sein; es geht auch schief, wenn es wenige Adressen, aber viele Clients gibt, von denen immer nur ein Teil läuft. Daher kann DHCP vorgegebene Bereiche von Adressen verwalten und dem Client eine freie Adresse aus einem dieser Bereiche zuweisen. Der Client hat dann bei jedem Start eine andere IP-Adresse, doch ist das meist ohne Bedeutung. Die meisten von Ihnen werden dieses Feature von Ihrem Internetzugang her kennen, wo Sie auch bei jeder Einwahl eine andere IP-Adresse erhalten.
Gültigkeitsdauer
Ein weiteres Feature von DHCP ist, dass die vergebene IP-Adresse eine Gültigkeitsdauer hat. Diese kann bei wenigen Stunden liegen, in manchen Netzen auch bei einem Jahr, um möglichst immer dieselbe Adresse an einen Client zu vergeben. Beim Booten holt sich der Client immer eine Adresse vom Server. Ist der Client noch in Betrieb, wenn die Gültigkeit abläuft (so etwas soll besonders bei Linux-Clients vorkommen), dann versucht der Client automatisch, sie zu verlängern. Der Benutzer merkt davon nichts.
WINS: Der Windows Internet Naming Service oder Windows Internet Name Service, kurz WINS, ist eine Umsetzung des Netzwerkprotokolls NetBIOS over TCP/IP durch Microsoft. Anders als der Name vermuten lässt, wird WINS nicht im Internet, sondern in lokalen Netzwerken verwendet.
Wie DNS dient WINS der zentralen Namensauflösung. Wenn ein Gerät ans Netz geht, registriert es seinen Namen und seine IP-Adresse automatisch beim WINS-Server. Ändert sich die IP-Adresse oder der Name des Geräts, ist deshalb kein manueller Eingriff nötig.
Gateway: Ein Gateway (englisch gateway, deutsch auch Protokollumsetzer) erlaubt es Netzwerken, die auf völlig unterschiedlichen Protokollen basieren, miteinander zu kommunizieren.
Das Standardpaket unter Linux ist dhpd. Einfacher geht die Einrichtung des NameserverDienstes aber mit dem Paket dnsmasq, das im Universe-Repository zu finden ist. Sie installieren dnsmasq über:
sudo apt-get install dnsmasq
Das Programmpaket enthält unter anderem einen Nameserver-Forwarder, so dass sämtliche lokale Rechner auch mit dem richtigen Nameserver versorgt werden. dnsmasq leitet Anfragen nach externen Adressen an den Nameserver weiter, der in der Datei /etc/resolv.conf definiert wurde. Sie unterscheiden im Folgenden zwei verschiedene Konfigurationsszenarien.
19.4.1 Konfiguration als einfacher DNS-Server
dnsmasq greift zur lokalen Namensauflösung auf /etc/hosts zurück. Darin sind die im Netzwerk befindlichen Rechner einzutragen:
# Auszug aus /etc/hosts auf dem Server
192.168.0.1 server.heimnetz.de server # Server
192.168.0.2 desktop.heimnetz.de desktop # Desktop-PC
192.168.0.3 laptop.heimnetz.de laptop # Laptop
Soll dnsmasq nur als DNS arbeiten, ist die Konfiguration auf dem Server damit beendet. Auf der Clientseite müssen Sie in der Datei /etc/resolv.conf den Server als DNS eintragen:
# Auszug aus /etc/resolv.conf auf dem Client
search heimnetz.de
nameserver 192.168.0.1
Dadurch wird dann insbesondere auch der DNS-Eintrag des Providers weitergereicht, der sich auf dem Server befindet. Ein DNS-Server ist nicht unbedingt erforderlich, um ein privates Netz zu betreiben. Bei kleinen Netzen mit zwei bis fünf Rechnern (oder auch mehr) ist es meist einfacher, die Namen bei allen Rechnern in /etc/hosts einzutragen. Dies erfordert zwar bei Namens- oder Adressänderungen Anpassungen auf allen Rechnern, doch das lässt sich gegebenenfalls automatisieren.
In Abschnitt 19.5, »Domain Name System (DNS) Server«, werden Sie sich näher mit der Installation eines freien DNS-Servers beschäftigen.
19.4.2 Konfiguration als DHCP-Server
Spätestens dann, wenn die Anzahl der Rechner im lokalen Netz zweistellig wird, fahren Sie mit einem DHCP-Server besser. Dieser verteilt dynamische IP-Adressen an die im Netz befindlichen PCs, ungefähr so, wie das bei der Einwahl zu Ihrem Internetprovider auch geschieht. Die Konfiguration ist ein wenig aufwendiger. Zunächst bearbeiten Sie die Datei /etc/dnsmasq.conf:
# Auszug aus /etc/dnsmasq.conf
# Bereich, aus dem dnsmasq die IP-Adressen verteilt
dhcp-range=192.168.0.41,192.168.0.50,12h
# 12h ist die Lease-Time
MAC-Adressen nutzen
Wenn Sie möchten, dass einzelne Clients immer die gleiche IP-Adresse bekommen, so lässt sich das über folgenden Eintrag mit Hilfe der MAC-Hardwareadressen realisieren:
dhcp-host=00:0E:A6:86:03:CF,
laptop,192.168.0.3,infinite
In diesem Fall wird die Hardwareadresse der Netzwerkhardware fest mit der obigen IP-Adresse verknüpft. Die Hardwareadresse fragen Sie durch den Befehl ifconfig auf dem entsprechenden Rechner ab:
user$ ifconfig
eth0 Hardware Adresse 00:0E:A6:86:03:CF
Wer im Besitz eines Laptops ist, der wechselweise per Ethernet-Kabel oder WLAN mit dem Netz zu verbinden ist, kann folgende Einstellung vornehmen:
dhcp-host=00:00:F0:71:EE:74,link,infinite
dhcp-host=00:0E:35:22:9D:1B,link,infinite
So werden demselben physikalischen Gerät in Abhängigkeit von dem genutzten Device unterschiedliche Adressen zugeteilt. Der DHCP-Server kann seinen Clients weitere Informationen übermitteln, beispielsweise die Adresse eines weiteren Rechners, der als InternetGateway agiert:
# Syntax: Optionsnummer, Adresse
dhcp-option=3,192.168.1.1
Mehr zu der Zuordnung der Optionsnummern entnehmen Sie den Kommentaren in der Datei /etc/dnsmasq.conf.
Zeitserver
Für eine korrekte Funktionsweise ist die Angabe der genauen Zeit sehr wichtig. Aus diesem Grund sollte ein zuverlässiger Zeitserver angegeben werden. Ein Zeitserver zum Abgleich der lokalen Zeit wird schließlich folgendermaßen eingetragen:
dhcp-option=42,192.53.103.103
# Timeserver ptbtime1.ptb.de
In diesem Fall wurde der Stratum1-Server der Physikalisch-Technischen Bundesanstalt Braunschweig zum Zeitabgleich definiert. Apropos Zeitserver: In der »normalen« Ubuntu-Installation wird automatisch der Abgleich der lokalen Zeit mit dem Ubuntu-Zeitserver ntp.ubuntu.com eingestellt. Dieser Server wird in der Datei /etc/default/ntpdate definiert. Hier ist es sicherlich ratsam, einen lokalen Server wie zum Beispiel den oben angegebenen zu definieren.
Nach der Änderung des Zeitservers kann dieser über
sudo /etc/init.d/ntpdate restart
getestet werden.
Ihr Kommentar
Wie hat Ihnen das <openbook> gefallen? Wir freuen uns immer über Ihre freundlichen und kritischen Rückmeldungen.