Il file HOSTS viene ignorato


23

La mia workstation (Windows XP, Professional, v2002, SP3) sta ignorando completamente il mio file hosts.

Ecco il codice nel mio file hosts:

127.0.0.1       localhost

172.17.1.107    wiki

Ma quando apro un browser e digito "wiki" nella barra dell'URL e premo "Invio", mi porta nella vecchia posizione del mio wiki come appariva nel mio vecchio file host:

10.0.36.100     wiki

Anche se ho rinominato il vecchio file hosts "hosts_full" e l'ho spostato sul mio desktop (quindi, completamente fuori dalla cartella etc).

Finora ho fatto i seguenti passi:

  1. Riavviato (3 volte)
  2. Eseguito ipconfig /flushdnsdalla riga di comando
  3. Funzionava ping wikidalla riga di comando, la risposta era

Reply from 10.0.36.100: bytes=32 time=1ms TTL=63

Ho cancellato ogni cache che mi viene in mente (IE, FF).

Ho un client firewall ISA che gira sul mio computer e ho provato tutto questo disabilitato e abilitato. In effetti, il firewall utilizza il vecchio file hosts per risolversi:

10.0.2.126      isa3

E in qualche modo funziona ancora bene anche se il nuovo file hosts non contiene quella linea.

Qualche idea??? Grazie in anticipo per l'aiuto!


cosa succede quando si crea una nuova voce per quell'ip, diciamo 172.17.1.107 wikitest?
shufler,

Risposte:


24

Qualche possibilità stai usando un server proxy per la navigazione? In tal caso, è possibile che il server proxy stia risolvendo il nome DNS per te.

Ecco perché si ottengono risultati diversi in una riga di comando con ping rispetto al browser.

Il traffico non casuale viene intercettato e modificato. Molto fuori possibilità ...


1
Sì, in realtà, ho scoperto che esiste un proxy aziendale che intercetta le mie richieste e le risponde. In qualche modo stava bypassando il mio file hosts. Se c'era una voce nel proxy aziendale, stava sovrascrivendo la voce del mio file host locale. Sebbene questa risposta non abbia detto "come" risolvere il problema, ha identificato la causa principale del problema (non è il firewall ...)
cmcculloh,

1
Quando ho avuto il problema è stata una soluzione semplice. Ho scelto di non utilizzare il proxy su quell'IP (in Impostazioni proxy in Firefox) Questa correzione potrebbe non essere applicabile al tuo problema (il firewall potrebbe bloccare HTTP in uscita senza proxy ecc.). Potrebbe anche essere una puttana implementata su più macchine, se non hai una gestione centralizzata dei profili Mozilla. Non posso rispondere per IE poiché non lo usiamo.
Artifex,

3
.. * cagna * roll out .. Lol
manas

1
Ci sono voluti solo 4 anni prima che qualcuno notasse @silent_warrior;)
artifex il

1
@artifex Grazie per la risposta e il commento, questo mi ha portato a rendermi conto che posso impostare eccezioni che hanno risolto il mio problema. Qualcuno ha visto interessati qui: stackoverflow.com/questions/37658876/...
haakym

9

Il firewall risponde ai ping?
Questa è una possibilità dall'indirizzo IP che hai fornito, ma cosa succede quando esegui il ping del nuovo IP direttamente, funziona?

Il motivo per cui chiedo, se 10.0.36.100 sembra essere un firewall che risponde al ping, risponderà da quello, anche se stavi eseguendo il ping di un IP diverso ....

File Hosts di grandi dimensioni?
Inoltre, questo ha portato me e un'altra persona IT una volta, c'erano un sacco di righe vuote nei file host della finestra e quindi voci molto in basso - non abbiamo notato la barra di scorrimento :-)

Il file hosts è davvero il file hosts?
Infine, cerca nel registro e assicurati che il file host sia dove pensi che sia, la seguente chiave specifica dove si trova il file host effettivo:

\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\DataBasePath

