Servidores de nombres personalizados, / etc / resolver / y registros SRV

4

Quiero usar un servidor DNS en mi máquina para resolver las búsquedas de todos los nombres que terminan en .dev .

He creado /etc/resolver/dev para hacer esto y he comprobado que funciona para los registros A:

› dscacheutil -q host -a name blah.blah.dev
name: blah.blah.dev
ip_address: 127.0.0.1

Hasta ahora, hasta la salsa.

Sin embargo, lo que realmente debo hacer es usar el servidor DNS local para resolver las consultas de SRV.

Cuando apunto a Ruby directamente al servidor DNS local, puede resolver las consultas OK:

>> Resolv::DNS.new(
    nameserver: '127.0.0.1',
    search: 'dev',
    ndots: 1
).getresources(
    '_http._tcp.demo-service-foo.dev',
    Resolv::DNS::Resource::IN::SRV
)
=> [#<Resolv::DNS::Resource::IN::SRV:0x007faa192fc720 @priority=0, @weight=0, @port=5200, @target=#<Resolv::DNS::Name: 127.0.0.1.>, @ttl=0>]

Sin embargo, cuando uso los valores predeterminados de OS X, el nombre no se resuelve:

>> Resolv::DNS.new.getresources(
    '_http._tcp.demo-service-foo.dev',
    Resolv::DNS::Resource::IN::SRV
)
=> []

Al usar tcpdump, puedo ver que en la situación anterior, la resolución ocurre (¡y tiene éxito!) en la interfaz de bucle invertido:

› sudo tcpdump -i lo0 -s 0 -B 524288 -w ~/Desktop/DumpFile-with-nameserver.pcap
› tcpdump -s 0 -r DumpFile-with-nameserver.pcap
reading from file DumpFile-with-nameserver.pcap, link-type NULL (BSD loopback)
14:11:18.532418 IP localhost.mphlpdmc > localhost.domain: 10530+ SRV? _http._tcp.demo-service-foo.dev. (55)
14:11:18.532575 IP localhost.domain > localhost.mphlpdmc: 10530* 1/0/0 SRV 127.0.0.1.:5200 0 0 (84)

En la última situación (sin especificar manualmente el servidor de nombres), la consulta de resolución sale a través de la red y falla como esperabas:

› sudo tcpdump -i en0 -s 0 -B 524288 -w ~/Desktop/DumpFile-default.pcap
› tcpdump -s 0 -r DumpFile-default.pcap
reading from file DumpFile-default.pcap, link-type EN10MB (Ethernet)
14:09:35.567565 IP 192.168.3.21.netview-aix-6 > o2.mobilewifi.domain: 21300+ SRV? _http._tcp.demo-service-foo.dev. (55)
14:09:35.643653 IP o2.mobilewifi.domain > 192.168.3.21.netview-aix-6: 21300 NXDomain 0/1/0 (130)

Entonces, a mí me parece que el sistema /etc/resolver/* se usa para consultas de tipo A, pero no para SRV?

No puedo encontrar la confirmación de esto en ninguna documentación, sin embargo ...

¿Hay alguna manera para que pueda usar /etc/resolver para las búsquedas de SRV?

    
pregunta James Brady 17.12.2015 - 15:26

0 respuestas

Lea otras preguntas en las etiquetas