0 votos

¿Cómo reenviar las consultas de DNS local a una VM cuando MacOS está en modo offline?

Para un proyecto necesito interceptar/redir las consultas DNS a una VM, que a su vez ejecuta dnsmasq . Esta VM está alojada en xhyve y cuando se conecta a la red, la configuración funciona bien; tengo un archivo en /etc/resolver.conf/test.io que tiene:

nameserver 192.168.64.20
search\_order 1

Haciendo dig node.test.io @192.168.64.20 o dig node.test.io dan los resultados esperados.

Pero cuando se desconecta, hay un problema. Parece que cuando MacOS no está conectado a una red, sólo permite /etc/resolver.conf/* entradas para trabajar cuando utilizan 127.0.0.1 .

Intenté configurar un reenvío de puertos, como:

$ echo "                           
rdr pass inet proto udp from any to 127.0.0.1 port 53 -> 192.168.64.20 port 53
" | sudo pfctl -ef -

y cambiar /etc/resolver.conf/test.io a:

nameserver 127.0.0.1
search\_order 1

Sin embargo, el dominio test.io no se encuentra cuando intento hacer un nslookup o dig node.test.io @localhost . La VM sigue siendo accesible como dig node.test.io @192.168.64.20 todavía se resuelve.

scutil --dns da lo siguiente:

resolver #9
  domain   : test.io
  nameserver\[0\] : 127.0.0.1
  flags    : Request A records, Request AAAA records
  reach    : 0x00030002 (Reachable,Local Address,Directly Reachable Address)
  order    : 1

Nota: nslookup no parece manejar bien el resolver, así que también he probado a usar curl/wget y el navegador para ver si las consultas se resolvían correctamente. Además, no hay diferencia con dns-sd . Todos fallaron...

1voto

En modo desconectado no hay ninguna consulta DNS... Lo solucionamos añadiendo un dispositivo TUN/TAP al nodo MacOS y "fingiendo" con esto que está conectado.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X