1
1: Risposta da 172.17.1.107: byte = 32 tempo <1 ms TTL = 63 2: No, rivisto l'intera barra di scorrimento del file host e tutti ... 3: DataBasePath, Type = "REG_EXPAND_SZ", Data = "% SystemRoot% \ System32 \ drivers \ etc "Quella parte% SystemRoot% mi ha incuriosito, quindi ho aperto le mie" Variabili d'ambiente "e ho cercato una variabile SystemRoot. Non ne ho visto uno, quindi ne ho creato uno e l'ho impostato su C: \ Windows, quindi ho eseguito un ipconfig / flushdns e ho eseguito il ping su www.wiki.com, ma ha comunque risposto da 70.35.23.23 anziché 172.17.1.107 (che è a cosa l'ho impostato nel mio file hosts). Grazie comunque! Buoni suggerimenti a tutti!
cmcculloh,

Buona cattura, il mio sistema si stava avviando dall'unità E: e non C: come previsto.
Manny,

5

Prova a svuotare la cache DNS con Start -> Esegui ...

 ipconfig /flushdns

Prova anche a disattivare NetBIOS e LMHOSTS per la tua scheda di rete. È possibile modificare le impostazioni nelle Proprietà TCP / IP della connessione di rete utilizzata, in Avanzate -> WINS.


Questa è la prima cosa che una persona proverebbe ...
vsync,

3

Secondo http://technet.microsoft.com/en-us/library/bb727005.aspx potrebbe trovarsi nella cache dei nomi NETBIOS locale. È possibile utilizzare nbtstat ( http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/nbtstat.mspx?mfr=true ) per interrogare / eliminare questa cache.


quando eseguo il comando "nbstat", ottengo "'nbstat' non viene riconosciuto come comando interno o esterno, programma
eseguibile

nbtstat, non nbstat - ti manca la prima "t" ... :)
Maximus Minimus

