Come posso aggiungere un server DNS personalizzato e preservare il DNS predefinito dell'ISP in OS X Mountain Lion


9

Sto usando OS X Mountain Lion. Sto usando dnsmasqper impostare i nomi di dominio localhost con caratteri jolly, come http://local.dev , per puntare a localhost. Ma devo aggiungere 127.0.0.1 nelle mie preferenze di sistema -> impostazioni di rete.

Dopo aver impostato 127.0.0.1 come server DNS, i server DNS predefiniti dell'ISP sono stati scritti dai miei. Questo mi impediva di accedere ai siti Web. Non è un grosso problema quando non sposto il mio computer, potrei inserire manualmente il server DNS dell'ISP. Ma se cambio luogo, il DNS dell'ISP cambia.

Ho anche provato a utilizzare il server DNS di Google, ma in alcuni casi non funziona. Come posso prenotare (o aggiornare) il server DNS dell'ISP senza eliminare 127.0.0.1 come DNS.

Grazie in anticipo.

Risposte:


11

Sì. Puoi farlo, /etc/resolverè tuo amico.

$ man 5 resolver:

dominio
Nome di dominio associato a questa configurazione del resolver. Questa opzione non è normalmente richiesta dal sistema di ricerca DNS di Mac OS X quando la configurazione del resolver viene letta da un file nella directory / etc / resolver. In tal caso, il nome del file viene utilizzato come nome di dominio.

In poche parole è possibile inserire nameserver 127.0.0.1all'interno di un file creato chiamato/etc/resolver/dev

Dovrai ricaricare / riavviare. Quindi indirizzerà qualsiasi richiesta *.deval tuo nameserver locale.

Il DNS della tua connessione di rete rimane in automatico, quindi sarà in grado di far fronte a qualsiasi cambiamento nel tuo ambiente.

Modifica: ho appena trovato https://serverfault.com/a/164215/163311 e http://www.echoditto.com/blog/never-touch-your-local-etchosts-file-os-x-again che hanno qualche dettaglio in più e includono dnsmasqi dettagli di installazione.


Il secondo articolo è ora disponibile all'indirizzo alanthing.com/blog/2012/04/24/…
ebelisle

0

C'è un motivo specifico per l'utilizzo dnsmasq?

Potresti semplicemente aggiungere voci al tuo /private/etc/hostsfile lasciando DNS indirizzato a qualsiasi ISP a cui ti capiti di essere connesso. Ecco come farlo usando Terminal:

sudo nano /private/etc/hosts Immettere la password quando richiesto.

Aggiungi eventuali aggiunte alla fine del file hosts (una singola voce per riga), ad esempio:

127.0.0.1 local.dev

Control + O e poi Invio per salvare il file in nano. Control + X per uscire da nano.

Dovrai quindi svuotare la cache DNS locale usando: dscacheutil -flushcache


2
Utilizzare il file hosts può essere una soluzione semplice, ma devo impostare domini jolly come * .dev per puntare a localhost.
Daiwei
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.