Se eu estiver usando o Ubuntu ou Linux Mint (os dois únicos sabores que tentei e sei que funcionam com certeza), posso executar algo assim:
wayne@myhost$ ssh [email protected]
E o nome é resolvido automaticamente para qualquer que seja o IP do otherhost na minha rede local.
Decidi começar a ramificar-me para outras distros e tenho o Arch em execução no meu laptop - mas se tentar usar o comando anterior, recebo Could not resolve hostname otherhost.local: Name or service not known
O que é necessário para obter esse tipo de resolução automática de nomes (?)?
networking
arch-linux
hostname
Wayne Werner
fonte
fonte
avahi
e tambémnss-mdns
- para mais detalhes, dê uma olhada no wikiRespostas:
A resposta de Wayne já é bastante antiga. Desde então, o Arch passou a usar systemd em vez de scripts init. A página Avahi do wiki do Arch foi atualizada e contém detalhes sobre por que as etapas abaixo são necessárias. Resumindo: o Avahi é uma ferramenta zeroconf, o que significa que ele próprio não precisa de nenhuma configuração para funcionar uma vez instalado em todas as máquinas da sua LAN, mas você deve configurar o restante do software para solicitar informações à Avahi.
Execute-os como root ou preencha com,
sudo
quando apropriado, em um terminal e substituanano
pelo editor de sua escolha.pacman -S avahi nss-mdns
Instala o daemon de serviços Avahi e o resolvedor de DNS de difusão seletiva.nano /etc/nsswitch.conf
Este arquivo informa à biblioteca C como obter informações sobre o serviço de nomes.hosts: files dns myhostname
parahosts: files mdns_minimal [NOTFOUND=return] dns myhostname
, salve e saia.systemctl start avahi-daemon
Inicia o serviço Avahi manualmente, já que já iniciamos. Procure erros)systemctl enable avahi-daemon
Ativa o serviço Avahi na inicialização.Acabei de executar essas etapas em um laptop Arch e não havia necessidade de reiniciar outros serviços ou a interface wifi para que minhas outras máquinas o descobrissem em alguns segundos e meu laptop descobrisse seus serviços.
Como ainda não posso comentar a resposta do ggg, gostaria de salientar aqui que não há necessidade de fazer isso em um script de inicialização - é para isso que serve o serviço no systemd. Faça isso uma vez e esqueça.
fonte
systemctl enable avahi-daemon --now
. Ele inicia e ativa o serviço imediatamente, em vez de aguardar a próxima inicialização.Graças ao ponteiro do artigo do Arch Wiki sobre Avahi de Ulrich Dangel, foi o que eu fiz:
$ sudo pacman -S avahi nss-mdns
/etc/rc.d/avahi-daemon start
no final derc.local
dhcpcd
,/etc/dhcpcd.conf
comentei anoipv4ll
linha.$ sudo /usr/sbin/avahi-autopid -D wlan0
. Como não gosto de reiniciar, não tenho certeza se a etapa 3 foi necessária./etc/nsswitch.conf
eu defino a linha para lerhosts: files mdns4_minimal dns mdns4
.$ sudo /etc/rc.d/dbus restart
para reiniciar o dbus.Depois disso, basta fazer
ssh [email protected]
apenas funcionou.fonte
Eu não acho que precisamos
avahi-daemon
correr para usar.local
. Aqui está o que eu tenho no meu script de inicialização. Isso é muito mais simples comparado ao método do Arch Wiki.fonte