Configurando um nome de host local resolvível?

0

Eu tenho uma situação como esta:

ORaspberryPi3éconfiguradocomoumpontodeacessoWiFi(conforme link ) e um servidor web. Eu gostaria de dar a ele um nome de host, digamos myrpi , que será resolvido na rede local de qualquer cliente - independentemente de estarem conectados com fio ou sem fio -, quando eu inserir o endereço da web http://myrpi em qualquer navegador (Firefox, Chrome) em qualquer PC local (Windows, Ubuntu), eu teria a página servida na porta 80 no Raspberry Pi - sem alterar nada nos computadores cliente da Web (ou seja, o Windows e o Ubuntu PC na imagem, se o RPi é um servidor web)

Eu encontrei primeiro isto:

Então, eu fui junto. Agora eu tenho no RPi:

  • Em /etc/hosts - > %código%
  • Em 127.0.1.1 myrpi - > /etc/hostname

Então eu fiz myrpi no RPi e reiniciei.

Eu, então, tento na linha de comando do Ubuntu PC (conectado ao RPi como um 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>
...

Então, isso parece bom até agora - MAS se eu digitar sudo apt-get install avahi-daemon como um endereço da Web no Firefox ou no Chromium no Ubuntu PC, eu recebo "Servidor não encontrado".

Isso pode ter algo a ver com o estado do Avahi no Ubuntu:

[RESOLVIDO] Não é possível acessar servidores no domínio .local na LAN corporativa

these do not work in Ubuntu. This is because Ubuntu installs, by default, the AVAHI Zeroconf mDNS system, configures it to "own" the .local domain, and prioritizes it ahead of regular DNS in the hostname resolution order.

Então, eu pensei, eu realmente não me importo em ter http://myrpi.local/ anexado ao nome de domínio - eu apenas pensei que é assim que as coisas deveriam ser feitas. Então eu tentei chamar o nome do host diretamente do Ubuntu PC:

$ 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.

Aqui nem mesmo .local funciona (e claramente, nem os navegadores Firefox ou Chromium), embora esteja claro o porquê - aqui wget resolvido para 127.0.1.1, que é o que está escrito em myrpi verbatim do RPi - mas uma vez no laptop Ubuntu, o mesmo endereço significa "este laptop", já que é um loopback, e como não tenho nenhum servidor web rodando no laptop Ubuntu, todo o processo falha.

Agora - aqui está o engraçado: nesta configuração, o Windows PC (eu acho que o Windows 7), /etc/hosts resolve myrpi.local - e a página da web de 192.168.0.51 funciona bem no Firefox e no Chrome Windows?!

Como medida final, tentei alterar http://myrpi.local/ no RPi:

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

... e reiniciando - no entanto, os navegadores no Ubuntu ainda não podem acessar /etc/nsswitch.conf ou http://myrpi/ . Meu http://myrpi.local/ no RPi ainda está inalterado.

Então, como posso dar um nome ( /etc/resolv.conf ou não), resolvível na rede local, ao Raspberry Pi - para que qualquer outro PC na mesma rede local possa recuperar o conteúdo do servidor web do Raspberry Pi, independentemente do sistema operacional e do navegador em execução no PC?

       
por sdbbs 26.01.2017 / 15:13

0 respostas