Zero Configuration Networking

Uma forma simples de encontrar dispositívos na rede local.

Zeroconf

Eu estou sempre criando e carregando dispositivos diversos na minha rede com varias finalidades diferentes.

Por dispositivos diversos quero dizer que eles podem mesmo ser qualquer coisa, pode ser por exemplo um SBC para fazer alguma coisa relacionada a IoT, pode ser uma maquina virtual para testar algum software que não quero testar nos sistemas principais, e pode facilmente ser uma VM descartável que vou subir só para fazer um teste rápido e descartar em seguida.

Dai surge um problema, como saber o IP para acessar qualquer um desses recursos?

Claro que eu podia dar uma olhada no DHCP, ou atribuir IPs fixos, ou fazer uma variedade de coisas mas tudo acaba sendo pouco pratico no fim das contas.

A solução precisa ser algo fácil e rapido de ser usada tanto por mim diretamente como por scripts que precisam localizar os recursos na rede mesmo que o IP tenha mudado.

É ai que entram os protocolos de Zero Configuration Networking.

Zero Configuration Networking ou Zeroconf, é um conjunto de protocolos que faz várias coisas mas resumindo permite que eu e todo software que eu escrevo encontre automaticamente os recursos presentes na rede local pelo nome.

Macs, iPhones e mesmo o Intel Edison e minha recem adquirida impressora de rede já vem prontos para Zeroconf.

Todos os outros dispositivos estão usando Debian no Debian é extremamente simples instalar os protocolos necessários.

apt-get install avahi-daemon

Pronto é só isso :D

A partir daí você já consegue acessar o novo host simplesmente usando o nome com o sufixo .local, por exemplo debian.local.

Também deve funcionar em outras distribuições Linux baseadas no Debian como Ubuntu e tantas outras.

É possível fazer configurações muito mais avançadas, registrar serviços e etc, mas apenas de poder resolver nomes sem precisar se preocupar com praticamente nada já é muito bom.

Cesar Gimenes