oops: P Ok, ho fatto un nbtstat -R e nbtstat -RR e nbtstat -r e poi nbtstat -c (e ha detto "nessun nome nella cache)
cmcculloh

e ancora non ha funzionato tra
cm

3

Si scopre che il mio DNS aziendale è stato colpito prima del mio file hosts. Così io:

  1. Proprietà TCP / IP aperte (Pannello di controllo> Connessioni di rete> Connessione alla rete locale> Proprietà> (scorrere verso il basso) Protocollo Internet (TCP / IP)> Proprietà.
  2. Fare clic su "Utilizza i seguenti indirizzi di server DNS:" (Invece di Ottieni automaticamente l'indirizzo del server DNS)
  3. inserito "172.0.0.1" e "172.0.0.2" (e fatto clic su OK)

Ora il mio file hosts funziona bene ... Dalla riga di comando. Tuttavia, se inserisco una voce per www.google.com che punta a 172.17.1.107, quando eseguo il ping dalla riga di comando, viene restituito dall'indirizzo IP specificato nel file hosts. Ma se l'ho colpito dal browser, mi mostra ancora Google invece del mio sito locale. Ma se inserisco una voce per "fredspc" che punta a 172.17.1.107 e la premo dal browser, mi porta a 172.17.1.107.

L'ho capito perché se avessi inserito "tedspc" nel mio file hosts (ovvero qualcosa che non si sarebbe mai risolto) e gli avessi dato un indirizzo IP e lo avrei eseguito il ping, sarebbe stato risolto in quell'indirizzo IP. Il problema era che www.wiki.com e qualsiasi altra cosa che stavo inserendo nel mio file hosts avesse una voce nel mio server DNS aziendale, che lo stava causando la risoluzione, il che significava che non guardava mai il mio file hosts (perché il server DNS aziendale viene guardato prima prima del file hosts). Quindi ho escluso il DNS aziendale dal ciclo del prompt dei comandi, ma non dal ciclo del browser credo ... Qualche idea?


1
Ciao. È bello sapere che hai una soluzione alternativa. Ma per quanto ne so il file hosts dovrebbe sempre essere usato per primo per effettuare ricerche DNS prima di ogni voce nell'elenco dei server DNS. È possibile disattivare completamente la ricerca nel file hosts con alcune opzioni dhcp? Forse è possibile aggiungere i server DNS aziendali come terza e quarta voce nell'elenco dei server DNS.
grub

Forse i tuoi browser web sono configurati con un server proxy?
Oskar Duveborn,

2

Ogni volta che utilizzo il file host per le mie voci DNS (che è sempre) disattivo (disabilito) il servizio DNS (services.msc) in esecuzione nativamente. Quindi esegui un ipconfig / flushdns se fallisce il riavvio di detto server / desktop e questo cancellerà la cache. Quali voci DNS non si trovano nel file host, il server / desktop ricorre alle impostazioni DNS predefinite dell'interfaccia di rete che sono state configurate. Ciò consente anche di testare diversi firewall e simili.


2

Mi sono appena imbattuto cambiando C: \ windows \ system32 \ drivers \ etc \ hosts quando % SystemRoot% è stato definito come C: \ WINNT anziché C: \ windows ... Non so perché questo particolare server avesse un intero installazione di Windows in C: \ windows e C: \ winnt ma almeno non mi sento più pazzo.

Mi sento un po 'stupido, ma è solo un altro rapido controllo per le altre persone che incontrano questo problema!


2

Sei sicuro di modificare il file degli host di DESTRA? Di solito si trova in

%SystemRoot%\system32\drivers\etc\hosts


2

Dopo aver provato molte diverse soluzioni suggerite, ho verificato la sicurezza nella cartella "etc" e ho confrontato le sue autorizzazioni con quelle della cartella "es-ES" e ho scoperto che il gruppo Users non aveva i diritti di lettura ed esecuzione come hanno fatto sul altro. Dopo aver assunto (di nuovo) la proprietà della cartella "etc", ho concesso le autorizzazioni di lettura ed esecuzione al gruppo Users e le ho ereditate dal contenuto della cartella. Ciò ha risolto il problema per me, qualunque parte del sistema richieda evidentemente che il file hosts sia soggetto alle restrizioni del gruppo di utenti. Devo aver rimosso per sbaglio le autorizzazioni del gruppo a un certo punto quando provavo a modificare il file hosts.


Questo mi ha risolto. Ho appena aggiunto il gruppo Users direttamente al file hosts, scaricato la cache e il file hosts è stato immediatamente rispettato di nuovo.
user51928,

2

Eliminare il file originale su Windows e sostituirlo con uno nuovo è importante!

So che alla domanda è stata data una risposta, ma è chiaro che ci sono molte ragioni diverse e possibili soluzioni. Quello che ha fatto il trucco per me era eliminare il file, piuttosto che sovrascriverlo.

So anche che @olefebvre ha già pubblicato qualcosa di simile, ma non l'ho riconosciuto con le sue abbreviazioni e non è (solo) correlato a caratteri strani, è portare Windows a riconoscere il file.


Grazie, questo mi ha fatto risparmiare un sacco di tempo e frustrazione.
Andy Lester,

2

prova a utilizzare gli spazi anziché le schede.

Come qui:

127.0.0.1 localhost
172.17.1.107 wiki

1

Potresti controllare la tua autorizzazione sul file host? Provare a utilizzare un nome di dominio completo per la voce "wiki" del file host.


Quali dovrebbero essere le autorizzazioni (al momento il file non è di sola lettura e tutte le autorizzazioni sono impostate per consentire a tutti gli utenti)? Ho provato a impostare su www.wiki.com e ancora non ha funzionato. (Ho cambiato la riga in 172.17.1.107 www.wiki.com) Quindi ho aperto il mio prompt dei comandi e ho provato a eseguire il ping su www.wiki.com e ha restituito "Pinging www.wiki.com [70.35.23.23] con 32 byte di dati "ma poi ha detto" Richiesta scaduta "tre volte. Quindi tutto ciò che ho provato a eseguire il ping restituito Richiesta scaduta. Sono nel mezzo di un'installazione BIND ora per provare a risolvere questo problema, non so se ciò influirebbe sui ping ...
cmcculloh

E ora ho installato BIND in modo errato o anche il mio computer lo ignora, perché non funziona neanche ...
cmcculloh

Prova a eliminare il file e creane uno nuovo, senza copiare / incollare. Forse alcuni texteditor hanno inserito caratteri dispari (UTF8).
olefebvre,

1

hai controllato host e lmhosts.sam?


Sì, tutto in lmhosts.sam è commentato e ci sono solo le due righe che ho specificato nella domanda originale nel mio file hosts ...
cmcculloh
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.