Pular para o conteúdo

Como acessar máquinas na rede local pelo nome (Hostname) usando Avahi e mDNS

Dica publicada em Linux / Redes
Xerxes xerxeslins
Hits: 636 Categoria: Linux Subcategoria: Redes
  • Indicar
  • Impressora
  • Denunciar

Como acessar máquinas na rede local pelo nome (Hostname) usando Avahi e mDNS

Esta dica mostra como usar o Avahi (mDNS) para resolver nomes de máquinas na sua LAN, permitindo que você acesse seus computadores usando apenas nome-da-maquina.local (ou sem o .local).

O Problema

Em redes domésticas, geralmente não temos um servidor DNS local para traduzir o nome do computador (hostname) para o seu endereço IP. O resultado é que você consegue conectar usando ssh usuario@192.168.1.50, mas falha ao tentar ssh usuario@meu-pc.

Buscando ajuda com a Gemini, vi que a solução para isso é o protocolo mDNS (Multicast DNS), implementado no Linux pelo Avahi.

Passo 1: Garantir que o Avahi está rodando

A maioria das distribuições modernas já traz o avahi-daemon instalado. Certifique-se de que ele está ativo nas duas máquinas que vão se comunicar:

sudo systemctl enable --now avahi-daemon

Passo 2: Instalar o nss-mdns

Mesmo com o Avahi rodando, o sistema operacional pode não saber que deve usá-lo para procurar nomes. Para criar essa ponte, você precisa do plugin nss-mdns.

Instale o pacote na sua distribuição.
  • No Gentoo: sudo emerge -av sys-auth/nss-mdns
  • No Debian/Ubuntu/Mint: sudo apt install libnss-mdns
  • No Arch Linux: sudo pacman -S nss-mdns
  • No Fedora: sudo dnf install nss-mdns

Passo 3: Configurar o nsswitch.conf

Agora precisamos dizer ao sistema para usar o plugin que acabamos de instalar quando for procurar por hosts.

1. Abra o arquivo de configuração de nomes:

sudo nano /etc/nsswitch.conf

2. Procure a linha que começa com hosts:. Ela geralmente se parece com hosts: files dns.

3. Altere essa linha para incluir o mDNS, adicionando mdns4_minimal [NOTFOUND=return] logo após files.

A linha deve ficar exatamente assim (ou bem parecida):

hosts: files mdns4_minimal [NOTFOUND=return] dns

(Nota: O número "4" força a busca via IPv4, o que resolve problemas de lentidão ou falha em redes que não usam IPv6).

Passo 4: Reiniciar o serviço e testar

Reinicie o serviço do Avahi para aplicar todas as mudanças:

sudo systemctl restart avahi-daemon

Pronto! Agora, de um computador para o outro, basta usar o nome da máquina, pode até adicionar o sufixo .local ao nome da máquina. Mas aqui não foi necessário.

Experimente:

ping nome-do-outro-pc.local (ou sem .local)

ssh usuario@nome-do-outro-pc.local (ou sem .local)

[Resolvido] Meu monitor suporta 100fps. Por que o máximo é 60fps nos jogos?

Conflito Java ao instalar LibreOffice no Arch Linux [Resolvido]

tasksel: aptitude failed (100) [Resolvido]

Cursor do mouse gigante no KDE Plasma

Erro ao compilar Comix no Funtoo [Resolvido]

Como acessar, via SSH, uma VM guest em execução no Hyper-V a partir do WSL2

Zoom - Aplicativo de Reunião

Configuração de rede IPv6 estática no Ubuntu

Adicionar IP Secundário no CentOS 7

Escanear a rede com NBTSCAN para descobrir IPs e nomes de computadores

Nenhum comentário foi encontrado.

Contribuir com comentário

Entre na sua conta para comentar.