Ich arbeite daran, ein Heim-Intranet für mich und meine Mitbewohner einzurichten. Meine Idee ist, dass wir Dinge wie frühere Stromrechnungen an einem Ort aufbewahren können, der leichter zugänglich ist als eine Schublade in der Küche usw. Wie auch immer, Apache 2 läuft auf einem Raspberry Pi, in meinem LAN und wenn ich es benutze Über seine IP-Adresse kann ich auf Seiten zugreifen, die auf dem Pi bereitgestellt werden. Da ich in diesem Projekt mehr über das Networking als über die Bereitstellung eines Dienstes für meine Wohnung erfahre, dachte ich, es wäre cool, wenn mein Netzwerk eine Hostnamenauflösung für mein LAN bereitstellen könnte. Anstatt meinen Browser auf 192.168.1.151
die IP-Adresse des Pi zu verweisen, könnte ich auf ihn oberon
(seinen Hostnamen) verweisen und die vom Pi bereitgestellten Webseiten anzeigen.
Jetzt wusste ich, dass ich nicht die erste Person war, die dies tun wollte, also begann ich mit Googeln. Diese Frage, auch unter Unix und Linux, hat mir sehr geholfen: Wie man einen Computer über das LAN mit seinem Hostnamen zugänglich macht . Zu diesem Zeitpunkt habe ich alles in der verifizierten Antwort versucht. Ich dachte darüber nach, die hosts
Datei zu verwenden, aber das würde bedeuten, dass ich meinen Mitbewohnern sagen müsste, dass sie ihre Maschinen konfigurieren sollen, was ich nicht möchte, dass sie tun müssen. Ich habe versucht, eine DHCP-Lease für den Pi auf meinem Router (einem NETGEAR WNR1000v2 (auch bekannt als N150)) zu reservieren, und während die Reservierung funktionierte, funktioniert die Auflösung des Hostnamens nicht. Diese Art von frustriert mich, weil ich meinem Router die IP des Pi und seinen Hostnamen mitgeteilt habe , diese Informationen jedoch nicht an Clients in meinem LAN weitergibt.
Da diese beiden Methoden nicht funktionieren, habe ich mich für die Installation dnsmasq
auf dem Pi entschieden. Es schien einfach zu konfigurieren und ich würde mich freuen, ein neues Tool zu lernen. Ich habe es installiert und es läuft einwandfrei (es scheint). Ich kann dig
oder nslookup
die Spitznamen des Pi (die ich /etc/hosts
auf oberon
und gesetzt habe homenet
) und bekomme die richtigen Ergebnisse. Ich kann das Gleiche für Internetnamen wie tun yahoo.com
und richtige Antworten erhalten, da ich Google 8.8.8.8
und 8.8.4.4
als Backup-Server in eingerichtet habe /etc/dnsmasq.conf
. Sieh dir das an:
me@oberon~$ dig oberon
; <<>> DiG 9.8.4-rpz2+rl005.12-P1 <<>> oberon
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 10787
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
;; QUESTION SECTION:
;oberon. IN A
;; ANSWER SECTION:
oberon. 0 IN A 192.168.1.151
;; Query time: 10 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Sun Oct 6 18:59:18 2013
;; MSG SIZE rcvd: 40
Beachten Sie, dass das SERVER
is 127.0.0.1
: oberon
seine eigene IP-Adresse für sich selbst sucht. Das habe ich erwartet. Die Ausgabe ist die gleiche, wenn ich es tue dig oberon @localhost
. Aufgrund dieser Ausgabe denke ich, dass dnsmasq
das gut funktioniert. Um es auf die nächste Ebene zu bringen, möchte ich, dass alle Clients in meinem LAN in der Lage sind, oberon
ihren Browser einzugeben und zur oberon
Indexseite weitergeleitet zu werden. Dafür weiß ich, dass ich meinen Router konfigurieren muss (entschuldige mich, wenn dies nicht nur für Unix und Linux gilt).
Ich habe ein Netgear WNR1000v2, mit dem ich ziemlich vertraut bin. Ich habe die Portweiterleitung so konfiguriert, dass ich SSH in den Pi einbinden kann, und ich habe mich auch in anderen Einstellungen umgesehen. Ich weiß, dass ich vor dem Start dieses Projekts meine DNS-Server von meinem ISP erhalten habe, aber jetzt möchte ich diese DNS-Server hauptsächlich verwenden, aber auch 192.168.1.151
als letzte Überprüfung verwenden. Also habe ich die DNS-Konfiguration meines Routers wie folgt geändert:
Mit dieser Konfiguration hatte ich erwartet, dass ich dies nslookup oberon
auf meinem (Windows-) Desktop tun und ein Ergebnis von erhalten kann 192.168.1.151
. Das passiert aber nicht. Folgendes passiert:
C:\Users\me>nslookup oberon
Server: UnKnown
Address: fe80::226:f2ff:fefa:bea
*** UnKnown can't find oberon: Non-existent domain
Das Zurücksetzen oder dnsflushing
der Netzwerkadapter auf meinem Windows-Computer ändert nichts.
Hier ist der Grund, warum ich mir hier draußen die Haare reiße:
C:\Users\me>nslookup oberon 192.168.1.151
Server: oberon.lan
Address: 192.168.1.151
Name: oberon
Address: 192.168.1.151
Klar, dnsmasq
funktioniert gut. Wenn ich meiner Windows-Box sage, dass sie 192.168.1.151
zum Auflösen des Namens verwendet werden soll oberon
, ist alles in Ordnung (die .lan
Domäne war Teil der Konfiguration von dnsmasq
, daher habe ich erwartet, dass sie dort angezeigt wird). Wenn ich nur meinen Router dazu bringen könnte, meinen Windows-Computer 192.168.1.151
anzuweisen, ihn bei DNS-Abfragen zu verwenden, wäre ich gut!
Es scheint mir also, dass das Problem in meinem Router liegt, aber ich kann einfach nicht herausfinden, was ich tun soll, außer die DNS-Server so zu ändern, 192.168.1.151
wie ich es bereits getan habe. Kann mir hier jemand helfen? Ich werde versuchen, weitere gewünschte Informationen bereitzustellen.