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-Adresse | Gerä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