Pimp my LAN: Eigenen DNS und DHCP

Achtung! Dieser Artikel ist älter als ein Jahr. Der Inhalt ist möglicherweise nicht mehr aktuell!

Dieses Tutorial ist alt uns sollte nicht mehr verwendet werden.

Von meinem ISP habe ich eine FritzBox bekommen. Ich kann mich noch an eine Zeit erinnern, in der man auf „Expertenansicht“ umgestellt hat und wesentlich mehr Einstellen konnte als jetzt. Mittlerweile ist die Box ein reiner dummer Kasten, der von außen über TR-69 provisioniert wird und auch (hoffentlich) vom Provider aktuell gehalten wird.

Wie auch immer: Für Menschen, die spezielle Bedürfnisse an ihr Heimnetzwerk haben ist die Box aber etwas unhandlich. Ausschlaggebend für einen „Wechsel“ der Softwaregrundlage war, dass ich meinen Homeserver ohne CD-Laufwerk und ohne USB-Stick zur Hand aufsetzen wollte. Das geht sehr schön übers Netzwerk – aber nur wenn der DHCP stimmt und die richtigen Informationen mitschickt.

Deshalb musste eine andere Softwaregrundlage her: DNS und DHCP. Und wo hostet man sowas? Am besten auf einem Gerät, dass permanent Läuft. In meinem Fall ist es das Raspberry Pi, das per USB an der FritzBox hängt und so Strom bekommt. Das Pi übernimmt noch andere Services im LAN, das ist jedoch ein anderes Thema.

DHCP Server

Planung und Adressverteilung

Aus gründen der Einfachheit habe ich mich entschieden statische IP-Adressen zu geben, damit der DHCP später nicht den DNS Server updaten muss.

Als erstes habe ich mir eine Liste mit allen Netzwerkgeräten und deren MAC-Adressen gemacht:

<td style="text-align: center;">
  <strong>MAC-Adresse</strong>
</td>
<td>
  5C:0A:5B:62:D0:E6
</td>
<td>
  50:46:5D:1A:3C:37
</td>
<td>
  D4:3D:7E:BC:58:FF
</td>
<td>
  9C:C7:A6:AB:C8:87
</td>
<td>
  B8:27:EB:4D:12:3C
</td>
<td>
  74:D4:35:51:A1:56
</td>
<td>
  2C:D4:44:B4:C5:09 (Kabel)60:67:20:70:B7:C0 (WLAN)
</td>
<td>
  CC:2D:8C:34:68:71
</td>

8 Geräte und 9 MAC-Adressen sind es insgesamt. 9 IP-Adressen müssen also statisch vergeben werden.

Folgender Adressplan ist also entstanden:

Adressbereich: 192.168.0.0/24

Subnetzmaske: 255.255.255.0

Domain-Name: veloc1ty.lan

Die FritzBox soll die erste mögliche Adresse erhalten, das Pi die zweite. Im praktischen Anwendungsfall ist es aber egal.

<td style="text-align: center;">
  <strong>MAC-Adresse</strong>
</td>

<td style="text-align: center;">
  <strong>IP-Adresse</strong>
</td>
<td>
  9C:C7:A6:AB:C8:87
</td>

<td>
  192.168.0.1
</td>
<td>
  B8:27:EB:4D:12:3C
</td>

<td>
  192.168.0.2
</td>
<td>
  74:D4:35:51:A1:56
</td>

<td>
  192.168.0.3
</td>
<td>
  D4:3D:7E:BC:58:FF
</td>

<td>
  192.168.0.4
</td>
<td>
  2C:D4:44:B4:C5:09
</td>

<td>
  192.168.0.5
</td>
<td>
  CC:2D:8C:34:68:71
</td>

<td>
  192.168.0.6
</td>
<td>
  5C:0A:5B:62:D0:E6
</td>

<td>
  192.168.0.7
</td>
<td>
  50:46:5D:1A:3C:37
</td>

<td>
  192.168.0.8
</td>
<td>
  60:67:20:70:B7:C0
</td>

<td>
  192.168.0.9
</td>

Für eventuelle zukünftigen Geräte definiere ich einfach mal, dass dynamische Adressen erst ab 192.168.0.15 vergeben werden.

Konfiguration des Raspberry Pi

Ich schalte mich also auf das Raspberry Pi per SSH auf. Das Betriebssystem ist ein normales Raspbian. Bis jetzt ist der DHCP der FritzBox noch aktiv.

Für den DHCP installiere ich mit apt isc-dhcp-server.

