Schlagwort-Archive: fritzbox

Raspberry als zusätzlicher DNS hinter der Fritzbox

Ziel dieses Beitrages ist es, einen zusätzlichen DNS-Server im Heimnetz zu betreiben. Dieser Server soll Anfragen für eigens konfigurierte Hostnamen beantworten, während der vorhandene DNS-Server (der Router im Heimnetz) weiterhin für alle anderen Anfragen zuständig ist.

Im Folgenden gehe ich von folgender Konfiguration aus:

Jede andere „vernünftige“ Kombination von Router und Linux-Rechner sollte genauso oder so ähnlich funktionieren.

1. Feste IP für den Raspberry Pi

Falls noch nicht geschehen, muss sichergestellt werden, dass der Raspi immer dieselbe IPv4-Adresse zugewiesen wird. In der „Heimnetzübersicht“ der Fritzbox wird dazu in den Details zu „raspberrypi“ ein Häkchen bei „Diesem Netzwerkgerät immer die gleiche IPv4-Adresse zuweisen.“ gesetzt. Im Folgenden gehe ich davon aus, dass immer die IP 192.168.2.49  zugewiesen wird.

2. dnsmasq/resolvconf vorbereiten

Das Programm resolvconf ist bei Debian Jessy standardmäßig installiert. Es ist nur eine Alternative zum direkten Editieren der resolv.conf  Datei. Ich werde nicht näher darauf eingehen.

Das Programm dnsmasq wird als DNS-Server dienen und muss i.d.R. installiert werden:

3. dnsmasq/resolvconf konfigurieren

Die dnsmasq Konfiguration ( /etc/dnsmasq.conf ) muss für unsere Zwecke nicht bearbeitet werden. Um sicherzugehen, dass alles in Ordnung ist, kann man sich den Status anzeigen lassen:

Nun wird eingestellt, welche DNS-Server der Raspi zur Namensauflösung verwenden soll:

Es sollte bereits ein Nameserver konfiguriert sein:

Da weiterhin auch die Fritzbox als DNS-Server dienen soll, wird eine zweite Zeile hinzugefügt ( 192.168.2.1  ist hier die IP der Fritzbox):

Das Ergebnis sollte ungefähr wie folgt aussehen:

Der Ein oder Andere wird jetzt sagen:

Aber die Fritzbox ist doch bereits als Nameserver eingetragen. Schließlich ist der Raspi als DHCP-Client mit der Fritzbox verbunden!?

Stimmt. resolvconf -l  bestätigt das auch. Im letzten Schritt, wird sich das allerdings ändern :)

4. Hostnames konfigurieren

Um ein Beispiel zu verwenden, soll der Raspi im Heimnetz unter dem Namen pi.home erreichbar gemacht werden:

Dazu wird folgende Zeile angefügt:

Nun soll dnsmasq seine Konfiguration neu laden:

Noch ist den restlichen Rechnern im Heimnetz der Name pi.home unbekannt. Das wird im letzten Schritt geändert.

5. DHCP-Einstellungen der Fritzbox ändern

Im letzten Schritt wird die Fritzbox angewiesen, die IP-Adresse des Raspi per DHCP im Heimnetz zu verteilen. So sollen alle Clients im Netz den Raspi als DNS-Server verwenden.

Die Einstellung dazu befindet sich in der „Heimnetzübersicht“, unter „Netzwerkeinstellungen“. Hier geht es weiter unter „IP-Adressen“.

Hier wird der Raspi als „Lokaler DNS-Server“ eingetragen. Das sollte dann ungefähr so aussehen:

fritz-dns

Nun sollte klar sein, warum die Fritzbox in Schritt 3 explizit als DNS-Server eingetragen werden muss. Der Raspi würde ansonsten nur noch sich selbst als DNS-Server verwenden.

DHCP-Lease/DNS-Cache

Zuallerletzt müssen die Client-Rechner dazu bewegt werden, die neuen DNS-Einstellungen zu übernehmen. Am einfachsten werden dazu die jeweiligen Netzwerkverbindungen einmal getrennt und wieder aufgebaut (WLAN deaktivieren/aktivieren).

Wenn ein Client einen von uns konfigurierten Hostnamen immer noch nicht auflösen kann, liegt das wahrscheinlich am lokalen DNS-Cache. Unter OSX El Capitan hilft dann folgende Anweisung:

Zusammenfassung

Der Raspberry Pi agiert nun im Heimnetz als DNS-Server. Für lokale Hostnamen löst der Raspi die IP-Adressen über die /etc/host-Datei auf. Für alle anderen Hostnamen (z.B. „google.de“, aber auch „fritz.box“) wird die Fritzbox als DNS-Server verwendet.