Fai mDNSResponder usare il server DNS locale?

3

Voglio usare dnsmasq quando il mio Mac (Sierra) non è connesso a una rete wifi.

La configurazione dei server DNS nella finestra di dialogo Preferenze di rete avanzate funziona bene per dig e nslookup , e posso vedere tramite tcpdump che questi strumenti hanno colpito il server dnsmasq locale.

Non funziona per ping , curl e binari di Golang come la CLI di Cloud Foundry. Questi non sono in grado di risolvere host e non tentano di comunicare con il server dei nomi locale. Quando uso dtruss per il binario% Gol_de% Golang, posso vederlo aprendo cf . Non sono sicuro di come individuare il tentativo di parlare con i name server.

Se interrompo i servizi /etc/hosts e mDNSResponder , mDNSResponderHelper e ping impiegano più tempo per fallire con curl , ma continuano comunque a fallire e senza cercare di colpire il name server locale.

Qualche idea su come sulla Terra posso ottenere macOS per usare il mio name server locale quando sono offline?

    
posta EngineerBetter_DJ 18.10.2016 - 20:59
fonte

1 risposta

1

Penso che mDNSResponder - con una VM VM Dev VirtualBox in esecuzione, ma senza LAN / WLAN - manchi un gateway predefinito o ottenga quello sbagliato. Se le interfacce non sono collegate o tutte le interfacce sono inattive, non esiste alcun gateway predefinito.

Puoi verificarlo con:

netstat -r -f inet
Routing tables

Internet:
Destination        Gateway            Flags        Refs      Use   Netif Expire
127                localhost          UCS             1        0     lo0
localhost          localhost          UH              5     1380     lo0
192.168.11         link#7             UC              4        0 vboxnet
224.0.0            link#1             UmCS            2        0     lo0
224.0.0.251        link#1             UHmWI           1        0     lo0

Per eludere questo puoi fare quanto segue:

Requisito: una corretta configurazione di dnsmasq come pubblicata in il tuo q & il mio . Potrebbe essere necessario disattivare tutte le interfacce.

Duplica un profilo Località in Preferenze di Sistema > Rete e rinominalo ad es. pcdev con VLAN .

Scegli un'interfaccia (ad esempio Wi-Fi) nel riquadro di sinistra e tocca l'ingranaggio nella parte inferiore del riquadro di sinistra > Gestisci interfacce virtuali. Premi il pulsante ⊞ e aggiungi una "Nuova VLAN ...". Rinominalo in VLAN, scegli 1 come tag e un'interfaccia.

Configura l'interfaccia: manualmente con un IP arbitrario ma non utilizzato, ad es. 10.228.8.226 / Maschera 255.255.0.0/Router 10.228.0.1 e DNS-server 127.0.0.1. Applicare le impostazioni con il pulsante Applica . IP (+ Mask) e Router devono essere nella stessa rete.

Controlla di nuovo la tabella di routing. Per prima cosa assomiglierà a questo:

netstat -r -f inet
Routing tables

Internet:
Destination        Gateway            Flags        Refs      Use   Netif Expire
10.228/16          link#8             UC              2        0   vlan0
127                localhost          UCS             1        0     lo0
localhost          localhost          UH              4     1380     lo0
192.168.11         link#7             UC              2        0 vboxnet
224.0.0            link#1             UmCS            2        0     lo0
224.0.0.251        link#1             UHmWI           1        0     lo0

ma dopo alcuni secondi (fino a 40 secondi nel mio ambiente) dovrebbe essere compilato:

netstat -r -f inet
Routing tables

Internet:
Destination        Gateway            Flags        Refs      Use   Netif Expire
default            10.228.0.1         UGSc            3        0   vlan0
10.228/16          link#8             UCS             2        0   vlan0
10.228.0.1/32      link#8             UCS             2        0   vlan0
10.228.0.1         link#8             UHRLWIir        4        0   vlan0     18
10.228.8.226/32    link#8             UCS             2        0   vlan0
10.228.255.255     ff.ff.ff.ff.ff.ff  UHLWbI          1        3   vlan0
127                localhost          UCS             1        0     lo0
localhost          localhost          UH             26     1494     lo0
192.168.11         link#7             UC              3        0 vboxnet
192.168.11.11      8:0:27:35:78:e2    UHLWIi          2        3 vboxnet   1192
192.168.11.255     ff:ff:ff:ff:ff:ff  UHLWbI          1        3 vboxnet
224.0.0/4          link#8             UmCS            3        0   vlan0
224.0.0.251        1:0:5e:0:0:fb      UHmLWI          1        0   vlan0
239.255.255.250    1:0:5e:7f:ff:fa    UHmLWI          1        3   vlan0
255.255.255.255/32 link#8             UCS             1        0   vlan0

Ora prova di nuovo a ping api.local.pcfdev.io/tcp.local.pcfdev.io/local.pcfdev.io.

Durante i test ho avuto l'impressione che qualche ping IP arbitrario ( ping 192.168.11.11 , ping 127.0.0.1 abbia accelerato la riconfigurazione).

Se sei alla portata di una WLAN riconosciuta, torna al tuo profilo Posizione comune.

Questo è testato (e funzionante) in una VM VMwareFusion Sierra e nella VirtualBox VM ndata pcfdev-ubuntu. In questo ambiente non riesco a simulare realmente una connessione Wi-Fi mancante, perché non è disponibile un'interfaccia Wi-Fi. Invece ho disattivato tutte le interfacce (2 x Ethernet) in Sierra VM.

    
risposta data 19.10.2016 - 13:51
fonte

Leggi altre domande sui tag