Zusätzlich zu Yamakajas Antwort , so richten Sie einen lokalen DNS-Server ein.
Zunächst benötigen Sie einen Computer, auf dem Sie den DNS-Server ausführen möchten. Dies kann einer Ihrer normalen Computer sein (wenn sie Linux ausführen und die meiste Zeit aktiv sind) oder zum Beispiel ein Himbeer-Pi . Die Vorteile eines solchen Geräts sind, dass es billig ist, nicht viel Strom benötigt und klein ist.
Einrichten des DNS-Servers
Ich habe beschlossen, den DNS-Server auf einem Raspberry Pi mit einzurichten dnsmasq
Dies ist ein kleines DNS-Server-Tool, das sich ideal für den Einsatz in kleinen Netzwerken eignet. Sie könnten auch verwenden bind
, das De-facto-Standard-DNS-Tool, ist für ein kleines Heimnetzwerk wahrscheinlich etwas zu mächtig.
Installieren dnsmasq
Unter Verwendung des Paketmanagers auf Debian-basierten Systemen (z. B. Raspbian) wäre der Befehl
sudo apt-get install dnsmasq
Ich gehe jetzt davon aus, dass Sie bereits eine statische IP-Adresszuweisung eingerichtet haben (d. H. Die in Ihrer Frage genannten IP-Adressen ändern sich nicht). Wenn Sie nicht haben, dnsmasq
kann auch als DHCP-Server verwendet werden, aber ich habe das noch nicht getan.
dnsmasq
ruft die Hostnamen von der /etc/hosts
. Bearbeiten Sie diese Datei wie folgt:
# IP address Host name
192.168.1.1 router
192.168.1.22 printer
Der Hostname router
ist nun zugeordnet zu 192.168.1.1
, printer
zu 192.168.1.22
.
Jetzt haben Sie Ihren eigenen DNS-Server eingerichtet, aber die Computer in Ihrem Netzwerk verwenden ihn noch nicht. Damit sie diesen Server verwenden können, müssen Sie einen Vorbereitungsschritt ausführen:
Ermitteln Sie die IP-Adresse Ihres dnsmasq-Geräts mit ip address
(Nehmen wir an, es ist 192.168.1.42
). Öffne das /etc/dnsmasq.conf
und füge die folgenden Zeilen hinzu:
listen-address=127.0.0.1
listen-address=192.168.1.42
Das sagt dnsmasq
Es sollte Anfragen abhören, wenn sie an eine der beiden Adressen gerichtet sind 127.0.0.1
(d. h. wenn er selbst seinen DNS-Server verwenden möchte) oder 192.168.1.42
(d. h., wenn andere Computer ihren DNS-Server verwenden möchten).
Verwenden des DNS-Servers
Sie müssen jedem Computer in Ihrem Netzwerk mitteilen, dass er (auch) verwenden soll 192.168.1.42
als DNS-Server.
Wie Sie dies tun, hängt von Ihrem Betriebssystem ab.
Sie können dies einfach im Internet für Ihr angegebenes Betriebssystem nachschlagen (suchen Sie einfach nach "DNS-Server unter & lt; Betriebssystem & gt; ändern" oder ähnlichem).
Für Windows 7 können Sie diesem Tutorial folgen: https://www.opennicproject.org/configure-your-dns/how-to-change-dns-servers-in-windows-7/ .
Auf meinem System (Arch Linux) musste ich die folgende Zeile anhängen /etc/resolvconf.conf
name_servers=192.168.1.42
Beachten Sie, dass die zu verwendende Datei von Ihrer Netzwerkmanagerkonfiguration abhängt.
Fügen Sie die DNS-Server-IP auf jedem Computer hinzu, auf dem Sie Ihren DNS verwenden möchten.
Sie müssen die Geräte wahrscheinlich neu starten, wenn dies nicht sofort funktioniert.
Das war's, du bist fertig. Sie können jetzt auf alle Geräte zugreifen, die Sie eingegeben haben /etc/hosts
des DNSMASQ-Servers einfach mit dem Hostnamen, den Sie ihm gegeben haben.
(Optional) Überprüfen der Funktionalität
Wenn Sie überprüfen möchten, ob die DNS-Auflösung ordnungsgemäß funktioniert, installieren Sie dnsutils
(Linux) auf dem System, das Ihren Server verwenden soll. Dann ausführen
$ dig router
Dies sollte so etwas zurückgeben
; <<>> DiG 9.10.4-P1 <<>> router
;; global options: +cmd
;; Got answer:
...
;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;router. IN A
;; ANSWER SECTION:
router. 0 IN A 192.168.1.1
;; Query time: 14 msec
;; SERVER: 192.168.1.42#53(192.168.1.42)
;; WHEN: So Jun 26 10:43:18 CEST 2016
;; MSG SIZE rcvd: 50
Es zeigt Ihnen den Hostnamen, den Sie auflösen möchten, die IP-Adresse, in die es aufgelöst wurde, und den verwendeten DNS-Server. Wie Sie sehen, ist alles in Ordnung.
(Optional) Angeben einer TLD
Wenn Sie auf die Geräte nicht nur mit zugreifen möchten router
oder printer
aber mit router.home
und printer.home
, füge die folgenden Zeilen zu deiner hinzu /etc/dnsmasq.conf
:
expand-hosts # Tells dnsmasq to add a TLD to each host name
domain=home # The TLD
Möglicherweise müssen Sie erneut neu starten.
Quellen / weiterführende Literatur
Über dnsmasq
:
Über bind
(wenn Sie daran interessiert sind):