Der Wahn im LAN: DHCP
Fast jeder, der ein Büronetz zu betreuen hat, kennt DHCP. Im Folgenden werde ich einige Vor- und Nachteile erläutern:
Üblicherweise genannte Vorteile:
- Maschine anstecken, geht!
- das klappt bei jedem, wenig Konfigurationsaufwand
- jeder hat eine IP, nichts wird doppelt vergeben
Nachteile:
- Man kann auch zu doof für DHCP sein! Es gibt Leute, die ihren Laptop alle paar Wochen mitbringen, den hochfahren, bevor sie das LAN-Kabel reinstecken und sich anschließend jedes Mal wundern, dass die Domänenanmeldung nicht funktioniert…
- Oftmals geben sich Mitarbeiter “mal eben kurz” eine andere IP Adresse, weil irgendwas im Netzwerk nicht klappt (meist PEBCAK Fehler), einige scheinen das für ein Allheilmittel zu halten. Besonders beliebt sind durch 10 teilbare Adressen und 23, 42, 69, 111, 123 und 222, die der gedächtnisschwache Admin an irgendwelche unwichtige Geräte wie z.B. Printserver, Router, Managebare Switche vergeben hat. Leider darf man auch nicht jedem Adminrechte entziehen.
- Der 2. DHCP Server, den irgendwer im Netzwerk versteckt hat und der IPs vergibt, die in einem andere Netz sind! Besonders bei chaotischer Verkabelung macht das lustige Suchen sehr viel Spass, vor allem wenn es sich bei dem Gerät um eins handelt, dass SOHO-Switch-größe hat, keinerlei Beschriftung, von einem Mitarbeiter mitgebraucht und unterm Tisch versteckt wurde, um ab und zu mal einen Laptop dran anschließen zu können.
- Die IPs wechseln, wenn die Lease-Zeit zu kurz ist; beim Kopieren von Daten zu jemand anderem, muss man immer die IP erfragen. Man will nicht immer den Umweg über eine Server-Freigabe machen (ich sage nur: Datenbankdumps…). Ewig lange lease-Zeiten (10 Jahre, als “Hack” damit jeder immer die selbe IP bekommt) bewirken, dass irgendwann keine IPs mehr vergebbar sind. Beides endet darin, dass sich jeder selbst eine IP einstellt, was vor allem dann ziemlich blöde ist, wenn er sich eine IP in der DHCP-Range gibt; dann bekommen auch diejenige, die nichts geändert haben Probleme. (2 Leute kommen ins Büro: “Duuu, ich habe hier so einen IP-Adresskonflikt, dabei habe ich garnichts gemacht!)
Wenn schon DHCP, dann mit festen IPs, die PCs werden anhand der MAC zu einer IP geordnet. Oftmals hört man, die Umstellung wäre viel zu aufwendig und andere Ausreden, vor allem von Windows-Admins. Ich will hier nun kurz das Gegenteil beweisen.
Scannen des Netzwerkes nach lebenden PCs (ja, mal sollte vorher schon alle anschalten):
nmap -sP -P0 -PR -T5 192.168.0.0/24 -oX mynet.xml
Dann noch etwas rumschnippeln (ich weiß, quick and dirty aber für einmalige Anwendung muss es eben nicht 100% perfekt sein):
grep up -A1 mynet.xml | grep addrtype=\"ipv4\" | awk -F\" '{print $2}' | while read IP
do
MAC=`grep -F ${IP}\" mynet.xml -A1 | grep addrtype=\"mac\" | awk -F\" '{print $2}'`
if [ "$MAC" != "" ]
then
printf "${IP} ${MAC}n"
#template $IP $MAC >> /etc/dhcp/dhcpd.conf
MAC=
fi
done
Der Output sieht dann z.B. so aus:
192.168.0.1 00:59:FC:C2:B1:ED 192.168.0.2 00:5f:DA:43:5B:20 192.168.0.3 00:41:8C:38:71:84 192.168.0.4 00:12:49:10:59:40
Wer schlau ist, übergibt das ganze gleich an eine Funktion, indem der Aufruf für die template-Funktion einkommentiert und folgendes Codestückchen an den Anfang des Bash-Scripts gepackt wird:
template()
{
cat <<EOF
host pc-$2
{
hardware ethernet $2;
option subnet-mask 255.255.225.0;
fixed-address $1;
option broadcast-address 192.168.0.255;
option routers 192.168.0.1;
option domain-name-servers 192.168.0.2;
option domain-name "fun.de";
}
EOF
}
So bekommt man eine schöne Liste für den ISC DHCP und das Ganze geht – da ich euch den Code einfach in die Hand drücke – in etwa 10 Minuten, wenn man nach der Ausführung noch kontrolliert, ob alles wirklich ok ist.
Übrigens sollte man im LAN generell noch ein Tool wie z.B. arpcheck einsetzen, um IP-klauende oder private Geräte anschließende Mitarbeiter sowie ARP-Spoofing entdecken zu können



