¿Configurar un nombre de host web local que se pueda resolver?

¿Configurar un nombre de host web local que se pueda resolver?

Tengo una situación como esta:

raspi3-netw-02

La Raspberry Pi 3 está configurada como un punto de acceso WiFi (segúnhttps://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á conectado por cable o de forma inalámbrica, de modo que cuando ingrese la dirección web http://myrpien cualquier navegador (Firefox, Chrome) en En cualquier PC local (Windows, Ubuntu), obtendría la página web en el puerto 80 de la 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:

Así que 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-daemonen el RPi y reinicié.

Luego intento desde la línea de comando en la PC con Ubuntu (conectada al RPi como 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>
...

Entonces, esto se ve bien hasta ahora, PERO si ingreso http://myrpi.local/como dirección web en Firefox o Chromium en una PC con Ubuntu, aparece "Servidor no encontrado".

Esto puede tener algo que ver con el estado de Avahi en Ubuntu:

[SOLUCIONADO] No puedo acceder a servidores en el dominio .local en la LAN corporativa

Estos no funcionan en Ubuntu. Esto se debe a que Ubuntu instala, de forma predeterminada, el sistema mDNS AVAHI Zeroconf, lo configura para que sea "dueño" del dominio .local y lo prioriza por delante del DNS normal en el orden de resolución del nombre de host.

Entonces pensé, realmente no me importa haberlo .localagregado al nombre de dominio; simplemente pensé que así es como se supone que deben hacerse las cosas. Entonces intenté llamar al nombre de host directamente desde la PC con 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 wgetfunciona (y claramente, tampoco lo hacen los navegadores Firefox o Chromium), aunque está claro por qué - aquí myrpiresuelto a 127.0.1.1, que es lo que está escrito textualmente en RPi /etc/hosts- pero una vez en el portátil Ubuntu, la misma dirección significa " esta computadora portátil", ya que es de bucle invertido, y como no tengo ningún servidor web ejecutándose en la computadora portátil Ubuntu, todo el proceso falla.

Ahora, aquí está lo curioso: en esta configuración, la PC con Windows (creo que Windows 7) myrpi.localse resuelve 192.168.0.51y la página web http://myrpi.local/funciona bien tanto en Firefox como en Chrome en Windows.

Como medida final, intenté cambiar /etc/nsswitch.confen el RPi:

# hosts:          files mdns4_minimal [NOTFOUND=return] dns mdns4 # original
hosts:          files dns mdns4 mdns4_minimal

... y reiniciando; sin embargo, los navegadores de Ubuntu aún no pueden acceder a http://myrpi/o http://myrpi.local/. Mi /etc/resolv.confen el RPi aún no ha cambiado.

Entonces, ¿cómo puedo darle un nombre ( .localo 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 del navegador que se esté ejecutando? en esa computadora?

información relacionada