La modifica di / etc / hosts non funziona correttamente. Cosa fare?


10

Ho aggiunto queste righe al file hosts:

127.0.0.1 localhost adobe.com
127.0.0.1 adobe.com

Funziona perfettamente su Windows. Ma in Ubuntu 11.10 quando provo ad accedervi usando Firefox il sito Web si sta aprendo.

Google Chrome anche se supporta la configurazione / etc / hosts. Google Chrome sta visualizzando:

"Funziona! Questa è la pagina Web predefinita per questo server. Il software del server Web è in esecuzione ma non è stato ancora aggiunto alcun contenuto."

Risposte:


10

Posso confermare il tuo problema che sembra influenzare, tra Chrome e Firefox, solo Firefox. Questa è una risposta per gli utenti che sono interessati dallo stesso problema e se sono interessati da entrambi / tutti i browser. Seguire questi passaggi per farlo funzionare correttamente. Supponendo che tu abbia già modificato il /etc/hostsfile in cui ti consiglio i seguenti 2 modi per modificare il file:

  • Gedit - gksudo gedit /etc/hosts(Ora hai un modo intuitivo per la GUI di modificare il file. Gksu che fornisce gksudo è interrotto nei repository ufficiali 18.04 e successivi.)
  • nano - sudo nano /etc/hosts(Ora hai un modo intuitivo per modificare il file.)

E hai ad esempio:

127.0.0.1 localhost adobe.com

o

127.0.0.1 localhost
127.0.0.1 adobe.com

(Entrambi sono la stessa cosa.)

Prima prova questo per vedere se funziona correttamente dal terminale. Digita ping adobe.come dovrebbe rispondere dall'IP assegnato ad esso. In questo caso dovrebbe rispondere con 127.0.0.1. Ciò significa che va bene.

Quindi continuiamo con i test del browser. Hai testato Chrome e ha funzionato. Hai cambiato /etc/hoststra avere e non avere la voce per adobe.com e ha funzionato ogni volta che l'hai modificata. Ma poi sei andato con Firefox, potrebbe aver funzionato la prima volta, ma dopo aver cambiato il hostsfile avanti e indietro in qualche modo smette di funzionare. Ciò significa che si tratta di un problema di cache o di risoluzione del nome corretto.

Nel caso di Firefox e della risoluzione del nome, Firefox aggiunge il prefisso www al sito Web di Adobe in modo che assomigli a questo "www.adobe.com" ma su Chrome assomigli a questo "adobe.com". Entrambi indicano lo stesso posto e il prefisso www è proprio lì per dirti che il luogo che stai visitando è un servizio web. Ma in caso di problemi dovresti aggiungerlo al hostsfile, quindi quando Firefox aggiunge il prefisso www funziona. Quindi sarebbe simile a questo:

127.0.0.1 localhost
127.0.0.1 adobe.com www.adobe.com

O lo stesso

127.0.0.1 localhost adobe.com www.adobe.com

NOTA: Ricorda che DEVI premere F5per aggiornare il sito / la scheda Firefox o chiudere la scheda e aprirla di nuovo per testare. In qualche modo premendo Entercome un matto non lo farà.

Questo dovrebbe risolvere il problema per alcuni utenti, ma supponendo che fino ad ora non hai ancora risolto il problema, possiamo testare cosa potrebbe essere.

Siamo arrivati ​​qui a un paio di livelli di cache per verificare. Hai il tuo programma Cache, in questo caso Firefox, poi hai la System Cache, in questo caso Ubuntu, e poi hai la tua cache hardware, in questo caso il tuo router.

Per quello che ne so, la versione desktop di Ubuntu non ha un servizio cache DNS installato per impostazione predefinita. Il più comunemente noto è nscd e se lo avessi installato un semplice /etc/init.d/nscd restartlo farà. Ma per la maggior parte delle persone non avranno installato questo, quindi possiamo annullare l'errore del sistema Ubuntu.

Questo lascia il router e il browser web. Nel caso del router, è necessario configurarlo per arrestare la cache DNS o riconfigurarlo per risolvere questo problema. Questo dipende totalmente dal modello di router, dal produttore, ecc. Non tutti i router eseguono la cache DNS, ma alcuni lo fanno e dovresti vedere nella sua configurazione, se ha questa opzione e se l'opzione è abilitata. Ma supponiamo che tu non abbia un router abilitato per la memorizzazione nella cache DNS.

Questo lascia il browser.

Per scoprire se Firefox non funziona correttamente con la cache DNS, è possibile installare un componente aggiuntivo per controllare la cache DNS in Firefox. quello che consiglio è DNS Cache .

inserisci qui la descrizione dell'immagine

