it-swarm.com.de

Alias ​​für IPs im LAN-Heimnetzwerk

Ist es möglich, einer IP-Adresse wie 192.168.1.1 einen lesbaren String-Alias ​​zuzuweisen? Vielleicht so etwas:

192.168.1.1 -> router.home

oder

192.168.1.22 -> printer.home

Es ist nicht erforderlich, dass router.home von außerhalb des Webs erreichbar ist, sondern nur im LAN. Tatsächlich sollte es nicht von außerhalb des Webs erreichbar sein.

Ich denke, das Ziel ist es, einen lokalen DNS-Server zu haben, der auf die Adresse router.home reagiert. Irgendeine Idee, wie man einen solchen Alias ​​erstellt?

BEARBEITEN: Die Antwort von Yamakaja funktioniert hervorragend, erfordert jedoch das Ändern der Hosts-Datei auf jedem Computer im LAN. Kann die lokale DNS-Suche stattdessen am Heimrouter durchgeführt werden? Das würde viel Handarbeit übergehen.

23
sanjihan

Zusätzlich zu Yamakajas Antwort richten Sie auf diese Weise 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 in Betrieb sind) oder beispielsweise 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 dnsmasq einzurichten, einem kleinen DNS-Server-Tool, das sich ideal für den Einsatz in kleinen Netzwerken eignet. Sie können auch bind verwenden, das De-facto-Standard-DNS-Tool. Für ein kleines Heimnetzwerk ist dies wahrscheinlich etwas zu mächtig.

Installieren Sie dnsmasq mit dem Paket-Manager auf Debian-basierten Systemen (z. B. Raspbian)

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 nicht, kann dnsmasq auch als DHCP-Server verwendet werden, aber das habe ich noch nicht getan.

dnsmasq ruft die Hostnamen aus dem /etc/hosts ab. Bearbeiten Sie diese Datei wie folgt:

# IP address    Host name
192.168.1.1     router
192.168.1.22    printer

Der Hostname router ist jetzt 192.168.1.1, printer192.168.1.22 zugeordnet.

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 mithilfe von ip address (nehmen wir an, dass es sich um 192.168.1.42 handelt). Öffnen Sie den /etc/dnsmasq.conf und fügen Sie die folgenden Zeilen hinzu:

listen-address=127.0.0.1
listen-address=192.168.1.42

Dies teilt der dnsmasq mit, dass sie Anfragen abhören soll, wenn sie entweder an 127.0.0.1 (d. H. Wenn sie ihren DNS-Server verwenden möchten) oder an 192.168.1.42 (d. H. Wenn andere Computer ihren DNS-Server verwenden möchten) adressiert sind.

Verwenden des DNS-Servers

Sie müssen jedem Computer in Ihrem Netzwerk mitteilen, dass er (auch) 192.168.1.42 als DNS-Server verwenden soll. Wie Sie dies tun, hängt von Ihrem Betriebssystem ab. Sie können dies einfach im Internet nach dem von Ihnen angegebenen Betriebssystem suchen (suchen Sie einfach nach "DNS-Server unter <OS> ä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 an /etc/resolvconf.conf anhängen

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 in /etc/hosts des dnsmasq-Servers eingegeben haben, indem Sie einfach den Hostnamen verwenden, 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, auf die es aufgelöst wurde, und den verwendeten DNS-Server. Wie Sie sehen, ist alles in Ordnung.

(Optional) Angeben einer TLD

Wenn Sie nicht nur mit router oder printer, sondern auch mit router.home und printer.home auf die Geräte zugreifen möchten, fügen Sie Ihrem /etc/dnsmasq.conf die folgenden Zeilen hinzu:

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 (falls Sie daran interessiert sind):

18
TuringTux

Ja, und es gibt zwei (oder mehr?) Optionen:


Bearbeiten Sie Ihre Hosts-Datei (die faule Art)

Abhängig von Ihrem Betriebssystem müssen Sie einen Eintrag zu Ihrer "hosts" -Datei hinzufügen. Sie finden es unter /etc/hosts bei den meisten Unixoids und unter C:\Windows\system32\drivers\etc\hosts unter Windows.

Um Ihren Eintrag hinzuzufügen, gehen Sie zum Ende der Datei und fügen Sie eine Zeile in diesem Format hinzu:

<IP>       <the hostname to assign>

z.B.

192.168.1.1      router

(Beachten Sie, dass das Leerzeichen zwischen der IP-Adresse und dem Hostnamen keine Rolle spielt. Es sieht jedoch besser aus, wenn es mit den anderen Einträgen übereinstimmt. Sie können Tabulatoren oder Leerzeichen verwenden.)

Dann können Sie in einem Browser auf Ihren Router zugreifen, indem Sie einfach auf zugreifen

http://router/

oder

router/

Lokaler DNS-Server

Weitere Informationen finden Sie in TuringTuxs Antwort

9
Yamakaja

Ich möchte die gute Antwort oben aktualisieren:

Möglicherweise möchten Sie in Ihren Router schauen und prüfen, ob er manuelle Unterstützung für DNS-Einträge bietet.

In diesem Fall können Sie einfach Ihre lokale 192.168.1.22-Adresse als printer.home hinzufügen. Ansonsten sind Sie leider nur eingeschränkt mit der Dateibearbeitung lokaler Hosts oder Ihrem eigenen DNS-Server-Setup befasst.

2
Valentin