Nachdem dieser installiert ist wird er auch sofort wieder gestoppt, da ja noch der von der FritzBox aktiv ist. Zudem ist der neue ja noch total unkonfiguriert.

Die Konfigurationsdatei für den Server ist unter /etc/dhcp/dhcpd.conf zu finden.

Nach dem öffnen mit seinem Lieblingseditor löscht man zuerst alle Zeilen heraus.

In der ersten Zeile fügt man

ein.  Danach geht es auch schon los mit dem ersten (und einzigen) Subnetzdeklaration. Nach dieser Deklaration kommt ein globaler Bereich mit Informationen. Am Ende stehen dann die einzelnen Hosts, die statisch konfiguriert werden sollen.

Die gesamte Konfiguration sieht dann so aus:

Am besten kopiert man sich diese Config in einen Texteditor.

Damit wäre die Konfiguration des DHCP auch schon durch und man könnte es scharf schalten. Ich würde aber noch auf den DNS warten.

DNS Server

Planung

Die Domain der FritzBox fritz.box ist ja sehr nett. Aber irgendwie gefällt mir die TLD box nicht. Ich will was individuelles. Also wollte ich eine .lan-Adresse. Da es diese Adressen nicht im Internet gibt ist das aber kein Hindernis im LAN das auflösen zu lassen. Theoretisch könnte man auch .hinterdupfing auflösen lassen. Dazu braucht man einen DNS.

Dieser soll pc.veloc1ty.lan zu 192.168.0.3 auflösen. Gleichzeitig (weil es so schön ist) soll aber 192.168.0.3 auf pc.veloc1ty.lan zurückverweisen. Das Prinzip ist Forward- und Reverse-DNS und die Konfiguration ist hier etwas schwieriger.

Die IP-Adressen und die Hostnamen sind ja bereits bekannt.

Paketinstallation

Der DNS Server ist im Paket bind9 enthalten. Wichtig ist die 9 am Ende, da man ansonsten den veralteten Server installiert.

Basis-DNS

Der DNS ist in Zonen unterteilt. Die DENIC in Deutschland hat zum Beispiel eine Zone für .de eingerichtet. Es gibt (noch) keine Zone für .lan. Diese richte ich nun ein.

Dazu erstelle ich eine Datei unter /etc/bind/ mit dem Namen db.veloc1ty.lan .

Kommentare werden mit ; angefangen. Die Syntax hier ist extrem pingelig!!! Den Kopf gebe ich einfach mal vor.

pi ist in diesem Fall der Hostname des Raspberry Pi. Dieses wird unten noch deklariert. Der gelb markierte Punkt hat mich einmal 2 Stunden Zeit und viele Nerven gekostet! Mit diesem steht und fällt sozusagen alles :-D

Der Serial-Wert wird durch gebildet. Es kann aber auch nur eine fortlaufende Nummer sein. Wird eine Änderung des Serials festgestellt sollten sich die Slave-DNS-Server automatisch updaten. In meinem LAN gibt es nur einen DNS. Somit ist er nicht so wichtig. Alle anderen Werte kann man getrost so übernehmen.

Nun definiert man die einzelnen Einträge. In meinem LAN existieren bis jetzt nur A-Records. Meine Zeilen sehen dann so aus:

Speichern und ab zum nächsten: Die Rückwärtsauflösung.

Rückwärtsauflösung

Dazu legt man wieder eine Datei in /etc/bind/ an. Die Namenskonvention ist die db.<IP-Rückwärts ohne letzte Stelle>.

In meinem Fall ist das also db.0.168.192 .

Der Kopf ist fast wieder der selbe wie oben.

Die Zeilen entsprechen dann aber nicht mehr den Hostnamen, sondern der vergebenen IP-Adresse.

Unvergesslich ist der . am Ende jedes Eintrages!

Abschluss

Nun da alles konfiguriert ist schaltet man den DNS und DHCP Dienst der FritzBox ab.

Sobald man das getan hat restartet man DNS und DHCP mit folgenden Befehlen:

Danach mal alle Netzwerkkomponenten neu verbinden und schon hat man die zwei Grundlagen des Netzwerkes komplett auf seiner Seite und beliebig erweiterbar.


Du hast einen Kommentar, einen Wunsch oder eine Verbesserung? Schreib mir doch eine E-Mail! Die Infos dazu stehen hier.

🖇️ = Link zu anderer Webseite
🔐 = Webseite nutzt HTTPS (verschlüsselter Transportweg)
Zurück