22. Juli 2007 um 15:37
Ich weiss ja nicht wie dein Betrieb aussieht, aber ich habe das Gefühl das mal dringend entsprechende administrative Massnahmen getroffen werden müssen um zu verhindern das jeder Depp am LAN was umgestellt.
Erster Schritt zu solcher Massnahme wäre die Einführung von 802.1x in allen produktiven Netzen. Damit hast du eine sichere Authentifizierung der einzelnen Geräte – Rogue DHCP-Server sind kein Problem mehr, da du dann entweder weisst wer dem Gerät ein Zertifikat gegeben hat, oder es garnicht funktioniert.
Domainanmeldung tut auch mit Laptop problemlos – man muss einfach einen kurzen Moment warten nachdem man das Kabel eingesteckt hat, und sich dann einloggen. Bei richtiger Konfiguration gibts eh nur ein Standardprofil, sodass man auf den Ärger mit Roaming Profiles verzichten kann.
Die fixen IP-Adressen per DHCP machen IMHO nur in wenigen Fällen Sinn, wie z.B. Printer und ähnlichen Appliances – Arbeitsplatzrechner müssen eh nie direkt miteinander reden.
23. Juli 2007 um 01:24
Hahaha. Und wer bezahlt den Spass, die 802.1x-Geräte einzuführen? Und wer bringt dem Chef bei, dass die Konfiguration aller PCs alleine einen Tag dauert?
Außerdem entgeht einem dann der BOFH-Spass, jemanden zusammenstauchen zu können, lol
Wegen des Laptops: Nein, ging nicht. Frag’ nicht warum, ist eben Windows drauf. Und mehrere Profile müssen da sein, Wunsch der Geschäftsführung.
Hast wohl den Beitrag nicht ganz richtig gelesen? Arbeitsplatzrechner müssen in manchen Szenarien sehr wohl mal miteinander reden.
23. Juli 2007 um 06:56
[...] Der Wahn im LAN: DHCP | adminlife.net :: [...]
24. Juli 2007 um 00:42
Leider hat Wordpress den Beitrag etwas zerschrebbelt und Matze hat bisher nicht editiert, ich habe dazu keine Rechte. Die Zeilen mit awk müssen hinter die jeweils vorherige > ist durch ein Größer-Zeichen zu ersetzen (>) und < durch ein Kleiner-Zeichen (
24. Juli 2007 um 00:43
VERDAMMTES WORDPRESS MACHT WAS ES WILL!
31. Juli 2007 um 10:47
Hallo Stefan!
Das ist doch mal ein nettes Script. Bekomme bei mir nur die Fehlermeldung:
“Fehler beim Laden des Stylesheets”
In dieser Richtung kenne ich mich mal gar nicht aus- fehlen da vielleicht noch bestimmte Pakete auf einem nackten System Etch mit Apache und PHP5?
thx
31. Juli 2007 um 16:11
Äh womit willst du das denn Laden?! Das ist ein Bash-Script.
31. Juli 2007 um 18:25
Naja, dachte die .xml Datei wäre dann aufrufbar im Browser? Denke ich da mal wieder falsch bzw. in einer falschen Richtung?
01. August 2007 um 21:12
Viel falscher kann man garnicht mehr liegen, lies den Beitrag nochmal, sorry…
02. August 2007 um 10:41
@stefan
Nun bleib mal freundlich
Mich hat allerdings auch gewundert, dass du die Ausgabe in eine XML Datei und nicht in eine einfache Text Datei schreibst?
02. August 2007 um 16:09
Naja, habe halt wirklich so gedacht… mal kurz ins www kopiert und anschauen.
Sorry für die Frage.
Gruß
02. August 2007 um 22:05
@Matthias: Sorry, aber was soll ich dazu sagen?! Im ganzen Text habe ich keinmal das Wort webserver, www oder browser erwähnt, nur weil man irgendwo .xml liest, hat das ja nicht gleich was mit einem Browser zu tun; zur Info: http://de.wikipedia.org/wiki/XML
Ist nicht böse gemeint, aber irgendwie hat der michél doch ziemlich vorbeigelesen, oder nicht?
Ich schreibe das in eine XML weil es so leichter war, nach der IP und MAC zu greppen, war halt ein Quick ‘n’ Dirty hack