Ich habe eine Situation wie diese:
Der Raspberry Pi 3 ist als WLAN-Zugangspunkt (gemäß https://frillip.com/using-your-raspberry-pi-3-as-a-wifi-access-point-with-hostapd/ ) und a eingerichtet Webserver. Ich möchte ihm beispielsweise einen Hostnamen geben myrpi
, der von jedem Client im lokalen Netzwerk auflösbar ist - unabhängig davon, ob sie verkabelt oder kabellos verbunden sind -, so dass ich bei der Eingabe der Webadresse http://myrpi
in einen beliebigen Browser (Firefox, Chrome) ein Auf jedem lokalen PC (Windows, Ubuntu) würde ich die Webseite an Port 80 des Raspberry Pi anzeigen lassen - ohne Änderungen an den Web-Client-Computern vorzunehmen (das sind die Windows- und Ubuntu-PCs auf dem Image, wenn das RPi ein Webserver ist )
Ich habe zuerst folgendes gefunden:
- http://www.howtogeek.com/167190/how-and-why-to-assign-the-local-domain-to-your-raspberry-pi/
- http://www.howtogeek.com/167195/how-to-change-your-raspberry-pi-or-other-linux-devices-hostname/
Also ging ich mit. Jetzt habe ich auf dem RPi:
- In
/etc/hosts
->127.0.1.1 myrpi
- In
/etc/hostname
->myrpi
Dann habe ich sudo apt-get install avahi-daemon
auf dem RPi und neu gestartet.
Ich versuche dann über die Kommandozeile auf dem Ubuntu-PC (verbunden mit dem RPi als WiFi-Client):
$ ping myrpi.local
PING myrpi.local (172.24.1.1) 56(84) bytes of data.
64 bytes from 172.24.1.1: icmp_seq=1 ttl=64 time=1.54 ms
...
$ wget -O- myrpi.local
Resolving myrpi.local (myrpi.local)... 172.24.1.1
Connecting to myrpi.local (myrpi.local)|172.24.1.1|:80... connected.
HTTP request sent, awaiting response... 200 OK
...
<p>This is the default web page for this server.</p>
...
Das sieht also soweit gut aus - ABER wenn ich http://myrpi.local/
als Webadresse entweder Firefox oder Chromium auf einem Ubuntu-PC eingebe, bekomme ich "Server nicht gefunden".
Dies könnte etwas mit dem Zustand von Avahi auf Ubuntu zu tun haben:
[Gelöst] Kann nicht auf Server in der lokalen Domäne im Unternehmens-LAN zugreifen
Diese funktionieren nicht in Ubuntu. Dies liegt daran, dass Ubuntu standardmäßig das mDNS-System von AVAHI Zeroconf installiert, es so konfiguriert, dass es die .local-Domäne "besitzt" und es in der Reihenfolge der Auflösung des Hostnamens vor dem regulären DNS priorisiert.
- 173804 - [rfe] Unterstützung für Bonjour (Rendezvous / zeroconfig) zum Browser hinzufügen
- https://stackoverflow.com/questions/29637622/resolve-mdns-local-url-in-browser-address-bar
- Die PC-Version von Google Chrome erkennt den Domain-Namen ".local" nicht
Also, dachte ich, es ist mir eigentlich egal, .local
ob ich etwas an den Domainnamen angehängt habe - ich dachte nur, so sollen die Dinge gemacht werden. Also habe ich versucht, den Hostnamen direkt vom Ubuntu-PC aufzurufen:
$ ping myrpi
PING myrpi (127.0.1.1) 56(84) bytes of data.
64 bytes from myUbuntuLaptop (127.0.1.1): icmp_seq=1 ttl=64 time=0.022 ms
...
$ wget -O- http://myrpi/
--2017-01-26 13:38:56-- http://myrpi/
Resolving myrpi (myrpi)... 127.0.1.1
Connecting to myrpi (myrpi)|127.0.1.1|:80... failed: Connection refused.
Hier wget
funktioniert es nicht einmal (und myrpi
natürlich auch nicht mit Firefox- oder Chromium-Browsern), obwohl klar ist, warum - hier in 127.0.1.1 aufgelöst, was /etc/hosts
wörtlich in RPi geschrieben wird - auf dem Ubuntu-Laptop einmal dieselbe Adresse bedeutet " "Dieser Laptop" ist ein Loopback-Laptop, und da auf dem Ubuntu-Laptop kein Webserver ausgeführt wird, schlägt der gesamte Vorgang fehl.
Nun - hier ist das Komische: in dieser Konfiguration der Windows - PC (ich glaube , Windows 7), myrpi.local
beschließt, 192.168.0.51
- und die Webseite von http://myrpi.local/
funktioniert in Firefox und Chrome unter Windows ?!
/etc/nsswitch.conf
Abschließend habe ich versucht, das RPi zu ändern:
# hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4 # original
hosts: files dns mdns4 mdns4_minimal
... und neu starten - die Browser auf Ubuntu können jedoch weiterhin nicht auf http://myrpi/
oder zugreifen http://myrpi.local/
. Mein /etc/resolv.conf
auf dem RPi ist noch unverändert.
Wie kann ich .local
dem Raspberry Pi einen Namen geben ( oder nicht), der im lokalen Netzwerk auflösbar ist, damit jeder andere PC im selben lokalen Netzwerk den Webserver-Inhalt vom Raspberry Pi abrufen kann, unabhängig von Betriebssystem und Browser auf diesem PC?
quelle