2016-06-21 37 views
5

Sto tentando di reindirizzare un indirizzo Web esistente a una macchina remota nella mia sottorete. Per fare questo, ho messo il seguente in/etc/hosts/etc/hosts ignorati in mac El Capitan (10.11.5)

192.168.1.249 holub.com

e svuotare la cache DNS con

sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder

Tuttavia, quando eseguo il ping di holub.com (il modo più affidabile che conosco per vedere come viene effettivamente risolto l'indirizzo), viene visualizzato e l'indirizzo web reale (204.13.10.74), non quello specificato in/etc/hosts (192.168.1.249). È interessante notare che l'utilità mysqladmin non risolve correttamente l'indirizzo, ma il browser Chrome risolve correttamente l'indirizzo. Immagino che Chrome abbia una sorta di soluzione alternativa interna.

In generale, sembra che/etc/hosts sia utilizzato dopo la ricerca DNS effettiva, non prima come dovrebbe essere, quindi un indirizzo esterno non è sovrascrivibile.

Ho provato a utilizzare vari equivalenti IPv6 al mio indirizzo locale (0: 0: 0: 0: 0: ffff: c0a8: 01f9 :: ffff: 192.168.1.249 :: 192.168.1.249), ma questo non lo fa t aiuto. Il riavvio (invece di svuotare la cache) non aiuta neanche.

Ho trovato una soluzione alternativa insoddisfacente. Se rendo invalido il reponder DNS con

sudo launchctl scaricare -w /System/Library/LaunchDaemons/com.apple.mDNSResponder.plist

poi/etc/hosts viene utilizzato, ma poi ho non può accedere a Internet.

Se qualcuno ha riscontrato questo problema, mi piacerebbe sapere se c'è una soluzione alternativa.

+2

Verificare che la voce aggiunta sia formattata correttamente: indirizzo IP seguito da uno spazio o una scheda, seguito dal nome, quindi un avanzamento riga alla fine della riga. Prova a stampare il file hosts con 'cat -vet/etc/hosts' per rendere visibili i personaggi normalmente invisibili. La linea dovrebbe apparire come "192.168.1.249^Iholub.com $" (il "^ I" è una scheda e "$" è il linefeed) o "192.168.1.249 holub.com $". Se vedi un "^ M" (ritorno a capo) appena prima del "$", hai il testo formattato DOS/Windows e devi rimuovere il ritorno a capo (i). –

+0

Gordon, grazie, ma è corretto. File ASCII semplice creato con VIM su un Mac (che è essenzialmente unix BSD), quindi niente strane cose di Windows :-). Il problema è più profondo. – aholub

+0

L'aggiunta di 'ordina host, bind' come prima riga nella guida'/etc/resolv.conf'? –

risposta

6

Mi sono imbattuto in questo mentre cercavo una risposta a un problema simile e volevo postare i miei risultati per chiunque altro nella stessa posizione.

In una squadra di tre, abbiamo rilevato che le modifiche al mio file/etc/hosts sembravano funzionare, mentre apparentemente non erano stati modificati gli altri file host degli altri due. Dopo ulteriori scavi, ci siamo resi conto che ero su OS X 10.10, mentre erano su versioni più recenti.

Abbiamo trovato, dopo aver provato circa un milione di cose, che aggiunte ai file hosts in 10.11 e fino a quanto pare non potevano avere più di uno spazio tra l'IP e il dominio, ad esempio:

non ha funzionato:

1.2.3.4  some.site.com 

ha funzionato:

1.2.3.4 some.site.com 

Dopo aver fatto questo cambiamento, abbiamo subito iniziato a vedere i risultati attesi senza la cache cancella, riavvia, o ot herwise.

So che nel tuo esempio stai mostrando solo uno spazio, ma nella remota possibilità che ora è come appariva nel tuo file attuale, volevo condividerlo comunque.

Problemi correlati