Tenho um Mac conectado ao meu próprio roteador, que está conectado ao roteador/modem do meu ISP, com as seguintes configurações:
O Mac se conecta ao roteador 192.168.1.1 usando DHCP.
O DNS do Mac está definido como 192.168.1.1
No meu próprio roteador, posso ver vários dispositivos conectados:
nó rpi-4 192.168.1.4
nó rpi-1 192.168.1.5
Posso fazer ssh para 192.168.1.4 por IP, mas se tentar pelo nome do host, ele não será reconhecido:
ssh: Não foi possível resolver o nome do host rpi-node-4: nome do nó nem nome do serviço fornecido ou desconhecido
Como o roteador reconhece os nomes de host e o Mac é instruído a usar 192.168.1.1 (o roteador) como DNS, esperava que o Mac fosse capaz de resolver os nomes de host, mas isso não funciona.
Observe que não quero editar manualmente o /etc/hosts
arquivo no Mac (porque tenho várias máquinas e uso IPs dinâmicos, então não quero ter que atualizar de 3 a 4 arquivos de hosts sempre que os IPs forem realocados ).
Alguém pode me dizer onde eu errei?
Responder1
Seu roteador provavelmente conhece apenas os nomes desses RPi porque esses são os nomes que eles usaram ao fazer solicitações DHCP, e seu roteador é provavelmente o servidor DHCP da sua rede.
Alguns roteadores de gateway doméstico têm a capacidade de inserir nomes de host para cada endereço IP privado da LAN, e o roteador atuará como um DNScontenteservidor em vez de apenas uma retransmissão DNS. Veja se o seu possui esse recurso e configure-o, se tiver.
Se não tiver esse recurso, você pode usar mDNS e DNS-SD (também conhecido como IETF ZeroConf, Apple Bonjour) para estabelecer um .local
domínio para que você possa se conectar aos seus RPi pelo nome. Acredito que o Raspbian não costuma ter uma implementação de mDNS habilitada por padrão, então talvez você precise fazer algo como sudo apt-get install avahi-daemon
obter o Avahi, que é uma implementação popular de mDNS de código aberto.
Responder2
Seu domínio de pesquisa pode ter sido perdido ao definir as configurações de DHCP do roteador. Agora o seu computador Mac não sabe onde procurar nomes de host locais para IPs.
Para corrigir isso:
- Vá para Preferências do Sistema -> Rede
- Selecione seu adaptador de rede ativo na coluna da esquerda
- Clique em Avançado no canto inferior direito
- Selecione a guia DNS na parte superior
- Digite seu domínio de pesquisa em domínios de pesquisa (o meu é attlocal.net porque uso AT&T. Talvez seja necessário fazer uma pesquisa para encontrar o seu)
- Clique em Aplicar. Agora você deve conseguir acessar {hostname}.local