Magia DHCP e mDNS - Quero respostas automáticas de $ hostname.mydomain no meu servidor DNS

1

Eu já vi as maravilhas da descoberta de serviços baseada em mDNS, mas não tive muito tempo para analisar mais sobre isso. Eu também havia referências a isso nos arquivos de configuração do DHCP ou algo assim.

Como posso usar o mDNS para que as zonas se auto-preencham?

  • Ou fazendo com que o DHCPd faça algo

  • Ou cada máquina anunciada em si

Eu quero consultas ao servidor DNS local (apenas para uso interno) para poder responder a perguntas. Como faço isso?

    
por niXar 03.06.2009 / 11:40

1 resposta

2

A descoberta de serviço DNS é apenas uma convenção para encontrar serviços procurando primeiro um registro PTR, por exemplo:

$ dig +short ptr _http._tcp.dns-sd.org
;; Truncated, retrying in TCP mode.
2*2Zeroconf._http._tcp.dns-sd.org.
2*2Multicast2DNS._http._tcp.dns-sd.org.
2*2DNS2Service2Discovery._http._tcp.dns-sd.org.
<< snipped >>

Em seguida, um registro SRV, por exemplo:

$ dig +short srv \ *\ Multicast\ DNS._http._tcp.dns-sd.org
0 0 80 multicastdns.org.

E finalmente um registro TXT para qualquer coisa não encapsulada pelo registro SRV:

$ dig +short txt \ *\ Multicast\ DNS._http._tcp.dns-sd.org
"path=/"

O resultado final do item acima seria uma entrada intitulada "* Multicast DNS" que vincularia ao link . Você pode perguntar como um cliente ciente de DNS-SD saberia como procurar esses registros em dns-sd.org? Bem, ele teria que ser explicitamente informado (configurado manualmente) ou teria que examinar os domínios de pesquisa de sistemas que poderiam ser configurados via DHCP.

Os daemons DHCP podem manter registros para as concessões que concedem, seja intimamente acoplado a um daemon de DNS (por exemplo: dnsmasq) ou enviando solicitações de atualização para um servidor DNS. Geralmente, o mais tardar é feito usando as solicitações de atualização de DNS do TSIG, mas o método varia de acordo com os servidores DNS / DHCP usados - isso é bastante comum com o ISC BIND + DHCP e com a pilha Microsoft que usa um método similar.

O Multicast DNS remove muitos dos inconvenientes envolvidos na configuração de um ambiente como o acima, tornando os clientes responsáveis por anunciar seus registros. Não é sem suas peculiaridades - embora tenha DNS em seu nome, DNS (unicast) e mDNS não interopeçam, eles existem em paralelo, o que leva a conflitos em ambientes que usam o namespace ".local" (padrão para pilhas mDNS). ) com o seu DNS unicast local. Você também pode acabar com nomes de host inesperados - se, por exemplo, dois clientes disputarem o mesmo nome de host, um deles perderá e tentará novamente com um número anexado (esse comportamento pode ser alterado). Dito isto, em um ambiente pequeno, isso provavelmente não se tornará um problema.

A configuração do mDNS é uma questão de instalar o Bonjour no Windows ou no Avahi em sistemas semelhantes ao UNIX. OS X tem Bonjour fora da caixa. Uma vez instalado, você deve ser capaz de acessar outra máquina através do seu nome de host com o ".local" anexado. Embora seja possível alterar o namespace padrão ".local", é um pouco trabalhoso.

    
por 04.06.2009 / 04:19