Come inoltrare le query DNS locali a una macchina virtuale quando macOS è in modalità offline?

0

Per un progetto devo intercettare / reindirizzare le query DNS su una VM, che a sua volta esegue dnsmasq . Questa VM è ospitata da xhyve e quando è connessa alla rete, l'installazione funziona bene; Ho un file in /etc/resolver.conf/test.io che ha:

nameserver 192.168.64.20
search_order 1

Il fare dig node.test.io @192.168.64.20 o dig node.test.io fornisce i risultati attesi.

Ma quando si va offline, c'è un problema. Sembra che quando macOS non è connesso a una rete, consente solo alle voci /etc/resolver.conf/* di funzionare quando usano 127.0.0.1 .

Ho provato a configurare un port forwarding, come:

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

e modifica /etc/resolver.conf/test.io in:

nameserver 127.0.0.1
search_order 1

Tuttavia, il dominio test.io non può essere trovato quando provo a fare un nslookup o dig node.test.io @localhost . La VM è ancora raggiungibile poiché dig node.test.io @192.168.64.20 viene ancora risolto.

scutil --dns fornisce quanto segue:

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 non sembra gestire bene il resolver, quindi ho anche provato a usare curl / wget e il browser per vedere se le query sono state risolte correttamente. Inoltre, nessuna differenza con dns-sd . Tutti falliti ...

    
posta bmike 19.04.2018 - 08:57
fonte

1 risposta

1

In modalità disconnessa non esiste alcuna query DNS ... Abbiamo risolto questo problema aggiungendo un dispositivo TUN / TAP al nodo macOS e "fingendo" con questo che è connesso.

    
risposta data 12.06.2018 - 07:40
fonte

Leggi altre domande sui tag