Wieso sollte mich das interessieren?

Ich habe einem Freund vor ein paar Monaten einen lokalen DHCP- & DNS-Server aufgesetzt und wir haben bemerkt, dass das Surfen im Internet wesentlich schneller wurde. Dabei hat sich nicht die Übertragungsgeschwindigkeit geändert, sondern sie wird nun einfach optimaler ausgenutzt. Es bringt auch noch ein paar andere Vorteile, wenn man sich selbst um DHCP und DNS kümmert:

  • Optimale Ausnutzung der Internet-Bandbreite beim surfen.
  • Jedes Gerät hat seine eigenen Namen & IP-Adresse
  • Das lokale Netz lässt sich einfacher administrieren
  • Ein lokaler Server kann man noch für viele andere interessante Sachen verwenden wie:
    • VPN
    • DLNA
    • Netzlaufwerke

Aber natürlich erkauft man sich das auch mit ein paar Nachteilen:

  • Ein Server der immer laufen muss (Ich habe hier einen kleinen passiv gekühlten PC mit SSD, den man nicht hört).
    UPDATE: Heute würde ich einen Raspberry Pi empfehlen.

Was sollte man mitbringen bevor man das selbst versucht?

  • Ich weiss wie man Debian installiert
  • Neue Pakete installiert habe ich schon mal
  • Ich kann mit einem Editor unter Linux umgehen

Wer sich noch nicht mit Debian auskennt kann sich hier informieren. Am besten einfach mal auf einem virtuellen PC (VMWare, Virtual PC) ausprobieren. Der Server sollte danach aber schon eine eigene Maschine sein...

WICHTIG: Mein Webhoster lässt aus Sicherheitsgründen keine direkten Referenzen zu Dateien des Servers zu (welcher anscheinend auch ein DNS-Server installiert hat. Darum werde ich alle direkten Pfade mit /_ beginnen. Bitte nach Cut & Paste einfach das _ entfernen!

Der Haftungsausschluss gilt natürlich auch für diesen Artikel.

Sein eigenes Netzwerk designen

In dem neuen Netzwerk sollte eine gewisse Ordnung herrschen, darum habe ich mich entschieden "mein" Netzwerk (192.168.1.x) in Bereiche zu unterteilen:

  • Infrastruktur (Router, Server, Drucker, AccessPoints, usw.): 1-31 (Router ist konfiguriert mit der Entziffer 1 => Startpunkt des Designs)
  • Clients (PC, Laptop, Netbook, Tablet, Smartphone, usw..): 32-63
  • DHCP (Gäste, temporäre Geräte usw.): 128-159

Natürlich steht es jedem frei sein Netzwerk zu strukturieren oder nicht.

Hier ein Beispiel:

IP-AdresseGerät
192.168.1.1 Router
192.168.1.2 Server
192.168.1.3 Drucker
192.168.1.4 AccessPoint 1
192.168.1.5 AccessPoint 2
192.168.1.6 Überwachungskamera 1
192.168.1.7 Überwachungskamera 2
192.168.1.8 Überwachungskamera 3
192.168.1.9 Überwachungskamera 4
192.168.1.32 Desktop
192.168.1.33 Laptop
192.168.1.34 Netbook
192.168.1.35 Tablet
192.168.1.36 Smartphone
192.168.1.37 TV
192.168.1.128-159 DHCP für Gäste und temporäre Geräte

Pakete installieren

Die folgenden Pakete installieren:

Entweder über eines der vielen Paketverwaltungs-Programme oder in einem Terminal (als root) folgenden Befehl eingeben (ohne "): "apt-get install bind9" bzw. "apt-get install isc-dhcp-server".

DNS konfigurieren

Wir gehen hier mal von der einfachsten Konfiguration aus. Das heisst, der DNS-Server speichert Anfragen lokal, keine lokalen Gerätebezeichnungen (Siehe Artikel DNS für lokale Gerätenamen). Öffnet die Datei /_etc/bind/named.conf.options mit dem Editor eurer Wahl als root und fügt innerhalb von options {}; folgende Zeile ein (ohne "") "allow-recursion { 192.168.1.0/24; };". Speichern, den DNS-Server neu starten (/_etc/init.d/bind9 restart) , damit die geänderte Konfiguration eingelesen wird, FERTIG

DHCP konfigurieren

Öffnet die Datei /_etc/dhcp/dhcpd.conf mit dem Editor eurer Wahl als root.

Generelle EInstellung

option domain-name-servers 192.168.1.2, 8.8.8.8;
option routers 192.168.1.1;
authoritative;
default-lease-time 86400;
max-lease-time 86400;

Bitte ersetzt die IP-Adressen 192.168.1.1 (router) und 192.168.1.2 (server) mit Euren Adressen (falls sie abweichen). Ihr könnt auch anstelle des Google-DNS-Server (8.8.8.8) welche ich als alternativen DNS-Server gewählt habe, einen DNS-Servers Eures Internet-Providers verwenden. Die Lease-Time (Verleihdauer einer IP-Adresse) habe ich auf einen Tag (86400 Sekunden) erhöht.

Dynamischer IP-Bereich für Gäste

subnet 192.168.1.0 netmask 255.255.255.0 {
    range 192.168.1.128 192.168.1.159;
}

 Wenn Ihr einen anderen Bereich bevorzugt, dann bitte hier entsprechend ändern.

Fixe IP-Adresse

host desktop {
    hardware ethernet 80:ee:73:28:49:a7;
    fixed-address 192.168.1.32;
}

Für alle Geräte mit fixer Adresse jeweils den entsprechenden Eintrag kopieren und anpassen.

Den DHCP-Server neu starten (/_etc/init.d/isc-dhcp-server restart) , damit die geänderte Konfiguration eingelesen wird, FERTIG

DNS Installation testen

Bevor wir nun alles umstellen auf unsere neue Installation sollten wir sie testen. MIt dem Befehl "nslookup kuem.in 192.168.1.2" (verwendet eure Server IP-Adresse anstelle von 192.168.1.2) sollte nun als Antwort die IP-Adresse unseres Webservers erscheinen- Ist Dies nicht der Fall bitte nochmals die Konfiguration des DNS-Server kontrollieren und prüfen ob er läuft (ps aux | grep named).

Server konfigurieren

Nach erfolgreichem Test können wir nun unseren eigenen DNS-Service lokal auf dem Server verwenden. Öffnet die Datei /_etc/resolv.conf als root und fügt als erster nameserver-Eintrag nun Eure Server IP-Adresse ein und speichern. Auch hier ein kurzer Test ob alles korrekt ist mit dem Befehl "nslookup kuem.in". Ihr solltet dasselbe Resultat wie beim ersten Test bekommen.

Router konfigurieren

Da nun der Server den DHCP-Service übernommen hat, solltet Ihr diesen Dienst auf dem Router noch ausschalten. Dazu am besten die Router-Dokumentation durchlesen.

Ich hoffe es hat alles funktioniert. Anregungen bitte via Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein!.