Dopo aver riavviato Firefox, dovresti vedere un ingranaggio in basso (simile al dente di Ubuntu nell'angolo in alto a destra). È possibile fare clic con il tasto sinistro o destro sul Cog e si dovrebbero vedere opzioni come Abilita / Disabilita DNS e Svuotalo. Questo aiuterà nel caso in cui il problema sia la cache DNS di Firefox. Giocaci.

Penso di avere tutti i modi in cui potresti risolverlo. Se ho perso qualcosa, fammi sapere.


Se Firefox non rispetta il hostsfile del computer locale (vale a dire, se il problema persiste anche dopo l' wwwaggiunta del dominio con il sottodominio e anche dopo l'aggiornamento della pagina), si consiglia di segnalarlo come un bug. (Io non sono sicuro di quello che sarebbe stato un bug in , dal momento che Firefox utilizza presumibilmente strutture di risoluzione DNS del sistema operativo, che fanno , o si suppone che, rispettarla. Ma si potrebbe riferire contro firefoxin Ubuntu e poi ulteriormente la risoluzione dei problemi potrebbe probabilmente riesaminarlo da lì.)
Eliah Kagan

@EliahKagan Dipende anche da dove e come sia l'hosting / dominio. Alcuni siti offrono la possibilità di abilitare l'utilizzo del sottodominio www e alcuni non lo hanno preconfigurato, quindi quando si tenta di accedere a www.eliah.com non funziona, ma eliah.com lo fa.
Luis Alvarado,

Sì, naturalmente. Non sto dicendo che www.foo.netdovrebbe funzionare solo perché foo.netfunziona. Piuttosto, se foo.nete www.foo.netsono entrambi definiti 127.0.0.1in /etc/hosts, digitando foo.netla barra degli indirizzi di un browser Web e premendo invio, il browser dovrebbe tentare di aprire una connessione 127.0.0.1:80. In caso contrario, c'è un bug da qualche parte.
Eliah Kagan,

@EliahKagan - Ah! si si certo. In tal caso, se non funziona, il computer è posseduto da un demone. Avremmo bisogno di un esorcista e di molta acqua santa o di una migliore diagnosi del problema.
Luis Alvarado,

L'esorcista + acqua santa e una migliore diagnosi sembrano il corso più prudente. :)
Eliah Kagan,

7

So che questo thread ha un anno, ma mi sono imbattuto in esso cercando le risposte allo stesso problema. Finalmente ho trovato una soluzione! Si scopre che il /etc/hostsfile viene completamente ignorato dal DNS. Per cambiarlo, devi modificare /etc/nsswitch.confe includere filessotto hosts. Esempio sotto:

passwd:         compat
group:          compat
shadow:         compat

hosts:          dns files myhostname <-- this line here.
networks:       files

protocols:      db files
services:       db files
ethers:         db files
rpc:            db files

netgroup:       nis

Ciò assicurerà che il /etc/hostsfile sia incluso nel controllo della risoluzione dei nomi. Controllerà prima DNS e quindi il hostsfile. Sono sicuro che OP non ha più bisogno di queste informazioni, ma è comunque utile per chiunque cerchi risposte a questo problema.

È inoltre necessario riavviare affinché ciò abbia effetto


Ho "files mdns4_minimal [NOTFOUND = return] dns mdns4" lì dentro su Ubuntu 12.04 ma / etc / hosts continua a non funzionare ... sembra che stia affrontando un problema diverso.
Shnatsel,

Riesci a incollare il codice completo?
Sam Chonburi,

Ecco il file di configurazione completo: pastebin.com/hDBGrrwn Suppongo che questo sia il valore predefinito su Ubuntu 12.04
Shnatsel,

Sembra tutto a posto. Che cosa stai cercando di fare?
Sam Chonburi,

Non ho capito: cosa devo aggiungere in questa riga? /etc/hosts? hosts? O cosa?
Hi-Angel,

2

Credo che etc/hostssia utilizzato a livello di amante nello stack del software di rete rispetto al browser stesso. Vale a dire le modifiche in quel file dovrebbero interessare qualsiasi browser.

Quello che stai vedendo potrebbe essere il risultato della memorizzazione nella cache delle voci DNS di Firefox - ovvero hai aperto il sito Web in Firefox, Firefox ricorda l'indirizzo IP corrispondente al dominio adobe.com, hai modificato /etc/hostse ricaricato la pagina - Firefox non emette una nuova query DNS e utilizza invece i dati memorizzati nella cache. Quindi apri Chrome, crea una nuova query DNS e utilizza tutto ciò che hai inserito /etc/hostscome indirizzo IP per adobe.com

Il riavvio di Firefox dovrebbe risolvere il problema.


2

Tutte le risposte sono fantastiche, ma il modo più breve per risolverlo è:

dopo aver modificato / etc / hosts (e possibilmente riavviato Firefox), ricaricare la scheda problematica con Ctrl+Shift+R. Eviterà qualsiasi tipo di cache che Firefox potrebbe avere.


1

Il mio problema era che avevo più voci per lo stesso nome di dominio. Il sistema ha visto solo la prima occorrenza.

127.0.0.1 domain1.com domain2.com domain3.com # <-- WENT UNNOTICED
# .
# .
192.168.1.21 domain1.com # <-- DOESN'T WORK

0

Potresti provare:

  1. Modifica il file / etc / hosts.
  2. Aggiungi le righe successive

     # /etc/hosts
     127.0.0.1  localhost
     127.0.1.1  myhost01
     127.0.1.2  myhost02
    

0

in Ubuntu 14.04 cambiando il file / etc / hosts per avere un solo host per linea funzionato per me, ho lottato per ore lavorando con un host host host IP, che ho cambiato in host IP su ogni linea e ha funzionato>. <


0

Ho avuto lo stesso problema su varie versioni di Ubuntu. L'ultimo ha sollevato la sua brutta testa il 17.04 e il 16.04. Ho scoperto che dovevo formattare il file hosts in questo modo:

127.0.0.1 localhost

127.0.0.1 www.facebook.com facebook.com

cioè devi inserire l'URL sia sul www che poi di nuovo senza. Non ho idea del perché funzioni. Basta salvare il file e quindi eseguire il ping dell'URL come in:

ping www.facebook.com

e dovrebbe risolversi all'indirizzo di loopback o qualsiasi altro indirizzo che desideri.eg:

80.82.xxx.xxx www.esempio.com esempio.com

Ha funzionato per me.

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.