Forza il sistema per utilizzare il file hosts locale prima del DNS (OS X El Capitan)


1

Voglio trovare un modo per forzare il mio sistema a risolvere il file degli host locali sul mio sistema prima che effettui una query DNS. C'è una ragione per questo, ed ecco il mio contesto:

  • Io vivo in Cina. Ho bisogno di una VPN per accedere alla "vera" Internet. Nel mio caso sto usando Astrill .
  • All'interno della mia azienda, il suo DNS locale punta la nostra intranet, wiki e altre risorse online agli IP locali. Quando si è all'esterno dell'azienda, le voci DNS sono ovviamente quelle disponibili su IP esterni per tutti.

Quando sono connesso alla VPN, non voglio che la mia macchina cerchi l'IP pubblico, voglio comunque usare l'IP locale che il DNS locale mi dà, ma tutto il traffico sta attraversando la VPN.

Una soluzione che ho pensato era quella di inserire gli IP locali in una voce DNS nel file hosts.

Poi ho letto su una tecnica * nix che usa un file chiamato nsswitch.conf per dire al sistema di usare sempre prima il file, poi il DNS. Ma OS X non sembra usarlo (il file non esiste in /etc/ Comunque).

Questo sarebbe l'ideale perché potrei sempre provare a utilizzare la risorsa locale ovunque io sia - normale Internet, connessione VPN, o all'interno o all'esterno della mia azienda.

Non riesco a trovare alcuna documentazione per il supporto di OS X di nsswitch.conf o informazioni su se verifica automaticamente gli host prima del DNS.


Penso che tu fraintenda come funzionano la risoluzione DNS e la VPN! Inoltre c'è una differenza se si utilizza VPN (e che tipo di VPN!) Per connettersi dalla propria azienda / casa / né a casa o azienda al reale internet migliorando il GreatFirewall o se si utilizza VPN da casa / fuori dalla propria azienda a l'azienda. Per favore rielaborare la tua domanda.
klanomath

Non sono sicuro di come rielaborare la mia domanda senza ulteriori indicazioni? L'ho chiesto dato i dettagli che conosco. Uso Astrill come servizio. Ha solo un'opzione 'tunnel siti internazionali', che esegue il tunnelling di tutto tranne un elenco disponibile qui: github.com/shadowsocks/ChinaDNS/blob/master/chnroute.txt (che è l'intervallo di indirizzi IP della Cina). Non riesco ancora ad accedere alle risorse locali quando sono connesso ad esso, anche se alcuni IP ESTERNI non sono collegati tramite il VPN.
ortonomy

In parte dipende dall'app VPN che stai utilizzando. Alcuni provider VPN come il mio forniscono un'app che mi consente di eseguire il tunneling di tutto il traffico o solo del traffico in uscita. Allo stesso tempo, posso anche utilizzare Tunnelblick (come app "standard") per utilizzare lo stesso servizio VPN con un comportamento in qualche modo diverso. Il problema della maggior parte dei provider VPN (che vendono i loro servizi nel PR della Cina) è la continua corsa tra l'altezza e lo spessore crescente del GF e dei "tunnel drillers". Ed è sempre più complicato giorno dopo giorno.
klanomath

Fino ad ora non sapevamo nemmeno quale fornitore di servizi hai scelto e non sappiamo ancora se utilizzi Tunnelblick o qualche app personalizzata (come l'app Astrill).
klanomath

"Non sappiamo ancora se utilizzi Tunnelblick o qualche app personalizzata (come l'app Astrill)." - umm, dì cosa? Ho detto che ho usato Astrill. "Penso che tu fraintenda come funzionano la risoluzione DNS e la VPN!" - critiche non utili. Capisco come funziona il DNS. Questa è una domanda software su OSX e come suo risoluzione funziona. Voglio dire, quanto pensi di essere di aiuto facendo questi commenti? Certamente non si presenta come se steste semplicemente cercando di "migliorare la qualità delle domande".
ortonomy

Risposte:


1

Questo è già il valore predefinito in OS X. I.e. se si specifica un nome host nel file hosts, le ricerche utilizzeranno l'indirizzo IP specificato in tale posizione anziché effettuare una ricerca DNS.

Si noti che questo è vero solo per i programmi che utilizzano le funzioni del resolver standard del sistema. I programmi possono utilizzare il proprio meccanismo di risoluzione che non è garantito per onorare tutto ciò che scrivi nel file hosts. Tuttavia, tali programmi dovrebbero essere rari e distanti tra loro.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.