Tengo una situación como esta:
El Raspberry Pi 3 está configurado como un punto de acceso WiFi (según https://frillip.com/using-your-raspberry-pi-3-as-a-wifi-access-point-with-hostapd/ ) y un Servidor web. Me gustaría darle un nombre de host, por ejemplo myrpi
, que se pueda resolver en la red local desde cualquier cliente, independientemente de si están conectados por cable o inalámbrico, de modo que cuando ingrese la dirección web http://myrpi
en cualquier navegador (Firefox, Chrome) en cualquier PC local (Windows, Ubuntu), recibiría la página web en el puerto 80 en Raspberry Pi, sin cambiar nada en las computadoras cliente web (es decir, la PC con Windows y Ubuntu en la imagen, si el RPi es un servidor web )
Primero encontré esto:
- 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/
Entonces, lo seguí. Ahora tengo en el RPi:
- En
/etc/hosts
->127.0.1.1 myrpi
- En
/etc/hostname
->myrpi
Luego lo hice sudo apt-get install avahi-daemon
en el RPi y reinicié.
Luego intento desde la línea de comandos en la PC Ubuntu (conectado al RPi como un cliente WiFi):
$ 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>
...
Por lo tanto, esto se ve bien hasta ahora, PERO si ingreso http://myrpi.local/
como dirección web en Firefox o Chromium en Ubuntu PC, entonces aparece "Servidor no encontrado".
Esto puede tener algo que ver con el estado de Avahi en Ubuntu:
[SOLUCIONADO] No se puede acceder a los servidores en el dominio .local en la LAN corporativa
Estos no funcionan en Ubuntu. Esto se debe a que Ubuntu instala, de manera predeterminada, el sistema mDNS AVAHI Zeroconf, lo configura para "poseer" el dominio .local y lo prioriza por delante del DNS normal en el orden de resolución del nombre de host.
- 173804 - [rfe] Agregar soporte para Bonjour (Rendezvous / zeroconfig) al navegador
- https://stackoverflow.com/questions/29637622/resolve-mdns-local-url-in-browser-address-bar
- La versión para PC de Google Chrome no reconoce el nombre de dominio ".local"
Entonces, pensé, realmente no me importa haber .local
agregado el nombre de dominio, solo pensé que así es como se supone que deben hacerse las cosas. Así que intenté llamar al nombre de host directamente desde la PC Ubuntu:
$ 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.
Aquí ni siquiera wget
funciona (y claramente, tampoco lo hacen los navegadores Firefox o Chromium), aunque está claro por qué, aquí myrpi
resolvió 127.0.1.1, que es lo que está escrito literalmente en RPi, /etc/hosts
pero una vez en la computadora portátil Ubuntu, la misma dirección significa " este portátil ", ya que es un bucle invertido, y como no tengo ningún servidor web ejecutándose en el portátil Ubuntu, todo el proceso falla.
Ahora, aquí está lo curioso: en esta configuración, la PC con Windows (creo que Windows 7), se myrpi.local
resuelve 192.168.0.51
, ¿y la página web http://myrpi.local/
funciona bien tanto en Firefox como en Chrome en Windows?
Como medida final, intenté cambiar /etc/nsswitch.conf
el RPi:
# hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4 # original
hosts: files dns mdns4 mdns4_minimal
... y reiniciar, sin embargo, los navegadores en Ubuntu todavía no pueden acceder http://myrpi/
o http://myrpi.local/
. Mi /etc/resolv.conf
en el RPi todavía no ha cambiado.
Entonces, ¿cómo puedo dar un nombre ( .local
o no), resoluble en la red local, a la Raspberry Pi, para que cualquier otra PC en la misma red local pueda recuperar el contenido del servidor web de la Raspberry Pi, independientemente del sistema operativo y el navegador en ejecución en esa PC?
fuente